cv2.error: OpenCV(4.5.5) D:\a\opencv-python\opencv-python\opencv\modules\objdetect\src\cascadedetect

项目场景:人脸识别

from turtle import shape
from cv2 import COLOR_BAYER_BG2BGR, COLOR_BAYER_BG2GRAY
import numpy as np
import cv2

img = cv2.imread("xixi.jpg")
#级联分类器(根据多个特征识别人脸)人脸:眼睛、嘴巴、鼻子、额头、脸颊、眉毛等
#级联算法,满足一部分即可识别为人脸
path = "E:\\anaconda\Lib\site-packages\cv2\data\haarcascade_frontalface_alt.xml"
face_detector = cv2.CascadeClassifier(path)           

print(img.shape)
gray = cv2.cvtColor(img,code=cv2.COLOR_BGR2GRAY)
print(gray,shape)
faces = face_detector.detectMultiScale(gray)   #检测人脸
print(faces)
for x,y,w,h in faces:
    #cv2.rectangle(img,  #标记图片
    #pt1 = (x,y),   #左上角
    #pt2 = (x + w,y + h),    #右下角
    #color = [0,0,255],   #颜色
    #thickness=2)   #线宽

    cv2.circle(img,
    center=(x + w//2,y + h//2),
    radius=h//2,
    color=[0,0,255],
    thickness=2)
cv2.putText(img = img,  
text='xixi',  #显示的文本
org=(x,y),  #位置
fontFace=cv2.FONT_HERSHEY_PLAIN,#字体
fontScale=12,  #字号
color=[0,0,255],
thickness=2)  #颜色


cv2.imshow("face",img)

cv2.waitKey(0)
cv2.destroyAllWindows()

报错显示:

cv2.error: OpenCV(4.5.5) D:\a\opencv-python\opencv-python\opencv\modules\objdetect\src\cascadedetect.cpp:1689: error: (-215:Assertion failed) !empty() in function cv::CascadeClassifier::detectMultiSc

报错位置:

face_detector = cv2.CascadeClassifier("haarcascade_frontalface_alt.xml")

原因分析:

我一开始只是把文件复制到另一个文件夹中,以为直接文件名打开就行,结果总是运行不了,

path = "E:\\anaconda\Lib\site-packages\cv2\data\haarcascade_frontalface_alt.xml"
face_detector = cv2.CascadeClassifier(path) 

最后换成原来的文件路径就可以了。

小提示:(怎么找到OpenCV的那些文件)

划红线的位置都是一样的,这里就有opencv的所有文件啦~

如果还有小伙伴情况类似,但是上述方法仍旧不能解决的话,有可能是中文路径导致错误;

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柴妮贝贝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值