视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Matlab提取视频图像
2025-09-26 21:51:59 责编:小OO
文档
用matlab读取avi电影(只能读一定压缩各式的avi电影) 

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文件,需要相关解码器.”下载本文

显示全文
专题