【发布时间】:2021-04-15 20:28:45
【问题描述】:
我从最近几天开始通过 Python v3.8.5 学习 OpenCV,在 Facedetection 上卡在 CascadeClassifier。跟导师一样的代码:https://www.youtube.com/watch?v=LopYA64KmdE Timestamp: 08:40
我在资源文件夹中有图像和 haarcascade_frontalface_default.xml 文件
不过,我没有得到以下代码的任何输出。我也尝试更改图像文件,但仍然没有输出。当我尝试打印它时打印到'foo1'。所以我怀疑问题出在 detectMultiScale() 方法上。
这是我的代码:
import cv2
face_cascade = cv2.CascadeClassifier('resources\haarcascade_frontalface_default.xml')
# img = cv2.imread('resources\\lena.jpg')
# img = cv2.imread('D:\photos\house\DSCF2736 copy.jpg')
img = cv2.imread('resources\\messi5.jpg')
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
print('foo1')
faces = face_cascade.detectMultiScale(gray,1.1,4)
print('foo2')
for (x,y,w,h) in faces:
cv2.rectangle(img,(x,y),(x+h,y+w),(0,255,0),2)
cv2.imshow('out',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
我使用的是 Windows7 32 位电脑。这是由于操作系统支持问题吗?请告诉我解决方案。
谢谢
【问题讨论】:
-
你试过换个图片测试吗?
-
@August,是的,我尝试了各种清晰可见的正面图像
-
那么很明显你的
haarcascade_frontalface_default.xml有问题,你可以从网上下载一个haarcascade_frontalface_default.xml试试haarcascade_frontalface_default.xml -
我在正确的地方有正确的文件,兄弟。另外,在发布此问题之前,我检查了所有其他答案。似乎没有什么与我被困的地方有关。所以我在这里发帖。
标签: python opencv computer-vision haar-classifier