【监控】如何打开笔记本的电脑调出摄像头将画面保存下来

复制代码
import cv2

# 初始化摄像头
cap = cv2.VideoCapture(0)  # 0 通常是默认摄像头的标识

# 检查摄像头是否成功打开
if not cap.isOpened():
    print("无法打开摄像头")
    exit()

# 设置拍照参数
# 例如,拍照的帧数
frame_count = 0
# 拍照的最大帧数
max_frames = 1000

# 拍照循环
while True:
    # 读取摄像头的下一帧
    ret, frame = cap.read()

    # 如果正确读取帧,ret为True
    if not ret:
        print("无法接收帧,请退出")
        break

    # 如果达到最大帧数,则保存图片并退出
    if frame_count >= max_frames:
        # 保存图片
        cv2.imwrite('snapshot1.jpg', frame)
        print("图片已保存")
        break

    # 显示当前帧
    cv2.imshow('Frame', frame)

    # 等待键盘输入,按 's' 键进行拍照
    key = cv2.waitKey(1) & 0xFF
    if key == ord('s'):
        # 保存图片
        cv2.imwrite('snapshot2.jpg', frame)
        print("图片已保存")
        break

    # 计数器增加
    frame_count += 1

# 释放摄像头资源
cap.release()
# 关闭所有OpenCV窗口
cv2.destroyAllWindows()
相关推荐
Shockang11 小时前
llama.cpp 本地运行 9B 模型:部署、工具调用与微调数据
人工智能
Shockang11 小时前
n8n 智能体工作流实战:触发、工具、记忆与发布护栏
人工智能
冬奇Lab12 小时前
开源项目第241期:YuE2 —— 用符号乐谱当“白盒“接口的开源音乐生成模型,SongBench 超越 Suno v5/v6
人工智能
鶴哥只手遮天13 小时前
Spring AI 2.0.1 深度解析-第 14 章 MCP 服务端(上):注解式实现与工具来源
java·人工智能·开源
鶴哥只手遮天14 小时前
Spring AI 2.0.1 深度解析-第 15 章 MCP 服务端(下):三种协议形态、Streamable 传输与状态管理
java·人工智能·开源
鶴哥只手遮天14 小时前
Spring AI 2.0.1 深度解析-第 16 章 向量存储(上):`VectorStore` 接口体系、`BatchingStrategy`
java·人工智能·开源
鶴哥只手遮天14 小时前
Spring AI 2.0.1 深度解析-第 12 章 工具循环的流式形态、Usage 累加与扩展体系
java·人工智能·开源
鶴哥只手遮天14 小时前
Spring AI 2.0.1 深度解析-第 23 章 模型供应商实现:从 `OpenAiSetup` 到 Bedrock
java·人工智能·开源
鶴哥只手遮天14 小时前
Spring AI 2.0.1 深度解析-第 06 章 内置 Advisor 全景:13 个实现逐个剖到源码级
java·人工智能·开源