J'utilise Python 3 et OpenCV 3. J'essaie d'utiliser EigenFace Recognizer qui utilise des images de même taille pour l'ensemble de données d'apprentissage et de test. J'ai lu l'image d'une webcam et j'ai redimensionné les images à 200 x 200 mais cela montre une erreur.Python OpenCV: impossible de redimensionner l'image
Ceci est mon code:
faceDetect=cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
cam=cv2.VideoCapture(0);
rec=cv2.face.EigenFaceRecognizer_create()
#rec=cv2.face.LBPHFaceRecognizer_create()
rec.read("recognizer/EigenData.xml")
id=0
fontFace = cv2.FONT_HERSHEY_SIMPLEX
fontScale = 1
fontColor = (0, 0, 255)
while(True):
ret,img=cam.read();
resize_img = img.resize((200,200) , img)
gray=cv2.cvtColor(resize_img,cv2.COLOR_BGR2GRAY)
faces=faceDetect.detectMultiScale(gray,1.3,5);
for(x,y,w,h) in faces:
cv2.rectangle(img,(x,y),(x+w, y+h), (0,255,0) , 2)
id, conf=rec.predict(gray[y:y+h, x:x+w]) #EigenFace Predict
cv2.putText(img,str(id),(x,y+h), fontFace, fontScale, fontColor,thickness=2)
cv2.imshow("Face", img);
if(cv2.waitKey(1)==ord('q')):
break;
cam.release()
cv2.destroyAllWindows()
L'erreur que je reçois est:
resize_img = img.resize((200,200) , img)
TypeError: 'tuple' object cannot be interpreted as an integer
Downvoter - soin d'expliquer votre downvote? – rayryeng
Les liens vers opencv 3.0 beta sont mauvais. Je suggère d'utiliser des liens vers opencv 3.3 docs – Miki
@Miki oups. Je vous remercie. Je vais corriger. – rayryeng