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

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 smptlib使用465端口发送邮件失败
  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败
  • ¥15 树莓派5怎么用camera module 3啊
  • ¥20 java在应用程序里获取不到扬声器设备
  • ¥15 echarts动画效果的问题,请帮我添加一个动画。不要机器人回答。
  • ¥15 Attention is all you need 的代码运行