首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Python Opencv捕获视频

Python Opencv捕获视频

作者头像
云深无际
发布2021-03-12 11:43:47
发布2021-03-12 11:43:47
1.5K0
举报
文章被收录于专栏:云深之无迹云深之无迹

先得安装这个opcv的库

注意选择的Python解释器

我这里还有一个解释器,是thonny的IDE的

装好以后可以看看版本

会发现是可以自动补全的

我们可以在本地的时候放一个图片,读取一下

代码语言:javascript
复制
import cv2
import numpy as np

首先导入我们要用的库

代码语言:javascript
复制
cap = cv2.VideoCapture(0)

接着创建一个使用的物理端口

cap= cv2.VideoCapture(0)

这一句表示调用计算机内置摄像头来获取视频,如果传入参数为1时,表示调用计算机外置摄像头,比如usb连接的摄像头等。VideoCapture对象也可以传入视频文件地址。

代码语言:javascript
复制
while(1):
    # get a frame
    ret, frame = cap.read()
    # show a frame
    cv2.imshow("capture", frame)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

这段是写一个死循环,不停的从物理的接口接收某帧,并显示(imshow),然后等待1个单位时间,如果期间检测到了键盘输入q,则退出,即关闭窗口。

ret, frame = cap.read()

这里使用一个循环表示持续获取摄像头数据,VideoCapture对象的read()方法返回两个值。

第一个值一般为ret,它是一个布尔值,表示是否获取到了图像数据,如果获取成功返回True,获取失败返回False,这一句后可以判断ret是否为True,如果为True则向下执行,False则执行相应的操作,这样可以使得我们的应用程序更加健壮。它还有一个功能就是验证获取到的视频是否到达结尾部分。

第二个值表示获取到的一帧的图像数据。下一步我们将这个图像数据直接转化为灰度图像进行了处理。

代码语言:javascript
复制
cap.release()
cv2.destroyAllWindows()

接着释放物理的摄像头,使用函数关闭所有的窗口。

这里就演示一张照片喽

也可以这样来执行代码

代码语言:javascript
复制
PS C:\Users\yunswj\Desktop\Python学习程序> python.exe .\opencv.py
[ WARN:0] global C:\Users\appveyor\AppData\Local\Temp\1\pip-req-build-0ycehs0d\
opencv
\modules
\videoio\
src\cap_msmf.cpp 
(434) 
`anonymous-namespace'::SourceReaderCB::~SourceReaderCB terminating async callback

以上代码是q执行的中断代码

代码语言:javascript
复制
https://www.fourcc.org/codecs.php
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-02-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 云深之无迹 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档