我正在从事一个计算机视觉项目,我们需要根据包含一些对象、动物或查询定义的此类内容对视频进行评分。但是对于这个任务,我们首先的目标是从视频中检索一些关键帧来处理。你知道有什么方法可以提取吗?我对这个主题很陌生。
你考虑过使用 ffmpeg 吗?对于各种视频操作,它是一个非常强大的实用程序。如果您对直接输入命令感到满意,可以执行以下操作...
在视频中的特定时间(在本例中为 12 秒)提取单个帧(使用 -vframes 1
),键入:
ffmpeg -i trial.flv -ss 00:00:12 -vframes 1 -f image2 frame.png
或者,要将整个视频转换为单独的帧 - 从 31 秒开始并以指定的帧速率(5Hz -r 5
)采样,请键入:
ffmpeg -i trial.flv -ss 00:00:31 -y -sameq -r 5 -f image2 frame%03d.png
标志-y
将覆盖现有文件,标志-sameq
将强制每个图像文件具有相同的质量。末尾的位是用于提供输出帧的名称(带有 3 个零填充的十进制数字以按顺序区分每个十进制数字 - %03d
)。
只要确保您有足够的空间来存储所有这些框架!
我使用那里解释的方法https://www.quora.com/Computer-Vision/How-do-we-retrieve-key-frames-from-a-video-for-object-recognition