aviinfo('d:\\j.avi'); %显示存在d盘的电影j.avi的信息
mov=aviread('d:\\j.avi'); %读入存在d盘的电影j.avi
movie(mov); %放映电影
将电影转成图片序列
mov=aviread('d:\\j.avi'); %读入
fnum=size(mov,2); %读取电影的祯数,mov为1*temp
for i=1:fnum
strtemp=strcat('d:\转换的图片\\',int2str(i),'.','jpg');%将每祯转成jpg的图片
imwrite(mov(i).cdata(:,:,Smile,mov(i).colormap,strtemp);
end
mov=aviread('f:/output.avi'); %读入视频
lm=size(mov,2); %计算帧数
for i=1 : lm
frame = mov(i); %提取每一帧图像
………… %处理过程
…………
? %如何标记矩形
movie(ff,1,30); %播放
end
function avi2pic(avifile,pickind)
%function avi2pic(avifile,pickind)
% avifile-- the avi filename,like 'darnshong.avi','ioe.avi',etc;
% pickind-- the kind of image format,like 'jpg','bmp',etc
% supported export image
% format:'jpg','jpeg','bmp','tiff','tif','gif','png',etc
mov=aviread(avifile);
temp=size(mov);
fnum=temp(2);
for i=1:fnum,
strtemp=strcat(int2str(i),'.',pickind);
imwrite(mov(i).cdata(:,:,:),strtemp);
end;
有了这段代码后还要有一个AVI文件进行测试.请放到相应的目录下:f:test.avi.
有很多人在使用这个程序时常常出现的问题是:Unable to locate decompressor to decompress video stream,这个问题的解决方法很简单,是由于matlab没有该avi文件的解码器.你可以使用winavi这个软件,在转化成avi格式时,选择ZJMedia Uncompress RGB24 这个视频格式就可以了.注意不要选择ZJMedia Uncompress RGB32 因为matlab6.5 无法处理32位真彩的avi视频.
同时,有的数码相机拍摄的视频文件无法直接提取,如我的fx01拍摄的.mov文件,需要相关解码器.”下载本文