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

相关推荐
秦ぅ时几秒前
GPT-5.4 Nano 评测:轻量模型的效率天花板
人工智能·gpt
早起困难大户12 分钟前
使用TypeScript写一个获取天气的MCP Server
人工智能·node.js
阿杰学AI12 分钟前
AI核心知识123—大语言模型之 KV Cache
人工智能·ai·语言模型·自然语言处理·aigc·kv cache·键值缓存
金融Tech趋势派14 分钟前
Hermes Agent开源45天登顶GitHub,深度解析其记忆机制与部署方案
人工智能·微信·开源·github·企业微信·openclaw·hermes agent
砍材农夫23 分钟前
spring-ai 第十一mcp server调用入门(stdio协议)
人工智能·spring·microsoft
码农阿豪24 分钟前
一次 AI 调用 15 万 Token 只花了 $0.058?彻底搞懂 Token、缓存读、补全计费机制!(附完整架构图)
人工智能·spring·缓存
Gofarlic_OMS30 分钟前
ENOVIA基于Token的许可证消费模式分析与分点策略
java·大数据·开发语言·人工智能·制造
2501_9479082036 分钟前
F5携手亚马逊云科技与微软参与NSS Labs AI研究报告,定义AI运行时安全测试基准
人工智能·科技·microsoft
Jagger_38 分钟前
我终于想明白了,为什么我不会赚钱。
人工智能
xixixi7777741 分钟前
跨境AI服务:多语种大模型+卫星通信+量子加密+数据脱敏+安全审计,合规·高效·安全三重保障
人工智能·安全·大模型·通信·卫星通信·审计·量子安全