C'est assez facile à faire si vous pouvez écrire en Python. Voici un bon article sur l'utilisation d'un package de vision par ordinateur open-source pour détecter le flou d'image global:
https://www.pyimagesearch.com/2015/09/07/blur-detection-with-opencv/
Voici un script rapide qui triera les images dans des répertoires flous / 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))
Votre problème le plus délicat sera d'installer python et opencv dans votre système. Google python3 pour votre système d'exploitation et comment installer pip avec, vous pouvez utiliser pip3 pour installer opencv. Ou, il existe également des installations de pré-construction python + opencv. Vous n'avez pas besoin de la dernière version d'opencv pour exécuter ce script.
Le script fonctionne très bien et il mesure le flou global de l'image. C'est bon pour la plupart des photos. Cependant, la mesure globale de l'image signifie que ces photographies d'arrière-plan remplies d'une face et d'un bokeh seront placées dans le répertoire flou, et vous devrez les trier. Quoi qu'il en soit, vous devriez parcourir les images floues pour vous assurer qu'il n'y a pas de gardes égarés là-dedans.
J'espère que ce script accélère votre flux de travail.
Une nette amélioration de ce script consiste à inclure la détection des visages, à calculer le flou sur les plus grands visages de la photo et à utiliser ces valeurs pour le seuil de flou, par défaut le flou général si aucun visage n'est détecté. Je vous laisse cette amélioration!