Python+OpenCV报错 SystemError:'class ‘cv2.CascadeClassifier’' returned a result with an error set

时间:2019-04-15
本文章向大家介绍Python+OpenCV报错 SystemError:'class ‘cv2.CascadeClassifier’' returned a result with an error set,主要包括Python+OpenCV报错 SystemError:'class ‘cv2.CascadeClassifier’' returned a result with an error set使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

SystemError: <class ‘cv2.CascadeClassifier’> returned a result with an error set

# 1、导入库
import cv2
# 2、加载图片
image1 = cv2.imread(r'C:\Users\HongXiangWang\Desktop\image1.jpg')
# 3、加载人脸模型
face = cv2.CascadeClassifier(r'C:\Users\HongXiangWang\Desktop\haarcascade_frontalface_alt.xml')
# 4、调整图片灰度(人脸识别没有必要识别颜色,灰度提高性能)
gray = cv2.cvtColor(image1,cv2.COLOR_RGB2GRAY)
# 5、检查人脸
faces = face.detectMultiScale(gray,1.1,3)
# 6、标记人脸
for (x,y,w,h) in faces :
    cv2.rectangle(image1,(x,y),(x+w,y+h),(0,255,0),2)
# 7、创建窗口
cv2.namedWindow('wanghongxiang')
# 8、显示图片
cv2.imshow('whx',image1)
# 9、暂停窗口
cv2.waitKey(0)
# 10、关闭窗口
cv2.destroyAllWindows()

编写人脸识别的demo,从Github上面下载了haarcascade_frontalface_alt.xml放在了我的桌面,编译一直出问题,后来才发现在安装cv2这个模块的时候,会在你python安装路径下面生成”E:\Python37\Lib\site-packages\cv2\data“,在这个路径下面就有haarcascade_frontalface_alt.xml,
只需要

face = cv2.CascadeClassifier(r'C:\Users\HongXiangWang\Desktop\haarcascade_frontalface_alt.xml')

改成

face = cv2.CascadeClassifier(r'E:\Python37\Lib\site-packages\cv2\data\haarcascade_frontalface_alt.xml')

就可以成功运行。
如果你的python安装路径下面没有生成,可以看一下链接:https://blog.csdn.net/qq_20156437/article/details/80702022

参考链接:https://blog.csdn.net/SekFu/article/details/87558514