OpenCV读取摄像头视频流

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()

猜你喜欢

转载自blog.csdn.net/weixin_43227851/article/details/133555564