mirror of
https://github.com/iperov/DeepFaceLab.git
synced 2025-08-22 14:24:40 -07:00
Update Sorter.py
BlurEstimatorSubprocessor now uses the full aligned image for sharpness estimation instead of the masked image estimate_sharpness now calculates the variance of the laplacian operator. see here: https://www.pyimagesearch.com/2015/09/07/blur-detection-with-opencv/
This commit is contained in:
parent
589328ecb8
commit
3485c49e95
1 changed files with 2 additions and 14 deletions
|
@ -22,16 +22,7 @@ def estimate_sharpness(image):
|
||||||
if image.ndim == 3:
|
if image.ndim == 3:
|
||||||
image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
|
image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
|
||||||
|
|
||||||
sharpness = 0
|
return cv2.Laplacian(image, cv2.CV_64F).var()
|
||||||
for y in range(height):
|
|
||||||
for x in range(width-1):
|
|
||||||
sharpness += abs( int(image[y, x]) - int(image[y, x+1]) )
|
|
||||||
|
|
||||||
for x in range(width):
|
|
||||||
for y in range(height-1):
|
|
||||||
sharpness += abs( int(image[y, x]) - int(image[y+1, x]) )
|
|
||||||
|
|
||||||
return sharpness
|
|
||||||
|
|
||||||
|
|
||||||
class BlurEstimatorSubprocessor(Subprocessor):
|
class BlurEstimatorSubprocessor(Subprocessor):
|
||||||
|
@ -54,9 +45,6 @@ class BlurEstimatorSubprocessor(Subprocessor):
|
||||||
|
|
||||||
if dflimg is not None:
|
if dflimg is not None:
|
||||||
image = cv2_imread( str(filepath) )
|
image = cv2_imread( str(filepath) )
|
||||||
image = ( image * \
|
|
||||||
LandmarksProcessor.get_image_hull_mask (image.shape, dflimg.get_landmarks()) \
|
|
||||||
).astype(np.uint8)
|
|
||||||
return [ str(filepath), estimate_sharpness( image ) ]
|
return [ str(filepath), estimate_sharpness( image ) ]
|
||||||
else:
|
else:
|
||||||
self.log_err ("%s is not a dfl image file" % (filepath.name) )
|
self.log_err ("%s is not a dfl image file" % (filepath.name) )
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue