百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

Python OpenCV读取摄像头或视频文件并播放显示

off999 2024-11-25 15:52 32 浏览 0 评论

任务:使用Anaconda Python和OpenCV,读取摄像头或视频文件并播放显示。

要从摄像头或视频文件读取视频,首先导入opencv库cv2. 使用cv2.VideoCapture()方法创建一个VideoCapture对象。该方法接收摄像头的索引或视频文件名。如果只有一个摄像头,则以整数0进行索引。如果有多个摄像头,则分别以0,1,2…进行索引。如果是读取视频文件,则需传入视频文件的全名称(包括路径和扩展名)字符串。

任务实现代码如下。


In []:

import cv2 #导入opencv

cap = cv2.VideoCapture(0) #创建VideoCapture对象

while(True): #创建无限循环,用于播放每一帧图像

ret, frame = cap.read() #读取图像的每一帧

cv2.imshow('frame',frame) #显示帧

#等待1毫秒,判断此期间有无按键按下,以及按键的值是否是Esc键

if cv2.waitKey(1) & 0xFF == 27:

break #中断循环

cap.release() #释放ideoCapture对象

cv2.destroyAllWindows() #释放视频播放窗口


Out:



上述代码中,使用cv2.VideoCapture(0)方法创建了一个VideoCapture对象cap. 参数0是摄像头的索引。为读取和播放每一帧图像,使用while(True)创建了一个无限循环,在循环体内读取每帧图像并播放。

cap.read()方法读取视频的每一帧。它返回两个参数,第一个参数(本例ret)是bool型,表示是否成功读取到一帧图像。True表示成功读取,False表示读取失败。第二个参数(本例frame)为图像的数据。它是一个形状为(height, width, channels)的整数型数组。height, width, channels分别表示图像帧的高度、宽度、通道。数组中的每个元素的值是像素值,范围为0-255. 3个通道0,1,2分别表示B(蓝色),G(绿色),R(红色)。

cv2.imshow()方法用于播放帧。它接收两个参数,如本例中cv2.imshow('frame',frame)所示。第一个参数接收字符串,表示播放视频窗口的名称,它将显示在窗口上方。第二个参数即要播放的图像帧。它可以是cap读取的图像frame,也可以是处理过的图像。

要终止播放,可以设置一个按键,当检测到该按键按下后,使用break方法中断循环。这里用到了cv2.waitKey()方法。它接收整数,表示等待的时间(毫秒)。在等待期间判断是否有按键按下,如果有则返回按键的ASCII码。如果传入的参数为小于等于0的整数,则表示无限等待,直到有按键按下。

由于不同操作系统返回的键值长度可能不一样,而ASCII码只有8位,为保险起见,将cv2.waitKey()返回的键值与0xFF进行与运算,只取其低8位,即cv2.waitKey(1) & 0xFF,这样保证获得一个准确的ASCII码。本例使用Esc(ASCII码的十进制为27)键作为终止循环按键。如果使用其他按键(例如q), 则可以使用形如ord(’q’)的方法获取按键的ASCII码。

终止播放后,要使用cap.release()方法释放VideoCapture对象cap,使用cv2.destroyAllWindows()方法销毁播放窗口。

相关推荐

在线qq空间登录入口(qq空间在线登录在线使用)
  • 在线qq空间登录入口(qq空间在线登录在线使用)
  • 在线qq空间登录入口(qq空间在线登录在线使用)
  • 在线qq空间登录入口(qq空间在线登录在线使用)
  • 在线qq空间登录入口(qq空间在线登录在线使用)
如何添加新的打印机(如何安装打印机到电脑上)

点开电脑左下角开始,点击设备和打印机,点击添加打印机,链接方式不同选择相对于的端口如:1网络打印机选择IP/TCP端口输入ip创建端口后,浏览驱动选择安装。2usb接口的,选择usb虚拟端口,然后浏览...

qq空间说说赞免费网站(qq空间说说赞网站真人)

