目前,我有这个工作示例:
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 $'
答案 0 :(得分:3)
使用cv2.VideoCapture
和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