gpt4 book ai didi

Python - 属性错误 : 'module' object has no attribute 'QueryFrame'

转载 作者:行者123 更新时间:2023-12-02 16:56:24 25 4
gpt4 key购买 nike

我对 OpenCV 很陌生,但我需要找到一种使用网络摄像头检测人脸的方法。我从 here 中找到了以下代码.这是原始代码。我正在使用 Python 2.7opencv 3.0.0-beta版本和 Windows 8.1。

import cv2 as cv
import time
import Image

def DetectFace(image, faceCascade):

min_size = (20,20)
image_scale = 2
haar_scale = 1.1
min_neighbors = 3
haar_flags = 0

grayscale = cv.CreateImage((image.width, image.height), 8, 1)
smallImage = cv.CreateImage(
(
cv.Round(image.width / image_scale),
cv.Round(image.height / image_scale)
), 8 ,1)

cv.CvtColor(image, grayscale, cv.CV_BGR2GRAY)
cv.Resize(grayscale, smallImage, cv.CV_INTER_LINEAR)
cv.EqualizeHist(smallImage, smallImage)

faces = cv.HaarDetectObjects(
smallImage, faceCascade, cv.CreateMemStorage(0),
haar_scale, min_neighbors, haar_flags, min_size)

if faces:
for ((x, y, w, h), n) in faces:
pt1 = (int(x * image_scale), int(y * image_scale))
pt2 = (int((x + w) * image_scale), int((y + h) * image_scale))
cv.Rectangle(image, pt1, pt2, cv.RGB(255, 0, 0), 5, 8, 0)

return image

capture = cv.CaptureFromCAM(0)
faceCascade = cv.Load("haarcascades/haarcascade_frontalface_alt.xml")

while (cv.WaitKey(15)==-1):
img = cv.QueryFrame(capture)
image = DetectFace(img, faceCascade)
cv.ShowImage("face detection test", image)

cv.ReleaseCapture(capture)

当我运行这个程序时,我收到错误消息,No module named 图片 .我评论了它并再次运行并对代码进行了以下更改。
capture = cv.CaptureFromCAM(0)capture = cv.VideoCapture(0)WaitKeywaitKey根据弹出的错误。

但现在它说 AttributeError: 'module' object has no attribute 'QueryFrame'

我觉得是版本问题什么的。我已经收录了 haarcascades文件也是如此。请帮助我纠正该错误并很好地运行此代码。正如我提到的,我对 opencv 比较陌生。

最佳答案

cv2 , 你用:

result, img = capture.read()  #capture is a cv2.VideoCapture instance

而不是 QueryFrame .

您还可以使用
capture.grab()

其次是
result, img = capture.retrieve()

实际检索它。如果您想对帧进行排队,请使用第二种方法,然后在等待时执行其他操作。

编辑:

您显然只是想使用 OpenCV2 运行一堆 OpenCV1 函数,如果您不阅读 OpenCV2 documentation,将会遇到很多问题。了解哪些功能发生了变化,哪些没有发生变化。 StackOverflow 不是“转换旧代码”服务,所以我不会介绍程序中的每一个旧函数。

但是,要回答您的后续问题,建议在 OpenCV2 中仅使用 numpy.zeros() 创建图像。函数(相对于旧的 cv.CreateImage 函数)。

关于Python - 属性错误 : 'module' object has no attribute 'QueryFrame' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30333437/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com