AVI文件转换为一系列的图像

134(30天)
NS
NS 2012年3月10日
评论道: 图像分析 2023年4月3日
你好,
我有一个AVI文件格式在MATLAB。我想把它转换成一系列的tif图像。我不能这样做在imageJ。是可能的吗?
NS

接受的答案

钱德拉Kurniawan
钱德拉Kurniawan 2012年3月11日
你好,
这是一个简单的版本:
obj = mmreader (“rhinos.avi”);
vid =阅读(obj);
帧= obj.NumberOfFrames;
x = 1:框架
imwrite (vid (:,:: x), strcat (“框架- - - - - -”num2str (x),“.tif”));
结束
您可以使用您自己的视频通过替换的犀牛。avi的用你自己的。
我希望这工作!
4评论
图像分析
图像分析 2017年7月6日
他没有指定一个文件夹,不幸的是,因此,图像将进入当前文件夹,同一个m文件。

登录置评。

更多的答案(3)

以利亚Galbreath
以利亚Galbreath 2021年6月30日
outputFolder = uigetdir(路径);
%读入视频
viddir = uigetdir(路径);
viddir = fullfile (viddir,“test.avi”);
obj = VideoReader (viddir);
vid =阅读(obj);
%的帧数
帧= obj.NumFrames;
x = 1:框架
%创建一个文件名
outputBaseFileName = sprintf (“帧% 4.4 d.png”,x);
outputFullFileName = fullfile (outputFolder outputBaseFileName);
imwrite (vid (:,:: x), outputFullFileName,“png”);
结束

图像分析
图像分析 2012年3月11日
这里是关键线路:
outputFolder =“c: /用户/不管”;变化百分比!
%读电影中。
mov = aviread (movieFullFileName);
%确定有多少帧。
numberOfFrames =大小(mov, 2);
帧= 1:numberOfFrames
%从电影中提取帧结构。
thisFrame = mov .cdata(框架);
%创建一个文件名。
outputBaseFileName = sprintf (“帧% 4.4 d.png”、框架);
outputFullFileName = fullfile (outputFolder outputBaseFileName);
%写出来到磁盘。
imwrite (thisFrame outputFullFileName,“png”);
结束
14日的评论
图像分析
图像分析 2020年3月5日
aviread()是一个非常古老的函数,它可能已经被删除了。你需要用VideoReader取而代之。请看附呈演示求助和例子。

登录置评。


Sushil沙玛
Sushil沙玛 2019年9月23日
编辑:Sushil沙玛 2019年9月23日
Upadte回答
在以免veriosn matlab,我们必须使用 VideoReader 而不是 mmreader ,那么你可以将任何视频文件转换为帧
这里简单的代码框架
% %改变.avi格式图像帧
obj = VideoReader (“test2.avi”);
vid =阅读(obj);
帧= obj.NumberOfFrames;
x = 1:框架
imwrite (vid (:,:: x), strcat (“框架- - - - - -”num2str (x),“使用”));
结束
2的评论
图像分析
图像分析 2023年4月3日
@William Thielicke 整个视频读入RAM磁盘,然后写出一帧。这可能是尽可能快的走了。这可能是调用imwrite花时间()。我假设你使用SSD驱动器。你可以试着用内存虚拟盘,而不是你的SSD保存你的个人文件。

登录置评。

标签

社区寻宝

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

开始狩猎!