无法逐帧分析opencv2捕获设备

时间:2017-02-24 00:13:33

标签: python opencv face-detection image-recognition

我正在使用python和opencv2在网络摄像头流上拼接一个实时面部识别系统。到目前为止,我已经设法设置了网络摄像头流和面部识别组件,但是我将它们放在一起时遇到了麻烦。

现在问题是将每个帧从网络摄像头传递到面部检测和识别组件。

相关的代码是:

    # Capture frame-by-frame
    ret, frame = video_capture.read()
    image=cv2.VideoCapture.grab(frame)
    image_grey=cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
    faces = faceCascade.detectMultiScale(image_grey,scaleFactor=1.2,minNeighbors=5,minSize=(25,25),flags=0)

但是,这给了我:

Traceback (most recent call last):
  File "webcam_cv3(2).py", line 66, in <module>
    image=cv2.VideoCapture.grab(frame)
AttributeError: 'builtin_function_or_method' object has no attribute 'grab'

我一直在查看opencv2文档,我似乎找不到cv2.VideoCapture.grab无效的任何理由。

我正在使用带有opencv2的python 2.7。 真的很感激任何帮助!

1 个答案:

答案 0 :(得分:0)

ret, frame = video_capture.read()已经将frame作为np.array提供给您。然后你可以继续:

image_grey = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
faces = faceCascade.detectMultiScale(image_grey,scaleFactor=1.2,minNeighbors=5,minSize=(25,25),flags=0)