Esto es bastante fácil de hacer si puedes escribir en Python. Aquí hay un buen artículo sobre el uso de un paquete de visión por computadora de código abierto para detectar imágenes borrosas en general:
https://www.pyimagesearch.com/2015/09/07/blur-detection-with-opencv/
Aquí hay un script rápido que clasificará las imágenes en directorios borrosos / 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))
Su problema más complicado será instalar Python y OpenCV en su sistema. Google python3 para su sistema operativo, y cómo instalar pip con él, puede usar pip3 para instalar opencv. O bien, también hay algunas instalaciones precompiladas de python + opencv. No necesita la versión más reciente de opencv para ejecutar este script.
El guión funciona muy bien y mide la imagen borrosa en general. Esto es bueno para la mayoría de las imágenes. Sin embargo, la medición general de la imagen significa que esas fotografías de fondo con una cara y bokeh se colocarán en el directorio borroso, y tendrá que ordenarlas de nuevo. De todos modos, debes revisar las imágenes borrosas para asegurarte de que no haya guardianes extraviados allí.
Espero que este script acelere su flujo de trabajo.
Una mejora clara de este script es incluir la detección de rostros y calcular el desenfoque en las caras más grandes de la fotografía, y usar esos valores para el umbral de desenfoque, por defecto al desenfoque general si no se detectan rostros. ¡Te dejaré esa mejora a ti!