人脸检测分类器——解决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.运行结果

4.总结(python路径写法)

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值