m0_75239778 2023-02-08 10:19 采纳率: 100%
浏览 61
已结题

OpenCV的detectMultiScale报错,如何解决?(语言-python)

我的detectMultiScale报错,不知道是哪里的问题
这是代码


import cv2 as cv
def face_detect_demo(img):
    #将图片灰度
    gray=cv.cvtColor(img,cv.COLOR_BGR2GRAY)
    #加载特征数据
    face_detector = cv.CascadeClassifier('D:\\下载的软件\\OpenCV\\opencv-4.6.0-vc14_vc15\\opencv\\sources\\data\\haarcascades\\haarcascade_frontalface_default.xml')
    faces = face_detector.detectMultiScale(gray)
    for x,y,w,h in faces:
        print(x,y,w,h)
        cv.rectangle(img,(x,y),(x+w,y+h),color=(0,0,255),thickness=2)
        cv.circle(img,center=(x+w//2,y+h//2),radius=w//2,color=(0,255,0),thickness=2)
    #显示图片
    cv.imshow('result',img)

#加载图片
img=cv.imread('face.jpg')
#调用人脸检测方法
face_detect_demo(img)
cv.waitKey(0)
cv.destroyAllWindows()

这个是显示的错误


OpenCV(4.7.0) D:\a\opencv-python\opencv-python\opencv\modules\objdetect\src\cascadedetect.cpp:1689: error: (-215:Assertion failed) !empty() in function 'cv::CascadeClassifier::detectMultiScale'
  File "D:\新建文件夹\opencv人脸识别\6多个人脸识别.py", line 7, in face_detect_demo
    faces = face_detector.detectMultiScale(gray)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\新建文件夹\opencv人脸识别\6多个人脸识别.py", line 18, in <module>
    face_detect_demo(img)
cv2.error: OpenCV(4.7.0) D:\a\opencv-python\opencv-python\opencv\modules\objdetect\src\cascadedetect.cpp:1689: error: (-215:Assertion failed) !empty() in function 'cv::CascadeClassifier::detectMultiScale'

  • 写回答

3条回答 默认 最新

  • 爱晚乏客游 2023-02-08 10:39
    关注

    根据你的报错信息,我可以明确的告诉你就是由于opencv不支持中文路径的读写

    img


    你这face的路径这么写的话,绝对路径里面就是有中文,图片读取失败了导致后面的问题。

    另外,学编程的第一步就是不要用中文路径,英语差,你路径就算是用拼音都行(代码中不建议拼音,用拼音坑多),不然就会像现在这样,出现问题你都不知道为啥,这还是python3优化了很多的情况下,要是早期python2的时代,问题更多

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 2月16日
  • 已采纳回答 2月8日
  • 创建了问题 2月8日

悬赏问题

  • ¥15 c#直接使用C++ 写的class 后续
  • ¥15 为何显示keyerror fruit
  • ¥15 关于#stm32#的问题:/* User can add his own implementation to report the HAL error return state */
  • ¥15 imageware粗糙度表面
  • ¥15 python使用pulp线性优化时报错
  • ¥15 为什么我的uibot导入py模块出错呀。py文件放在了uibot里对应的python文件夹了,卸了重安也不行
  • ¥15 开源或低价数据中台哪个最好
  • ¥15 arduino编程出现字符串疑似覆盖现象
  • ¥15 我的b站在没有碰到屏幕的情况下偶尔会自动跳出进度条,就像在屏幕上点了一下一样,但我并没有点。而且视频进度并没有变。这可能是什么原因造成的?
  • ¥30 STK matlab python仿真