Opencv帮我们提供了非常好用的视频采集api,我们只需要调用简单的几个api就能实现视频数据的采集。让我们看看都有哪些api。
- VideoCapture():是一个虚拟的视频采集器,当我们调用VideoCapture时,告诉它一个设备号即可打开摄像头。
- cap.read():打开摄像头以后即可使用此api将视频内容一帧一帧的读取出来。有两个返回值,第一个为状态值,读到为TRUE,第二个为视频帧数。
- cap.release():将资源释放掉。
import cv2
from cv2 import waitKey
cv2.namedWindow('video',cv2.WINDOW_NORMAL)
# 获取视频设备,获取索引为0的摄像头设备,设备至少有一个摄像头
cap=cv2.VideoCapture(0)
while 1:
# 从摄像头读视频帧
ret,frame=cap.read()
cv2.imshow('video',frame)
# 等待键盘事件,如果按q键就退出
key=cv2.waitKey(5)
if key==ord('q'):
break
# 释放VideoCaptrue
cap.release()
cv2.destroyAllWindows()