编程教育资源分享平台

网站首页 > 后端开发 正文

Opencv-python教你如何获取视频的FPS,帧数和时长

luoriw 2024-02-01 14:23:32 后端开发 10 ℃ 0 评论

原创首发

一个视频,本质上就是按每秒多少张图片来播放的。一张图片就是一帧,因此,在处理视频中,可能需要了解视频的FPS,帧数,总的时间是多少,方便后续处理。教程如下:



关键函数:video.get()

代码如下:

import cv2
video= cv2.VideoCapture('football.mp4')    
# 当成功打开视频时video.isOpened()返回True,否则返回False
if video.isOpened():  
	# 帧速率
    fps = video.get(5)   
    # 视频文件的帧数
    FrameNumber =video.get(7)
    # 帧速率/视频总帧数 是时间,单位s
    time = FrameNumber/fps
print("帧速率",fps,"帧数",FrameNumber,"时间(s)",time)

该视频结果显示: 帧速率 30.0 帧数 357.0 时间(s) 11.9

详解:

1.video.isOpened()

当成功打开视频时video.isOpened()返回True,否则返回False

2.video.get(5)

该函数可以获取视频的相关信息,具体数字用法如下:

0:CV_CAP_PROP_POS_MSEC 视频文件的当前位置(以毫秒为单位)或视频捕获时间戳。

1:CV_CAP_PROP_POS_FRAMES 接下来要解码/捕获的帧的基于0的索引。

2:CV_CAP_PROP_POS_AVI_RATIO 视频文件的相对位置:0 - 电影的开始,1 - 电影的结尾。

3:CV_CAP_PROP_FRAME_WIDTH 视频流中帧的宽度。

4:CV_CAP_PROP_FRAME_HEIGHT 视频流中帧的高度。

5:CV_CAP_PROP_FPS 帧速率。

6:CV_CAP_PROP_FOURCC 编解码器的4字符代码。

7:CV_CAP_PROP_FRAME_COUNT 视频文件中的帧数。

8:CV_CAP_PROP_FORMAT 返回的Mat对象的格式 retrieve() 。

9:CV_CAP_PROP_MODE 指示当前捕获模式的特定于后端的值。

10:CV_CAP_PROP_BRIGHTNESS 图像的亮度(仅适用于相机)。

11:CV_CAP_PROP_CONTRAST 图像对比度(仅适用于相机)。

12:CV_CAP_PROP_SATURATION 图像的饱和度(仅适用于相机)。

13:CV_CAP_PROP_HUE 图像的色调(仅适用于相机)。

14:CV_CAP_PROP_GAIN 图像的增益(仅适用于相机)。

15:CV_CAP_PROP_EXPOSURE 曝光(仅适用于相机)。

16:CV_CAP_PROP_CONVERT_RGB 布尔标志,指示是否应将图像转换为RGB。

17:CV_CAP_PROP_WHITE_BALANCE_U 白平衡设置的U值(注意:目前仅支持DC1394 v 2.x后端)

18:CV_CAP_PROP_WHITE_BALANCE_V 白平衡设置的V值(注意:目前仅支持DC1394 v 2.x后端)

19:CV_CAP_PROP_RECTIFICATION 立体摄像机的整流标志(注意:目前仅支持DC1394 v 2.x后端)

20:CV_CAP_PROP_ISO_SPEED摄像机 的ISO速度(注意:目前仅支持DC1394 v 2.x后端)

21:CV_CAP_PROP_BUFFERSIZE 存储在内部缓冲存储器中的帧数(注意:目前仅支持DC1394 v 2.x后端)

可以收藏,方便后续查找。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表
最新留言