0

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

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');

但是,资源没有正确释放。这篇文章建议使用del(capture),但是,在这个其他建议使用cvReleaseCapute(但我找不到那个功能)。

释放捕获的正确方法是什么?

这是我的opencv版本:

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

1 回答 1

3

使用cv2.VideoCaptureand capture.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
于 2012-10-22T18:10:04.870 回答