QQ空间里点赞的视频找不到,这是因为被隐藏,或者因为网页更新了,位置不同了。QQ空间点赞的前置图标是QQ个性商城中的“个性赞”功能,具体使用方法:一、打开手机QQ,左滑出手机QQ侧边栏,点击打开“个性...

防火墙的作用是什么

防火墙作为访问控制设备,主要工作在OSI模型的三四层。防火墙主要基于IP报文进行检测,对端口进行限制。产品设计无需理解HTTP等应用层协议,所以也就决定了防火墙无法对HTTP通讯进行输入验证或者规则分...

虚拟机安装ghost xp(虚拟机安装Ubuntu)

先安装vmospro软件(文末有直装高级版)记得给足权限,这个软件相当是你物理手机里的另一款安卓手机。2、安装完软件我们需要在里面安装一个虚拟机,直接点添加虚拟机,这里有很多虚拟机可以选择,建议选7...

固态硬盘读取不出来了(固态硬盘 读不出来)

  1、您可以在开机的时候按下【F12】或者【F8】进入电脑快速引导菜单,查看是否有SSD的名称,您可以进入BIOS之后,将LaunchCSM设置为Enabled就可以;  2、如果是全新的硬盘是没...

分区合并到c盘(磁盘分区合并到c盘)

一、选择我的电脑并点击右键,选择管理菜单。二、选择储存——磁盘管理。三、以将新加卷g盘合并到c盘为例:选择G盘并单击右键呼出菜单,在菜单中选择删除卷菜单。四、点击“是”。点击c盘并单击右键。选择扩展卷...

下载万能钥匙自动连接wifi密码
  • 下载万能钥匙自动连接wifi密码
  • 下载万能钥匙自动连接wifi密码
  • 下载万能钥匙自动连接wifi密码
  • 下载万能钥匙自动连接wifi密码
免费ip转换器(ip转换器是干什么用的)

深度IP转换器软件由广州候胜科技有限公司开发的一款国内IP地址转换器软件深度IP转换器是一款动态IP和静态IP结合的IP地址修改软件,拥有全国城市节点固定IP线路5000加高速服务器IP,属于高匿名8...

笔记本键盘键位图(笔记本键盘键位图怎么看)

在笔记本的键盘左下角有个Fn键,这个键可能很多人都不知道有什么用可能也很少会用到他,就这么被忽略了。而这个Fn键就是笔记本用来开启F1到F12功能的键,有些笔记本是按住Fn键在F1到F12就能发挥他们...

如何消除手机自动出现的广告

方法一:采用关闭手机联网功能  大家都知道手机弹出广告是在手机使用联网功能下发生的,那么可以采用对手机软件联网功能的限制,从而达到屏蔽手机广告的目的,找到手机自带的“网络助手”字样的软件打开后进入到“...

免费wifi上网(怎样打开免费wifi上网)

免费wifi并非完全真实存在。免费wifi虽然在许多公共场所提供,但并非完全免费。通常情况下,提供免费wifi的场所会要求用户进行一些操作,如填写个人信息、观看广告或接受其他形式的付费。这些操作可能会...

本机ip查询地址定位查询(本机ip地址查询位置)

1.地理定位信息。具体的位置是可以通过ip地址查询得出来的。因此,对于当下电信诈骗或者一些网络虚拟的情况下,这样的查询方式是很重要的,也是很容易得出来信息的。只有这样,才能够在定位方面更加精准可靠一点...

wifi万能密码破解器(wifi万能密码破解版)

万能钥匙主要的作用是分享与被分享的关系,你所用万能钥匙一件查询和破解的都是别人分享的密码,不是万能钥匙破解的作用,真正能破解的只是那些密码简单的,比如12345678或者豹子数比如88888888和1...

win8的稳定性(win8稳定还是win10稳定)

如果是玩游戏Win7相对win7稳定一些,能兼容大部分的游戏。其它的应该各有千秋,具体上可以从如下几点了解:1、Win8相对Win7开机更快,内存管理更高效,HTML5支持更好,兼容暂时落后。2、Wi...

取消回复欢迎 发表评论: