diff options
Diffstat (limited to 'units.py')
-rwxr-xr-x | units.py | 27 |
1 files changed, 24 insertions, 3 deletions
@@ -70,9 +70,30 @@ for it in FILES: break if len(faces) != 1: - print("\033[1mERROR: %s has %d faces, no square possible!\033[0m" % (it, len(faces))) - bf1.append("* ERROR: %s needs a square\n" % it) - continue + print("INFO: %s has %d anime faces, no square possible!" % (it, len(faces))) + print("Retrying with human face...") + cPath="lbpcascade_face.xml" + iPath="ready-units/%s" % it + cascade=cv2.CascadeClassifier(cPath) + org_img=cv2.imread(iPath) + img=cv2.cvtColor(org_img, cv2.COLOR_BGR2GRAY) + maxi = 3.2 + step = 0.1 + curr = 1.0 + faces = [] + # Detect faces + while len(faces) != 1: + if curr == 1.0: + faces = cascade.detectMultiScale(img, scaleFactor=1.01, minNeighbors=5) + else: + faces = cascade.detectMultiScale(img, scaleFactor=curr, minNeighbors=5) + curr+=step + if curr > maxi: + break + if len(faces) != 1: + print("\033[1mERROR: %s has %d faces, no square possible!\033[0m" % (it, len(faces))) + bf1.append("* ERROR: %s needs a square\n" % it) + continue face=faces[0] |