在学习opencv-python时,利用笔记本摄像头实现一个视频流人脸识别小程序,其中在调用opencv的haarcascade_frontalface_default.xml时程序报错SystemError,详细信息如下:
1.绝对路径时
path = "F:\\PythonPractice\\opencvPractice\\coreOperation\\haarcascade_frontalface_default.xml"
face_cascade = cv2.CascadeClassifier(path)
错误信息:
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")