之前利用的代码段不知道什么原因,总是出现窗口不响应的问题,直到测试了下面的代码之后,还比较稳定。
import cv2.cv as cv
import time
cv.NamedWindow("camera",1)
capture = cv.CaptureFromCAM(0)
while True:
img = cv.QueryFrame(capture)
cv.ShowImage("camera",img)
if cv.WaitKey(10) == 27:
break
del(capture)
cv.DestroyWindow("camera")
而另一段出现问题的代码是:
import cv2
import numpy as np
cap=cv2.VideoCapture(0)
while True:
ret,image=cap.read()
cv2.imshow("test",image)
if cv.WaitKey(10) == 27:
break
del(capture)
cv.DestroyWindow("camera")
总结下来可能是以下几个方面的原因:
1、使用cv.QueryFrame可能比以图像的方式硬读取更加稳定一些
2、capture的初始化,如果是摄像头的话,用CaptureFromCam可能 会更好一些
3、import cv2.cv as cv 这句是用的原来比较稳定1.0版本
对此知道原因的读者,请不吝赐教。