运行OpenCV面部识别代码报module 'cv2' has no attribute 'cv'错误求助
错误原因
你当前使用的是OpenCV 3.x/4.x版本,这类版本已经彻底移除了cv2.cv子模块,你代码中cv2.cv.CV_HAAR_SCALE_IMAGE是OpenCV 2.x专属的旧版常量写法,所以会触发属性不存在的报错。
修复方法
直接修改代码第18行的flags参数取值即可,将cv2.cv.CV_HAAR_SCALE_IMAGE替换为新版对应的常量cv2.CASCADE_SCALE_IMAGE。
修改后的对应代码段如下:
faces = faceCascade.detectMultiScale( gray, scaleFactor=1.1, minNeighbors=5, minSize=(30, 30), flags = cv2.CASCADE_SCALE_IMAGE )
额外说明
如果没有特殊配置需求,新版本的detectMultiScale方法可以省略flags参数,默认值即可满足常规人脸识别场景的使用需求。
你可以通过执行pip show opencv-python命令查看当前安装的OpenCV版本,确认版本适配情况。
内容的提问来源于stack exchange,提问作者SnippyRO
相关产品推荐
相关产品推荐

