OpenCV(4.0.0) C:\projects\opencv-python\opencv\modules\objdetect\src\cascadedetect.cpp:1658: error:

问题描述:

今天在学习在Python中使用OpenCV 安装好了之后进行打开人脸识别的的简单测试:
导入opencv分类器时候出现此错误:

cv2.error: OpenCV(4.0.0) C:\projects\opencv-python\opencv\modules\objdetect\src\cascadedetect.cpp:1658: error: (-215:Assertion failed) !empty() in function ‘cv::CascadeClassifier::detectMultiScale’

如图:
在这里插入图片描述

解决方案

于是在百度里面查了一下 找到了链接中的博文
然后就解决了 主要是图片路径中“文件夹分隔符”使用的错误
将“\”改成“/”就好了
原来的错误图:(会有不一样的颜色提示)
在这里插入图片描述
修改后的:
在这里插入图片描述
然后就成功了

最后附加上我的代码:
主要功能是打开电脑摄像头检测人脸:

~~import cv2 as cv
import numpy as np
def face_detect_demo(image):
    gray = cv.cvtColor(image, cv.COLOR_BGR2GRAY)  # 转灰度图
    face_detect = cv.CascadeClassifier("E:\Opencv4\opencv/build\etc\haarcascades\haarcascade_frontalface_alt_tree.xml")  # 级联检测器
    faces = face_detect.detectMultiScale(gray, 1.1, 5)  # 第二个参数是移动距离,第三个参数是识别度,越大识别读越高
    for x, y, w, h in faces:
        cv.rectangle(image, (x, y), (x + w, y + h), (0, 0, 255), 2)# 后两个参数,一个是颜色,一个是边框宽度
    cv.imshow("result", image)
print("  Hello world  ")
src = cv.imread("xigua.png")
capture = cv.VideoCapture(0)
while (True):
    ret, fram = capture.read()
    fram = cv.flip(fram, 1)
    face_detect_demo(fram)
    if cv.waitKey(10):
        break
cv.waitKey(0)
cv.destroyAllWindows()~~ 

你可能感兴趣的:(python)