Аппарат Nikon D90 приобрел еще в марте’11 (а к нему и фикс 35mm), за полгода всего три тысячи нащелкал. И вот на выходных выбрались с девушками пофотографироваться. Но какой же Ъ-фотограф обходится без постобработки фоточек в редакторе? Под катом скрипт пакетной обработки, простой и автоматический одновременно.
Итак, набросал простой скрипт, чтобы пакетно обработать получившиеся фотокарточки. Скрипт автоматически подправляет контраст и добавляет резкости. Чтобы скрипт работал, понадобятся Linux и Gimp 2.6 + Python-Fu (может, под другой всем-известной-платформой будет работать, не пробовал).
Итак, набросал простой скрипт, чтобы пакетно обработать получившиеся фотокарточки. Скрипт автоматически подправляет контраст и добавляет резкости. Чтобы скрипт работал, понадобятся Linux и Gimp 2.6 + Python-Fu (может, под другой всем-известной-платформой будет работать, не пробовал).
# coding=utf8 from os import walk from gimpfu import pdb def get_images(target_dir): ''' Возвращает список картинок для обработки. ''' all_files = walk(target_dir).next()[2] images = filter(lambda file: file.endswith('JPG'), all_files) images.sort() return images def convert_images(target_dir, output_dir, images): ''' Обрабатывает картинки. ''' count = len(images) for i, image_name in zip(range(count), images): print 'Converting %s (%s/%s)'%(image_name, i + 1, count) image = pdb.file_jpeg_load('%s/%s'%(target_dir, image_name), image_name) layer = image.layers[0] # Чтобы попробовать исправить безнадежно испорченный баланс белого: # pdb.gimp_levels_stretch(layer) # Нерезкая маска - как по мне, так ниочинь: # pdb.plug_in_unsharp_mask(image, layer, 5, 0.5, 0) pdb.plug_in_c_astretch(image, layer) pdb.plug_in_sharpen(image, layer, 50) # Можно пережать картинки: # pdb.file_jpeg_save(image, image.layers[0], '%s/%s'%(OUTPUT_DIR, image_name), image_name, 0.95, 0, 1, 0, '', 0, 0, 0, 0) pdb.gimp_file_save(image, layer, '%s/%s'%(output_dir, image_name), image_name) pdb.gimp_image_delete(image) target_dir = '/path/to/photo/dir/' print 'Converting images from %s'%target_dir images = get_images(target_dir) output_dir = '%s/converted/'%target_dir convert_images(target_dir, output_dir, images)
И картиночки: