如何提取并保存帧视频? ?

292(30天)
已经NAYAN
已经NAYAN 2017年4月4日
评论道: Samanvay阿南德大约8小时前
我用下面的代码阅读和提取完整的视频帧,但问题是帧存储在“多”如附件图片所示。这不是存储为1. jpg, 2. jpg, 3. jpg .....。要解决这个问题。或者告诉我我们如何提取和存储的整个框架以及如何使用它在任何一个for循环。
clc;
清晰的所有;
关闭所有;
抽搐;
vid = VideoReader (“我:\ \ video1.avi测试”);
numFrames = vid.NumberOfFrames;
n = numFrames;
我= 1:1:n
帧=阅读(请看,我);
imwrite(框架,“我:\突然\ \测试”int2str(我),“jpg”]);
结束
多= dir (我:\ \突然\ * . jpg *测试”);
我= 1:1:长度(多)
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - -
结束

接受的答案

1月
1月 2017年4月4日
编辑:1月 2017年4月4日
显示代码创建文件“1. jpg”,“2. jpg”等等。在得到文件名 dir 他们要求按字母顺序,这不是原来的顺序。解决这个问题:
文件夹=“我:\突然\ \测试”;
iFrame = 1: n
帧=阅读(vid iFrame);
imwrite(帧,fullfile(文件夹,sprintf (“% 06 d.jpg”iFrame)));
结束
文件列表= dir (fullfile(文件夹,‘* . jpg”));
iFile = 1:长度(文件列表)
aFile = fullfile(文件夹,文件列表(iFile) . name);
img = imread (aFile);
结束
fullfile 关心文件分隔符。现在改变工作文件夹需要一个修改代码。
“iFile”和“iFrame”是比“我”更descritpive,也可能影子虚数单位。
5个评论

登录置评。

更多的答案(4)

乔安娜Sznajder
乔安娜Sznajder 2018年7月18日
谢谢,伟大的解决方案!

喜悦的托马斯
喜悦的托马斯 2018年11月10日
它完美的工作。谢谢

图像分析
图像分析 2019年1月11日
尽我附加演示就是这么做的,加上一个更有趣的事情。
12个评论
阿历克斯雅
阿历克斯雅 2023年1月23日
你好,
谢谢你这段代码。我知道这个问题有点旧但是你知道怎么提取帧每个防守姿势,然后创建一个新的电影吗?谢谢!

登录置评。


Guram Tsirekizde
Guram Tsirekizde 2019年3月16日
我很新的matlab,所以愚蠢的问题。如何显示例如上面的第一个图像矩阵代码?提前谢谢你。
1评论
图像分析
图像分析 2019年3月17日
videoObject = VideoReader (movieFullFileName)
%从电影中提取第一帧结构。
thisFrame =阅读(videoObject, 1);

登录置评。

类别

找到更多的在图像处理和计算机视觉帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!