当前位置:  开发笔记 > 后端 > 正文

无法在django(使用python-opencv)项目中找到面部(面部检测)

如何解决《无法在django(使用python-opencv)项目中找到面部(面部检测)》经验,为你挑选了0个好方法。

这个代码块(在views.py中)由URL触发.导入cv2时没有问题.(使用virtualenvwrapper尝试的同样的事情显示相同的结果(添加所有必需的库之后)相机初始化和....

def caminit(request):  
  cam.open(0)
  img=cam.read()
  cv2.imwrite("snap"+".jpg",img[1])
  cam.release()                                #takes the instant pic

  faceCascade =cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
  eye_cascade = cv2.CascadeClassifier('haarcascade_eye.xml')

检查时 print type(faceCascade) 给出.对象已创建.

继续前进 caminit

image = cv2.imread("snap.jpg")

# when checked with image.dtype it shows correct uint8 also image.shape shows correct data {Eg: (480, 640, 3)}

gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

# Detect faces in the image
faces = faceCascade.detectMultiScale(
    gray,
    scaleFactor=1.1,
    minNeighbors=5,
    minSize=(30, 30),
    flags = cv2.cv.CV_HAAR_SCALE_IMAGE
)

现在关键部分"寻找面孔的数量"

print "Found {0} faces!".format(len(faces))

终端输出:

Found 0 faces!

为什么会这样?

我已经尝试通过在终端打印进行调试.我在评论中提到过它们.正在使用的相机是我的笔记本电脑(HP羡慕​​)相机,其分辨率为640x480.

我怀疑有什么需要中进行调整faceCascade.detectMultiScale(..)块(参数).我试图与scalefactor = 1.000001minNeighbors = 3无济于事.

推荐阅读
小白也坚强_177
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有