Opencv实时获取摄像头数据(附带解析)

python 复制代码
# 注意这段代码不能直接在jupyter中使用,否则会崩溃
import cv2  # 引入CV库
"""
读取摄像头数据,实时获取摄像头数据,同时按q退出
"""
# 创建窗口
cv2.namedWindow('video', cv2.WINDOW_NORMAL)
cv2.resizeWindow('video', 300, 300)  # 设置窗口大小

# 获取视频设备
cap = cv2.VideoCapture(0)
while True:
    # 从摄像头读视频帧
    ret, frame = cap.read()
    # 将视频帧在窗口中显示
    cv2.imshow('video', frame)
    key = cv2.waitKey(1)  # 不能为0,0为等待中断,只能读取到一帧的数据
    if (key & 0xFF == ord('q')):
        break

# 释放资源
cap.release()  # 释放视频资源
cv2.destroyAllWindows()  # 释放窗口资源

这段代码是一个使用 OpenCV 库在本地摄像头捕获视频并实时显示的简单示例。请注意,由于 Jupyter Notebook 不支持直接在内核中实时显示摄像头视频,因此在 Jupyter 中执行可能导致崩溃。这样的代码通常在本地 Python 脚本或集成开发环境(IDE)中运行。

以下是代码的主要步骤:

  1. 引入 OpenCV 库:import cv2。

  2. 创建一个窗口,并设置其大小:cv2.namedWindow('video', cv2.WINDOW_NORMAL) 和 cv2.resizeWindow('video', 300, 300)。

  3. 获取视频设备:cap = cv2.VideoCapture(0),其中参数 0 表示使用第一个摄像头。

  4. 进入主循环,不断读取摄像头的视频帧,显示在窗口中:ret, frame = cap.read() 和 cv2.imshow('video', frame)。

  5. 使用 cv2.waitKey(1) 获取按键输入,如果按下 'q' 键,则退出循环。

  6. 释放资源:cap.release() 释放摄像头资源,cv2.destroyAllWindows() 释放窗口资源。

请确保在本地 Python 环境中执行此类代码,以便正常运行。

相关推荐
汤姆宝库2 分钟前
蒸馏与小模型深拆:软标签、轨迹搬运与能力电网
人工智能·ai
poiu12346576 分钟前
使用AI辅助学习与资料整理的个人体会
人工智能·学习
清华kenny8 分钟前
美业经营者如何筛选中医健康系统?避坑与推荐
大数据·人工智能·安徽晓得养
4SAPI14 分钟前
电商全链路内容自动化生成大模型 API 生产选型指南:4SAPI、硅基流动与 OpenRouter 的架构权衡
运维·人工智能·架构·自动化·1024程序员节
2601_9654490815 分钟前
AI视频制作:做文物视频,青铜器瓷器的图难找,AI怎么自动扒文物素材?
人工智能·音视频
LUSTER凌云光21 分钟前
最高146kHz行频,RGB+NIR同步成像:高速多光谱线阵相机如何提升工业检测效率?
人工智能
shxjnpl22 分钟前
粤语医患对话如何转成电子病历?从方言 ASR 到端侧离线语音处理
人工智能·语音识别·实时音视频
段一凡-华北理工大学23 分钟前
高炉能源系统智能化:热风炉、煤气与极致能效~系列文章04:智能烧炉:燃烧控制与空燃比优化的实战逻辑
人工智能·能源·高炉机器视觉·高炉能源优化·热风炉智能控制
只是一个麦旋风29 分钟前
2026年(2027届)保研经验贴--cs保研末法时代双非计算机rank1何去何从(电科深DIG、吉大人工智能、信工所、川大计算机、中大电通、东南网安等)
人工智能
时空节拍AI数字人30 分钟前
博物馆数字人讲解系统设计:知识库 schema、展项联动协议与时序控制
java·服务器·前端·人工智能·ai·语音识别