使用cv人脸检测时遇到的问题及解决方法

?私人用途: 刚开始用python做人脸检测,为了以防之后再遇到类似问题,所以在这里记录一下解决方法。但是大都不清楚原因,知道的朋友希望可以告诉我一下。

⭐问题1:

Traceback (most recent call last):
  File "C:/Users/74183/Desktop/人脸.py", line 45, in <module>
    flags = cv2.cv.CV_HAAR_SCALE_IMAGE
AttributeError: module 'cv2.cv2' has no attribute 'cv'

解决方法:
把【flags = cv2.cv.CV_HAAR_SCALE_IMAGE】 改为【flags = cv2.CASCADE_SCALE_IMAGE

⭐问题2:

Traceback (most recent call last):
  File "C:/Users/74183/Desktop/人脸.py", line 45, in <module>
    flags = cv2.CASCADE_SCALE_IMAGE
cv2.error: OpenCV(4.1.0) C:\projects\opencv-python\opencv\modules\objdetect\src\cascadedetect.cpp:1658: error: (-215:Assertion failed) !empty() in function 'cv::CascadeClassifier::detectMultiScale'

解决办法:
添加了两条:

pathf =r'C:\Users\74183\Desktop\opencv-master\data\haarcascades_cuda\haarcascade_frontalface_default.xml'
face_cascade.load(pathf)  

⭐问题三:

Traceback (most recent call last):
  File "C:/Users/74183/Desktop/人脸.py", line 60, in <module>
    cv2.circle(image,((x+x+w)/2,(y+y+h)/2),w/2,(0,255,0),2)
TypeError: integer argument expected, got float

并且本来应该输出的图片也没有输出

解决办法:
把【cv2.circle(image,((x+x+w)/2,(y+y+h)/2),w/2,(0,255,0),2)】改为【cv2.circle(image,((x+x+w)//2,(y+y+h)//2),w//2,(0,255,0),2)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值