今天在学习在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()~~