cv2.error: OpenCV(4.5.5) D:aopencv-pythonopencv-pythonopencvmodulesobjdetectsrccascadedetect

Posted 柴妮贝贝

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cv2.error: OpenCV(4.5.5) D:aopencv-pythonopencv-pythonopencvmodulesobjdetectsrccascadedetect相关的知识,希望对你有一定的参考价值。

项目场景:人脸识别

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的所有文件啦~

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

以上是关于cv2.error: OpenCV(4.5.5) D:aopencv-pythonopencv-pythonopencvmodulesobjdetectsrccascadedetect的主要内容,如果未能解决你的问题,请参考以下文章

cv2.error: OpenCV(4.5.5) :-1: error: (-5:Bad argument) in function ‘rectangle‘ > Overload resolution

cv2.error: OpenCV(4.2.0) /io/opencv/modules/imgproc/src/color.cpp:182: error:

cv2.error: OpenCV(4.5.2) .error: (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor'

opencv cv2.imread()报错: error: (-215:Assertion failed) !_src.empty() in function ‘cv::cvtColor‘

cv2.error: C:\projects\opencv-python\opencv\modules\highgui\src\window.cpp:325: 错误: (-215) size.widt

成功解决cv2.error: OpenCV(4.7.0) D:aopencv-pythonopencv-pythonopencvmodulesimgcodecssrcloadsave.