matlab实现视频的载入,及各帧的图片显示

第一次写,只是自己个人的经验。希望能够帮助像我这样的菜鸟!

我的MATLAB是R2015b的,算是很新的吧。版本的革新,是有些在低版本能用的语句,到高版本就不能用了。就像即将要说的视频读入语句。

在2015b的版本中,视频的读入语句已经将avireader变成VideoReader;要注意视频的格式!不同的版本能读入的格式不同,一般是越版本越高读入得视频文件种类越多吧。所以刚开始一定要知道自己所用的matlab版本。具体的我们看程序吧!


clear clc;
clear all    
  %这是清除之前空间里的内存变量等等,这个大家应该都知道
fileName='falling.avi'    %这是告诉我们的视频的名字是什么,变量的定义大家都懂
obj = VideoReader(fileName);  %看到没这里的“VideoReader”就是2015b版本读取视频的语句
numFrames = obj.NumberOfFrames;% 读取视频的帧数


 for i = 1 :10: numFrames %这里我要好好的说一下啦,这是一个循环语句我们看等号的右边“a:b:c”的格式,a代表从哪一帧开始,b代表间隔多少帧,c代表的就是结束帧。从上面的语句,已经读出该段视频的帧数,因为我的课题需要,所以选取最大帧数,也就是上面语句读出来的那个数。
     frame = read(obj,i);% 读取上面语句所要求的每一帧
     imshow(frame);%显示要求的每一帧
     imwrite(frame,strcat(num2str(i),'.jpg'),'jpg');% 保存上面要求的每一帧
end


注意:我们所存放的文件最好和我们存放的matlab程序在一个文件夹里,这样你用上面的输入名字的方式就能找到目标文件了。如果不是的话,那么你就需要详细的用语言表示出你存放的视频的路径,不然就可能会出现找不到目标视频的问题。而保存的视频帧也是和你存放的程序的文件夹在一起的。


这是我的第一步,后面还要继续学习!加油!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值