声明:笔记总结,方便查看。
openCV驱动相机试验
第1个程序
1. cv2.VideoCapture()等讲解
cv2.VideoCapture() 创建了一个VideoCapture对象,用来捕获视频。它的参数可以是设备的索引号,或是一个视频文件。设备的索引号是指定要用的摄像头,一般内置的摄像头的索引号为0,可以换成1或其他的数字调用其他的摄像头。
因为视频是一帧一帧获取的,所以接下来是个一个while True 循环,循环读取每一帧。
capture = cv2.VideoCapture(1)#捕捉外部镜头;
capture = cv2.VideoCapture(0):捕捉内部镜头
**ret, frame = cap.read()**读取每一帧,其中ret表示一个True/False的布尔值,用来表示是否读取成功。frame表示读取到的np.array类型的每一帧,就是图片。
**cv2.imshow(‘frame’,frame)**将每一帧显示在一个叫frame的窗口上。这里解释一下,为什么这样显示在窗口上会产生视频的效果。前面操作图片的时候,我们提到过,显示多幅图像的时候,若cv2.imshow() 指定相同的窗口名,这样后面显示的图片会覆盖前面的图片,而产生一个窗口。这里视频显示也是同样的道理,每次while循环,窗口’frame’的名字不变,这样每一帧会覆盖上一帧,就产生了视频的效果。
**cap.release()和cv2.destroyAllWindows()**是用来停止捕获视频和关闭相应的显示窗口的。
*