人脸检测分类器——解决cv2.error: ...color.cpp:182: error: (-215:Assertion failed) _src.empty() in function ‘

1.前言

逛了一圈csdn,发现有很多博主都说要从python安装路中调haarcascade_frontalface_default.xml(人脸检测分类器)才能使用,但是我实验发现,其实只需要调用这个文件就可以,无论在什么路径下,只要访问路径正确就可以实现调用。

至于这个报错,其实是由于没有读取到图片导致的,所以是读取图片路径出错。

(我的opencv版本为4.4.5)

2.调用代码

import cv2
faceCascade = cv2.CascadeClassifier("haarcascade_frontalface_default.xml")
img = cv2.imread("D:/resource_photo/face.png")
imgGray = cv2.cvtColor(img, cv2.COLOR_BGRA2GRAY)
faces = faceCascade.detectMultiScale(imgGray, 1.1,4)
for (x,y,w,h) in faces:
    cv2.rectangle(img, (x,y),(x+w,y+h),(255,0,0),2)

cv2.imshow("result",img)
cv2.waitKey(0)

(此处我将haarcascade_frontalface_default.xml与该代码文件放置在同一目录下)

3.运行结果

人脸检测分类器——解决cv2.error: ...color.cpp:182: error: (-215:Assertion failed) _src.empty() in function ‘_第1张图片

4.总结(python路径写法)

(1)使用" / "或者" \\ "分隔,而不是" \ "

  (2)路径中不能包含中文,可能会出现报错

(3)相对路径中,退出当前目录需要在路径前加上" ../ "或者" ..\\ "

你可能感兴趣的:(opencv,计算机视觉,python)