OpenCV--视频读取与录制

视频读取与录制

python代码和笔记

python 复制代码
import cv2

"""
视频读取与录制
视频==一幅幅图片组成
"""
# 打开摄像头 0表示只有一个摄像头
cv2.namedWindow('frame', cv2.WINDOW_NORMAL)
cv2.resizeWindow('frame', 640, 480)

# 如果是读取视频文件,则0改为视频的地址就行
cap = cv2.VideoCapture(0)

# *mpv4为解包操作 = 'm' 'p' '4' 'v' 30为帧率 ()为窗口大小
fourcc = cv2.VideoWriter_fourcc(*'mp4v')
vw = cv2.VideoWriter("out.mp4", fourcc, 30, (640, 480))

# 循环读取摄像头的每一帧
while True:
    # 读取每一帧数据,返回标记和这一帧数据,True表示读到了数据
    ret, frame = cap.read()

    # 如果没读到 直接退出
    if not ret:
        break

    # 写入每一帧数据
    vw.write(frame)
    # 显示数据
    cv2.imshow('frame', frame)

    # 如果一个视频是30帧,则每张图之间要间隔1000 / 30
    # 这里只能填整数,所以我们用//表示向下取整 1000 // 30
    key = cv2.waitKey(10)
    if key == ord('q'):
        break

# 注意释放资源
cap.release()
vw.release()
cv2.destroyAllWindows()
相关推荐
冬奇Lab42 分钟前
开源项目第241期:YuE2 —— 用符号乐谱当“白盒“接口的开源音乐生成模型,SongBench 超越 Suno v5/v6
人工智能
鶴哥只手遮天2 小时前
Spring AI 2.0.1 深度解析-第 14 章 MCP 服务端(上):注解式实现与工具来源
java·人工智能·开源
鶴哥只手遮天2 小时前
Spring AI 2.0.1 深度解析-第 15 章 MCP 服务端(下):三种协议形态、Streamable 传输与状态管理
java·人工智能·开源
鶴哥只手遮天2 小时前
Spring AI 2.0.1 深度解析-第 16 章 向量存储(上):`VectorStore` 接口体系、`BatchingStrategy`
java·人工智能·开源
鶴哥只手遮天2 小时前
Spring AI 2.0.1 深度解析-第 12 章 工具循环的流式形态、Usage 累加与扩展体系
java·人工智能·开源
鶴哥只手遮天2 小时前
Spring AI 2.0.1 深度解析-第 23 章 模型供应商实现:从 `OpenAiSetup` 到 Bedrock
java·人工智能·开源
鶴哥只手遮天2 小时前
Spring AI 2.0.1 深度解析-第 06 章 内置 Advisor 全景:13 个实现逐个剖到源码级
java·人工智能·开源
鶴哥只手遮天2 小时前
Spring AI 2.0.1 深度解析-第 03 章 消息体系与 Prompt:不可变模型、`ChatOptions` 与模板渲染
java·人工智能·开源
鶴哥只手遮天2 小时前
Spring AI 2.0.1 深度解析-第 24 章 生产实践与 2.x 迁移:陷阱清单、AOT 与调优
java·人工智能·开源
鶴哥只手遮天2 小时前
Spring AI 2.0.1 深度解析-第 10 章 工具调用(中):执行链路、结果转换与工具限制
java·人工智能·开源