Недавно я был в отпуске и сделал около 1000 фотографий. Как обычно, есть хорошие, плохие, размытые и т.
Чтобы ускорить постобработку, мне было интересно, есть ли какое-либо программное обеспечение, которое может «предварительно просмотреть» пакет фотографий и определить фотографии, которые являются переэкспонированными, недоэкспонированными, размытыми и другими характеристиками, которые могут идентифицировать потенциально менее желательные фотографии. Идея состоит в том, что предварительная проверка должна быстро сортировать эти группы, чтобы найти хорошие, и удалить остальные. Тогда я смогу больше времени уделять тому, что действительно важно.
Я понимаю, что каждая фотография уникальна, и есть отличные фотографии, которые нарушают все эмпирические правила, но я подумал, что это может быть быстрый способ ускорить мой рабочий процесс.
Я использую Lightroom для сортировки фотографий. В модуле «Библиотека» я устанавливаю фильтр «Помечено» и «Не помечено», а затем заставляю фотографию заполнять экран. Затем я просто начинаю нажимать клавишу со стрелкой вправо или клавишу «x». «X» помечает фотографию как «отклоненную» и делает ее невидимой. Легко быстро просмотреть 1000 фотографий. Когда я просматриваю все фотографии, я просто выбираю «Удалить отклоненные фотографии», и все готово.
Это довольно легко сделать, если вы умеете писать на Python. Вот хорошая статья об использовании пакета компьютерного зрения с открытым исходным кодом для обнаружения общей размытости изображения:
https://www.pyimagesearch.com/2015/09/07/blur-detection-with-opencv/
Вот быстрый скрипт, который будет сортировать изображения по каталогам blurred/ok:
#
# Sorts pictures in current directory into two subdirs, blurred and ok
#
import os
import shutil
import cv2
FOCUS_THRESHOLD = 80
BLURRED_DIR = 'blurred'
OK_DIR = 'ok'
blur_count = 0
files = [f for f in os.listdir('.') if f.endswith('.jpg')]
try:
os.makedirs(BLURRED_DIR)
os.makedirs(OK_DIR)
except:
pass
for infile in files:
print('Processing file %s ...' % (infile))
cv_image = cv2.imread(infile)
# Covert to grayscale
gray = cv2.cvtColor(cv_image, cv2.COLOR_BGR2GRAY)
# Compute the Laplacian of the image and then the focus
# measure is simply the variance of the Laplacian
variance_of_laplacian = cv2.Laplacian(gray, cv2.CV_64F).var()
# If below threshold, it's blurry
if variance_of_laplacian < FOCUS_THRESHOLD:
shutil.move(infile, BLURRED_DIR)
blur_count += 1
else:
shutil.move(infile, OK_DIR)
print('Done. Processed %d files into %d blurred, and %d ok.' % (len(files), blur_count, len(files)-blur_count))
Ваша самая сложная проблема будет заключаться в установке python и opencv в вашу систему. Google python3 для вашей ОС и как установить pip с ним, вы можете использовать pip3 для установки opencv. Или есть некоторые предварительные установки python + opencv. Вам не нужна новейшая версия opencv, чтобы запустить этот скрипт.
Скрипт отлично работает и измеряет общую размытость изображения. Это хорошо для большинства изображений. Тем не менее, общее измерение изображения означает, что эти фотографии с одним лицом и заполненным фоном с боке будут помещены в каталог размытия, и вам придется отсортировать их обратно. В любом случае, вы должны просмотреть размытые изображения, чтобы убедиться, что там нет неуместных хранителей.
Надеюсь, этот скрипт ускорит ваш рабочий процесс.
Аккуратное улучшение этого сценария состоит в том, чтобы включить распознавание лиц и вычислить размытость на самых больших лицах на фотографии, а также использовать эти значения для порога размытости, по умолчанию применяя общую размытость, если лица не обнаружены. Я оставлю это улучшение на ваше усмотрение!
В Photoshop Elements есть функция автоанализа, которая делает некоторые из этих вещей — она пытается определить, размыты ли фотографии, есть ли на них лица и т. д. Я бы не сказал, что это блестяще. Например, вам могут понадобиться компоненты, находящиеся не в фокусе на вашей фотографии, и автоматический алгоритм все равно пометит их как размытые.
Я не думаю, что 1000 фотографий — это на самом деле так много, чтобы вручную обрабатывать их в рабочем процессе, используя что-то вроде Lightroom. Начните с первоначального сканирования, пометив как отклоненные те, которые явно непригодны для использования, а затем уточните, используя рейтинги, цветную окраску и теги по своему усмотрению.
На самом деле я искал что-то, что помогло бы мне хотя бы начать процесс отсеивания вещей (тысячи изображений в скобках).
Я сделал простой инструмент для сканирования каталога изображений и перемещения переэкспонированных/недоэкспонированных изображений в другую папку. Он не идеален и ни в коем случае не допускает художественной свободы, которую дает фотография (но это помогает мне сэкономить время). Технически он получает среднее значение пикселя каждого изображения (от 0 до 1,0), а затем вы можете сохранить или отклонить его на основе пороговых значений, которые можно установить. Ознакомьтесь с проектом AutoExposureChecker и документами на github для получения дополнительной информации.
С помощью этого инструмента я могу затем дважды проверить, можно ли удалить все изображения (удалив те, которые действительно нужны) и стереть все остальное за один первый проход, что сэкономит мне массу времени.
В любом случае, подумал, что поделюсь и удачной стрельбы!
Я не знаю приложений, которые могут автоматически отображать для вас потенциально дефектные изображения, но я бы не стал их использовать, по крайней мере, не вслепую.
Технические достоинства — это лишь часть фотографии. Некоторые из наиболее значимых изображений оказываются технически несовершенными. Во многих случаях предпочтительнее более технически совершенного, который, например, имеет более бедный состав или меньше того, что Картье-Брессон назвал «решающим моментом».
Также некоторые недочеты могут быть исправлены или улучшены при редактировании. Хотя фокус и размытие практически невозможно исправить (хотя это может измениться в будущем ), они могут добавить интересный или приемлемый эффект. Экспозиция, например, является одним из них. Слегка переэкспонированное или недоэкспонированное изображение (особенно если оно снято в формате RAW) не следует предпочитать «идеально» экспонированному изображению только по одному этому свойству, потому что это можно легко исправить.
Например, этот снимок был сделан в единственном экземпляре и получился переэкспонированным почти на 3EV из-за неправильных настроек камеры. Тем не менее, благодаря свободе действий, предоставляемой файлами RAW, их можно было восстановить, в то время как автоматизированный процесс отбросил бы их.
Итак, я отвечаю перед своим, говоря, что эффективно поддерживаемый рабочий процесс лучше, чем автоматизированный процесс. Тысячи изображений легко обрабатываются в Lightroom в течение часа или двух.
Проверьте фотолабораторию DXO. Он может автоматически исправлять фотографии на основе профилей камеры и объектива. Вы можете быстро оценить фотографии, просматривая их и экспортируя только те фотографии, которые вы оценили.
Agisoft Metashape умеет оценивать качество изображения. Это описано в руководстве на странице 14 :
Плохой ввод, например, нечеткие фотографии, может плохо повлиять на результаты выравнивания. Чтобы помочь вам исключить плохо сфокусированные изображения из обработки, Metashape предлагает функцию автоматической оценки качества изображения. Изображения с показателем качества менее 0,5 единиц рекомендуется отключать и тем самым исключать из фотограмметрической обработки, при условии, что остальные фотографии охватывают всю реконструируемую сцену. Чтобы отключить фотографию, используйте кнопку «Отключить» на панели инструментов панели «Фотографии».
Metashape оценивает качество изображения для каждого входного изображения. Значение параметра рассчитывается исходя из уровня резкости наиболее сфокусированной части изображения.
Передержка, недодержка, размытость — все это приводит к потере информации, что позволяет сжатию JPEG более эффективно уменьшать файлы.
Таким образом, в качестве очень грубой меры вы можете отсортировать файлы JPEG по возрастанию размера файла и начать процесс отбраковки с наименьшего размера. Здесь соотношение файлов, которые вы не заинтересованы в сохранении, должно быть значительно выше, чем для тех файлов, которые имеют больший размер файла, при аналогичных условиях съемки изображений.
Однако файлы, снятые с более высокими значениями ISO, будут иметь тенденцию быть более шумными, а шум плохо сжимается. Однако вполне вероятно, что алгоритмы шумоподавления вашей камеры отбрасывают достаточно информации, чтобы снова сделать эти файлы более сжимаемыми. Может быть, есть смысл смотреть на разные значения ISO по отдельности, но это зависит от алгоритмов вашей камеры, будет ли такая предварительная сортировка иметь большое значение.
дполлитт
матдм
Итай
РайанКДалтон
Эй Джей Финч
Джеймс Янгман
матдм
Аляска Человек
РайанКДалтон