Jest to dość łatwe, jeśli możesz pisać w języku Python. Oto dobry artykuł na temat korzystania z pakietu wizji komputerowej typu open source do wykrywania ogólnego rozmazania obrazu:
https://www.pyimagesearch.com/2015/09/07/blur-detection-with-opencv/
Oto krótki skrypt, który posortuje zdjęcia w niewyraźne / ok katalogi:
#
# 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))
Twoim najtrudniejszym problemem będzie instalacja Pythona i OpenCV w systemie. Google python3 dla twojego systemu operacyjnego i jak zainstalować pip z nim, możesz użyć pip3, aby zainstalować opencv. Lub są też pewne instalacje przedkompilacyjne Pythona i OpenCV. Nie potrzebujesz najnowszej wersji opencv, aby uruchomić ten skrypt.
Skrypt działa świetnie i mierzy ogólne rozmycie obrazu. Jest to dobre dla większości zdjęć. Jednak ogólny pomiar obrazu oznacza, że zdjęcia wypełnione jedną twarzą i bokeh będą umieszczone w rozmytym katalogu i będziesz musiał je uporządkować z powrotem. W każdym razie powinieneś przejrzeć zamazane zdjęcia, aby upewnić się, że nie ma tam źle umieszczonych opiekunów.
Mam nadzieję, że ten skrypt przyspieszy przepływ pracy.
Doskonałym ulepszeniem tego skryptu jest włączenie wykrywania twarzy i obliczenie rozmycia na największych twarzach na zdjęciu oraz użycie tych wartości dla progu rozmycia, domyślnie przyjmując ogólne rozmycie, jeśli nie zostaną wykryte twarze. To ulepszenie pozostawię tobie!