Opencv实时获取摄像头数据(附带解析)
2024-01-02 19:29:14
# 注意这段代码不能直接在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)中运行。
以下是代码的主要步骤:
-
引入 OpenCV 库:
import cv2
。 -
创建一个窗口,并设置其大小:
cv2.namedWindow('video', cv2.WINDOW_NORMAL)
和cv2.resizeWindow('video', 300, 300)
。 -
获取视频设备:
cap = cv2.VideoCapture(0)
,其中参数 0 表示使用第一个摄像头。 -
进入主循环,不断读取摄像头的视频帧,显示在窗口中:
ret, frame = cap.read()
和cv2.imshow('video', frame)
。 -
使用
cv2.waitKey(1)
获取按键输入,如果按下 'q' 键,则退出循环。 -
释放资源:
cap.release()
释放摄像头资源,cv2.destroyAllWindows()
释放窗口资源。
请确保在本地 Python 环境中执行此类代码,以便正常运行。
文章来源:https://blog.csdn.net/weixin_45266691/article/details/135346956
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!