OpenCV читает видеопоток камеры
"""
1.OpenCV读取摄像头视频流,并且显示
2.保存摄像头录制视频到本地
"""
#导入相关包;OpenCV、numpy
import cv2
import numpy as np
# 调用摄像头
# cv2.VideoCapture(0):调用摄像头,0:默认摄像头
cap = cv2.VideoCapture(0)
# 保存摄像头录制视频
# 视频格式,windows推荐DIVX,X264
fourcc = cv2.VideoWriter_fourcc(*'X264')
fps = 30 # FPS
# 保存视频的长宽,获取摄像头默认的长宽,也可以直接设置大小
# int():去整,cap.get(cv2.CAP_PROP_FRAME_WINTH)获取的是小数
width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
writer = cv2.VideoWriter('./video/capdemo.mp4',fourcc,fps,(width,height))
while True:
# 返回frame
ret,frame = cap.read()
# 读取的为一帧一帧的图
# 镜像:Y轴翻转(1)
frame = cv2.flip(frame,1)
# 灰度显示
# frame = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
# 保存视频真正的操作,写入画面到文件
# 是将没一帧的画面写入
writer.write(frame)
# 显示画面
cv2.imshow('Demo',frame)
# 退出条件
if cv2.waitKey(10) & 0XFF == ord('q'):
break
# 释放句柄
writer.release()
cap.release()
# 关闭所有窗口
cv2.destyoyAllWindows()