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()
【监控】如何打开笔记本的电脑调出摄像头将画面保存下来
青龙摄影2024-11-19 16:19
相关推荐
qq59184068538 分钟前
uiautomator2自动化安卓手机操作豪气的程序猿1 小时前
电商图片工作流怎么选?Lingko AI 对比折叠键盘主图与详情页80s7771 小时前
动态代理和静态代理的区别,动态代理怎么提高网络安全性小刘快学习1 小时前
把 AI 账单拆到部门:企业 AI 网关的精准分账思路米小虾2 小时前
你让监控模型读的思维链,可能是攻击者写好的剧本deepseek232 小时前
Iris 开源搜索智能体拆解:35B 与 397B 中文仅差 0.3 分,上下文管理胜过堆参数ai小陈2 小时前
CUDA Stream实战:让数据传输与GPU计算真正重叠residual_fan2 小时前
【学术论文】航空发动机故障诊断智能体:基于持续对比强化学习的动态优化方法东风破_2 小时前
从 RAG 到 Agentic RAG:第二步,把复杂问题拆开再检索dehuisun2 小时前
第07篇:RAG+Agent 部署架构、资源评估与私有化方案