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

相关推荐
侠客工坊7 分钟前
移动端 RPA 的架构重构:基于侠客工坊多模态视觉大模型的自动化调度系统压测复盘
人工智能·智能手机·重构·架构·rpa·数字员工·侠客工坊
胖墩会武术11 分钟前
Obsidian 与 Obsidian Skills 小白入门
人工智能·ai·obsidian·obsidian skills
河北小博博11 分钟前
李宏毅Harness Engineering课程逐字稿整理:有时候模型不是不够聪明,只是没有好的Harness
人工智能
Elastic 中国社区官方博客12 分钟前
Elastic-caveman : 在不损失 Elastic 最佳效果的情况下,将 AI 响应 tokens 减少64%
大数据·运维·数据库·人工智能·elasticsearch·搜索引擎·全文检索
云天AI实战派33 分钟前
Agentic AI 全流程实战:用 OpenAI on AWS 搭一个餐饮补货智能体,从 API 调用到容器化上线
人工智能·云计算·aws
万岳科技程序员小金42 分钟前
2026智慧药店系统源码趋势:药店APP+小程序开发新方向
人工智能·电子处方小程序·药店软件开发·药店系统源码·药店app开发·药店平台搭建·药店小程序
xingyuzhisuan1 小时前
稳定性考验:连续跑7天,哪家云主机不重启、不掉线?
服务器·人工智能·gpu算力
sanshanjianke1 小时前
AI辅助网文创作理论研究笔记(十):软件框架设计——模块化B/S架构
人工智能·ai写作
云天AI实战派1 小时前
AI 智能体问题排查指南:ChatGPT、API 调用到 Agent 上线失灵的全流程修复手册
大数据·人工智能·python·chatgpt·aigc
Tutankaaa2 小时前
知识竞赛题库设计全攻略
人工智能·算法