视频采集
相关API
- VideoCapture()
- cap.read(): 返回两个值,第一个参数,如果读到frame,返回 True. 第二个参数为相应的图像帧。
- cap.release()
VideoCapture
cv2.VideoCapture(0)
0 表示自动检测,如果在笔记本上运行,通常为笔记本的摄像头。其他的参数如下图。
视频录制
- VideoWriter
- write
- release
VideoWriter
cv2.VideoWriter()
VideoWriter(filename, fourcc, fps, frameSize[, isColor])
第一个参数是要保存的文件的路径
fourcc 指定编码器
fps 要保存的视频的帧率
frameSize 要保存的文件的画面尺寸, 分辨率
isColor 指示是黑白画面还是彩色的画面
import cv2#创建VideoWriter为写多媒体文件
fourcc = cv2.VideoWriter_fourcc(*'MJPG')
vw = cv2.VideoWriter('./out.mp4', fourcc, 25, (1280, 720))#创建窗口
cv2.namedWindow('video', cv2.WINDOW_NORMAL)
cv2.resizeWindow('video', 640, 360)#获取视频设备/从视频文件中读取视频帧
cap = cv2.VideoCapture(0)#判断摄像头是否为打开关态
while cap.isOpened():#从摄像头读视频帧ret, frame = cap.read()if ret == True:#将视频帧在窗口中显示cv2.imshow('video', frame)#重新将窗口设备为指定大小cv2.resizeWindow('video', 640, 360)#写数据到多媒体文件vw.write(frame)#等待键盘事件,如果为q,退出key = cv2.waitKey(1)if(key & 0xFF == ord('q')):breakelse:break#释放VideoCapture
cap.release()#释放VideoWriter
vw.release()#vw.release()
cv2.destroyAllWindows()
补充:待实践
WSL2通过OpenCV调用并展示本机摄像头的RTSP视频流