分享

Python Opencv捕获视频

 云深无际 2021-11-03

先得安装这个opcv的库

注意选择的Python解释器

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

装好以后可以看看版本


会发现是可以自动补全的

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

import cv2import numpy as np

首先导入我们要用的库

cap = cv2.VideoCapture(0)

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

cap= cv2.VideoCapture(0)

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

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则执行相应的操作,这样可以使得我们的应用程序更加健壮。它还有一个功能就是验证获取到的视频是否到达结尾部分。

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

cap.release()cv2.destroyAllWindows()

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

这里就演示一张照片喽

也可以这样来执行代码

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执行的中断代码

https://www.fourcc.org/codecs.php

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多