python3 'int' object is not iterable

为君一笑 提交于 2019-12-11 08:45:09

问题


This code is used to recognize faces.

I think the problem is about the python version between 2 and 3 because I cloned it from a py2 project.

My enviroment is Python 3.5.1 and OpenCV 3.1.0

[X,y]=read_images(sys.argv[1])
y=np.asarray(y,dtype=np.int32)

if len(sys.argv)==3:
    out_dir=sys.argv[2]

model=cv2.face.createEigenFaceRecognizer()
model.train(np.asarray(X),np.asarray(y))
camera=cv2.VideoCapture(0)
face_cascade=cv2.CascadeClassifier('/home/cisco/py/data/haarcascades/cascades/haarcascade_frontalface_default.xml')

while(True):
    read,img=camera.read()
    faces=face_cascade.detectMultiScale(img,1.3,5)
    for(x,y,w,h) in faces:
        img=cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
        gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
        roi=gray[x:x+w,y:y+h]
        try:
            roi=cv2.resize(roi,(200,200),interpolation=cv2.INTER_LINEAR)
            print(roi)
            [La,Con]=model.predict(roi)  #<<<------------------error!!
            print("Label:%s , Confidence:%.2f" % (La,Con))
            cv2.putText(img,names[label],(x,y-20),cv2.FONT_HERSHEY_SIMPLEX,1,255,2)
        except Exception as e:
            raise e
            continue
    cv2.imshow("camera",img)
    if cv2.waitKey(0):
        continue
cv2.destoryAllwindows()

The error I get:

Traceback (most recent call last):
  File "whole.py", line 73, in <module>
    face_rec()
  File "whole.py", line 64, in face_rec
    raise e
  File "whole.py", line 60, in face_rec
    [La,Con]=model.predict(roi)
TypeError: 'int' object is not iterable

来源:https://stackoverflow.com/questions/39549306/python3-int-object-is-not-iterable

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!