【问题标题】:face recognition opencv got type tuple error人脸识别opencv得到类型元组错误
【发布时间】:2019-04-04 09:03:04
【问题描述】:

cv2.putText(img,str(id),(x,y+h),字体,255); TypeError:使用 python 3.7 需要一个整数(获取类型元组)

import cv2
import numpy as np

faceDetect=cv2.CascadeClassifier('haarcascade_frontalface_default.xml');
cam=cv2.VideoCapture(0);
rec=cv2.face.LBPHFaceRecognizer_create();
rec.read("recognizer\\trainingData.yml")
id=0
font= cv2.FONT_HERSHEY_COMPLEX_SMALL,5,1,0,4
while(True):
  ret,img=cam.read();
  gray=cv2.cvtColor(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,0,255),2)
    id,conf=rec.predict(gray[y:y+h,x:x+w])
    if(id==1):
        id="x"
    cv2.putText(img,str(id),(x,y+h),font,255);
cv2.imshow("Face",img);
if(cv2.waitKey(1)==ord('q')):
   break;
cam.release()
cv2.destroy.AllWindows()

【问题讨论】:

  • 这个错误对我来说很清楚。第三个参数应该是整数,但是你传入的是元组。
  • 我是 python 新手,你能告诉我如何纠正这个吗?谢谢

标签: python opencv


【解决方案1】:

错误显示它来自的行

cv2.putText(img,str(id),(x,y+h),font,255)

第四个参数应该是一个字体对象,但是你在这里将它初始化为一个元组:

font= cv2.FONT_HERSHEY_COMPLEX_SMALL,5,1,0,4

我相信字体应该只有

font = cv2.FONT_HERSHEY_COMPLEX_SMALL

查看文档here

顺便说一句,python 中不需要分号。

【讨论】:

    猜你喜欢
    • 2023-03-25
    • 2014-06-14
    • 2014-03-24
    • 1970-01-01
    • 2015-07-05
    • 2016-09-18
    • 2018-09-15
    • 2019-08-10
    • 2011-02-20
    相关资源
    最近更新 更多