Python'da yazabilirseniz bunu yapmak oldukça kolaydır. Genel resim bulanıklığını tespit etmek için açık kaynaklı bir bilgisayar görme paketi kullanma hakkında iyi bir makale:
https://www.pyimagesearch.com/2015/09/07/blur-detection-with-opencv/
İşte resimleri bulanık / tamam dizinlere ayıracak hızlı bir komut dosyası:
#
# 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))
En zor sorununuz sisteminize python ve opencv yüklemek olacaktır. İşletim sisteminiz için Google python3 ve onunla pip nasıl yüklenirse, opencv yüklemek için pip3'ü kullanabilirsiniz. Veya bazı python + opencv pre-build yüklemeleri de vardır. Bu komut dosyasının çalışmasını sağlamak için opencv'in en yeni sürümüne ihtiyacınız yoktur.
Senaryo harika çalışıyor ve genel resim bulanıklığını ölçer. Bu çoğu resim için iyidir. Bununla birlikte, genel resim ölçümü, tek yüzlü ve bokeh dolu arka plan fotoğraflarının bulanık dizine yerleştirileceği anlamına gelir ve bunları geri sıralamanız gerekir. Her neyse, içinde yanlış yerleştirilmiş bekçi olmadığından emin olmak için bulanık resimlerden geçmelisiniz.
Umarım bu komut dosyası iş akışınızı hızlandırır.
Bu komut dosyasına yapılan düzgün bir iyileştirme, yüz algılamayı dahil etmek ve fotoğraftaki en büyük yüzlerdeki bulanıklığı hesaplamak ve bu değerleri bulanıklık eşiği için, yüz algılanmazsa genel bulanıklığı varsayılan olarak kullanmaktır. Bu gelişmeyi size bırakacağım!