如何使用python包装器在opencv中正确使用网络摄像头?

时间:2012-10-21 23:50:31

标签: python opencv

目前,我有这个工作示例:

import cv

capture = cv.CaptureFromCAM(0)

cv.NamedWindow('image')

while True:

    frame = cv.QueryFrame(capture)
    cv.ShowImage('image', frame)

    k = cv.WaitKey(10)

    if k % 256 == 27:
        break

cv.DestroyWindow('image');

但是,资源没有正确发布。此post建议使用del(capture),但在this其他建议使用cvReleaseCapute(但我找不到该功能)。

发布捕获的正确方法是什么?

这是我的opencv版本:

In [4]: from cv2 import __version__
In [5]: __version__
Out[5]: '$Rev: 4557 $'

1 个答案:

答案 0 :(得分:3)

使用cv2.VideoCapturecapture.release()cv2代替cv

import cv2, cv

capture = cv2.VideoCapture(0)   

flag, im_array = capture.read()

image = cv.fromarray(im_array)

cv.SaveImage('output.jpeg', image)

capture.release()                   # release it