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 环境中执行此类代码,以便正常运行。

相关推荐
在水一缸6 分钟前
重塑前端开发认知:当 AI 遇见 HTML 的“不合理有效性”
前端·人工智能·html·ai编程·claude·前端开发
果丁智能7 分钟前
智慧校园一卡通深度融合方案:基于超级SIM卡的手机碰一碰智能开锁技术落地实践
数据结构·人工智能·python·科技·算法·智能家居·信息与通信
Rubin智造社7 分钟前
智读致用《埃隆之书·番外篇》|SpaceX上市:从“10%成功率”到2万亿美元:一场赌上一切的万亿豪赌
人工智能·星链·商业航天·埃隆之书·spacex上市·史上最大ipo·太空ai
eric-sjq8 分钟前
Xiaothink-T17-Tiny 模型深度解析:轻量级RNN架构的创新与实战评测
人工智能·深度学习·语言模型·自然语言处理·架构
在水一缸9 分钟前
WeClaw_61_当AI把内部协议泄漏给用户:DeepSeek DSML标记污染content字段的全链路排查与修复
人工智能·api安全·流式处理·deepseek·bug修复·dsml·数据泄漏
Cosolar10 分钟前
72小时生死时速:一文读懂引爆Fable模型禁令的越狱技术风暴
人工智能·后端·程序员
mit6.82413 分钟前
大模型基础设施 KV Cache
人工智能
Haibakeji13 分钟前
长沙定制开发教育APP哪家软件公司强
大数据·人工智能
Swift社区13 分钟前
AI Native 鸿蒙 App:从页面驱动到智能驱动的架构革命
人工智能·架构·harmonyos
老徐聊GEO14 分钟前
芜湖Ai搜索获客亲测有效案例分享
人工智能·python