[记录] 加载OPENCV中的Harr特征分类器时遇到的BUG

face_cascade = cv.CascadeClassifier('haarcascade_frontalface_default.xml')
error: OpenCV(4.9.0) D:\a\opencv-python\opencv-python\opencv\modules\objdetect\src\cascadedetect.cpp:1689: error: (-215:Assertion failed) !empty() in function 'cv::CascadeClassifier::detectMultiScale'

解决方案1:

  1. 打开CMD命令行控制台,切换到自己安装OPENCV所在的虚拟环境(例如:conda activate ML)没装虚拟环境的跳过此步
  2. 键入:pip show opencv-python 查看自己opencv的安装路径(例如:C:\Users\Yehui_PC\Miniconda3\envs\ML\Lib\site-packages),继续进入下一级文件夹cv2\Data 直到找到haarcascade_frontalface_default.xml即可
  3. 更改调用文件路径:face_cascade = cv.CascadeClassifier('C:\\Users\\Yehui_PC\\Miniconda3\\envs\ML\\Lib\\site-packages\\cv2\\Data\\haarcascade_frontalface_default.xml')
    ⚠️vscode中使用双斜杠来分割文件路径

解决方案2:

  1. https://github.com/opencv/opencv/blob/master/data/haarcascades/haarcascade_frontalface_default.xml 从GitHub上下载到本地路径直接调用即可。
  2. 同理也需要加上文件路径
posted @ 2024-05-14 10:48  叶珲  阅读(149)  评论(0)    收藏  举报