当前,我有这个工作示例:
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 $'
最佳答案
使用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
关于python - 如何使用python包装器在opencv中正确使用网络摄像头?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13003382/