从相机读取视频
使用Opencv可以直接从摄像头读取视频,首先我们需要创建一个VideoCapture对象,其参数可以是设备索引或者是我们保存的视频文件的路径和名称。我们从相机中读取视频的话就需要传入我们摄像头的索引号,0被默认是第一个摄像头,其他摄像头依次进行编号,如果传入-1的话则随机选择一个摄像头。
import cv2
#创建VideoCapture对象捕获摄像头
cap = cv2.VideoCapture(0)
#检测cap对象的摄像头是否已经打开
if not cap.isOpened():
print('Cannot open camera')
exit()
#循环,从摄像头读取每一帧图像并显示
while True:
ret, frame =cap.read()
if not ret:
print("Can'treceive frame(stream end?).Exiting...")
break
frame = cv2.flip(frame,1)#1,水平翻转;0,垂直翻转;-1,水平垂直反转
cv2.namedWindow('Video',cv2.WINDOW_NORMAL)
cv2.imshow('Video',frame)
if cv2.waitKey(1)==ord('q'):
break
#释放摄像头
cap.release()
#销毁窗口
cv2.destroyAllWindows()
VideoCapture.read():函数会读取从摄像头抓取的视频帧(图像),它有两个返回值,