解决利用opencv的CascadeClassifier实现人脸识别过程中的报错问题

利用opencv的CascadeClassifier简单实现人脸识别

  • 说明
  • 解决方法

说明

在学习opencv-python时,利用笔记本摄像头实现一个视频流人脸识别小程序,其中在调用opencv的haarcascade_frontalface_default.xml时程序报错SystemError,详细信息如下:

1.绝对路径时

path = "F:\\PythonPractice\\opencvPractice\\coreOperation\\haarcascade_frontalface_default.xml"
face_cascade = cv2.CascadeClassifier(path)

错误信息: returned a result with an error set

2.相对路径时,文件已在程序所在文件夹。

path= "haarcascade_frontalface_default.xml"

错误信息:(-215:Assertion failed) !empty() in function ‘cv::CascadeClassifier::detectMultiScale’

解决方法

因为开发环境是vscode+anaconda,在安装opencv库后,site-packages不会出现haarcascade_frontalface_default.xml文件,同时在github单独下载该文件,仍然会报错。

最后把opencv整个包从github下载之后,在程序中添加相应的路径,即可运行。(PS费解,估计CascadeClassifier还需要依赖包里其他文件)

face_cascade = cv2.CascadeClassifier("H:\\python\\opencv-master\\data\\haarcascades\\haarcascade_frontalface_alt.xml")

你可能感兴趣的:(人脸识别,python,opencv)