【问题标题】:Python OpenCV - CascadeClassifier Haarcascade detectMultiScale() not workingPython OpenCV - CascadeClassifier Haarcascade detectMultiScale()不起作用
【发布时间】: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


【解决方案1】:

我猜你应该在for 循环中写[x,y,w,h,](x,y,w,h) 而不是x,y,w,h,因为给定的detectMultiScale 函数会生成一个列表,其中包含每个人脸的多个[x,y,w,h] 元素,并且可以存储列表仅在列表对象或元组中。

【讨论】:

  • 哦,我在我的代码和问题中更正了它。谢谢你。但仍然没有输出。由于 Python 是一种解释型语言,它之前被卡住了 2 行。
  • 然后尝试删除代码末尾的 cv2.destroyAllWindows 行,因为当该行恰好执行时,它会关闭 opencv 中所有打开的窗口。
【解决方案2】:

它位于资源文件夹中,但当前工作目录是否与调用脚本相关。当此 xml 文件的路径由于某种原因未正确设置时,会出现一个常见问题 - 尝试使用绝对路径或将其复制到包含脚本的文件夹中并从该文件夹中的命令行调用。

见: OpenCV Facial Detection come ups with this error

【讨论】:

  • 是的,我在当前工作目录下的资源文件夹中添加了xml文件和图像
  • face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades+"haarcascade_frontalface_default.xml") 这个我试过了,还是没有输出
猜你喜欢
  • 2021-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-01
  • 2021-02-26
  • 2020-11-27
  • 2018-10-23
  • 2018-10-31
相关资源
最近更新 更多