如何随机抽取每段视频画面中的一帧保存为图片格式?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何随机抽取每段视频画面中的一帧保存为图片格式?相关的知识,希望对你有一定的参考价值。
灵云
打开FFmpeg软件的官方网站http://ffmpeg.org/,点击"Download"下载按钮就如下载详情页
在下载详情页会看到三个大图标,企鹅代表Linux系统,微软标志代表Windows系统,最后一个苹果代表Mac系统,可以根据自己的系统类型选择不同的下载版本,点击Windows系统,三个图标下方会展示Windows版本的下载详情页连接
点击Windows下载详情连接可以看到有一个Architecture代表系统架构,32位系统和64位系统的用户需要选择对应的架构类型,最后点击蓝色的下载按钮开始下载FFmpeg软件zip包
解压下载完的zip包,将解压的文件夹拷贝到C:\\Program Files\\目录下,接着需要将ffmpeg的bin文件所在路径添加到path环境变量中
打开控制面板->系统与安全->系统,点击系统界面左窗口底部的"高级系统设置",在高级选项卡中点击底部"环境变量...",最后选中path路径变量,点击编辑按钮
在path编辑界面添加ffmpeg的bin路径,最后点击确定按钮
关闭前面打开的窗口,运行Windows+R打开运行窗口,在运行窗口中输入cmd命令,点击确认按钮打开命令行窗口
在命令行窗口中输入ffmpeg,如果提示ffmpeg命令的使用法就代表ffmpeg软件安装成功
在命令行窗口中将路径切换到需要抽取图片的视频文件所在目录,执行如下命令:
ffmpeg -i "视频文件名" -ss "抽取帧在视频中的秒数" -f image2 "抽取图片文件名"
例如:ffmpeg -i qldyx.mp4 -ss 10 -f image2 first.jpg
可以看到已经正确抽取出了第10秒的图像
这个很操作,分享一操作步骤
1,运行媒体梦工厂,并点击视频封面这个功能
2,把视频导入进去
3,选 下随机抽出视频中某一帧
4.点开提取
一般都是用这个方法抽取的,有需要也可以下载一个试试下。这个是纯个人操作方法 。
提取视频每一帧保存图片-MATLAB
MATLAB提取视频每一帧并保存图片比较简单,几行代码就可以实现
fileName = 'E:\\文件夹\\WIN_20210917_22_23_15_Pro.avi';
obj = VideoReader(fileName);
numFrames = obj.NumberOfFrames;% 读取视频的帧数numFrames
for i = 1 : numFrames
frame = read(obj,i);% 读取每一帧
imshow(frame);%显示每一帧
namestyle=sprintf('%6d',i);
imwrite(frame,strcat('E:\\MATLAB\\MyPaper\\2SR\\Spatial-Subspace-Rotation-master\\readVideo\\data\\move2\\',namestyle,'.png'),'png');% 保存每一帧到固定文件夹
%imwrite(frame,strcat(num2str(i),'.png'),'png');% 保存每一帧
end
以上是关于如何随机抽取每段视频画面中的一帧保存为图片格式?的主要内容,如果未能解决你的问题,请参考以下文章