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

相关推荐
mtouch3333 分钟前
技术解析|无人机倾斜摄影3D模型全天候动态光照融合方案
人工智能·无人机·虚拟现实·电子沙盘·数字沙盘·无人机倾斜摄影
小范的技术工坊3 分钟前
大模型学习操作文档(13个核心概念串讲)
人工智能·学习·算法·大模型
DP DPharness6 分钟前
按下撤回却没变化:dsh-recall-plugin 故障速查与排错清单
人工智能·dpharness
MetaEnchanter6 分钟前
Word 提取图片:不用逐张截图,Excel、PPT 也能取
人工智能·ai·百万工具
腾渊信息科技公司9 分钟前
腾渊科技重磅出品——工业软件智能化落地指南:从AI辅助到AI原生的架构演进
人工智能·科技·ai-native
2401_8652616311 分钟前
亦唐科技(YIKTONG):国产贴片机行业的技术先锋与市场领军者
人工智能·科技
Dream-Y.ocean18 分钟前
懂你的情绪,记得你在意的事 - 知暖如何用端到端具身交互智能重构 AI 情感陪伴
人工智能·重构·交互
IT_陈寒20 分钟前
用Vue时这个响应式陷阱坑了我一整天
前端·人工智能·后端
bing.shao22 分钟前
不点鼠标的AI:GPT-6 Astra 推开「软件操作层时代」
人工智能·gpt
围炉聊科技22 分钟前
你从IDE切到ADE了吗?智能体开发环境赛道地图——智能体基建系列
ide·人工智能