MATLAB的AViReader与VideoReader

name=keyw
name=keywords><meta content="matlab中aviread和VideoReader" name=description><meta name="mobile-agent" content="format=html5;url=http://www.360doc.cn/article/11712807_323149698.html"/><meta content="matlab中aviread和VideoReader                     matlab中打开视频文件     aviread是7.0版之前的打开视频文件的函数,它只能打开非压缩格式的avi视频文件,所以你想使用这个函数,必须先借助某种工具(如WinAVI软件)把压缩的视频文件转换成非压缩的,但是会变得特别大。" name=360docabstract><meta content="www.360doc.com" name="author" /><title>matlab中打开视频文件<div>        aviread是7.0版之前的打开视频文件的函数,它只能打开非压缩格式的avi视频文件,所以你想使用这个函数,必须先借助某种工具(如WinAVI软件)把压缩的视频文件转换成非压缩的,但是会变得特别大。下面举例说明,如果我们想处理视频的第一帧,需要先提取出来:</div><div>user_entry = input('Please enter an avi filename: ','s');</div><div>M = aviread(user_entry);    %输入文件必须为非压缩格式</div><div>[dontneed numberofframes] = size(M);  %得到视频的总帧数</div><div>Frame1 = M(1,1);   %M为1*numberofframes数组</div><div>Image1 = frame2im(Frame1);  %视频帧转换成图像</div><div>然后就可以进行处理啦,其他帧也一样。</div><div>        新版本的matlab建议用VideoReader函数取代aviread函数对视频进行读取,而且适用于压缩格式的多种文件格式,同样的功能如下:</div><div>user_entry = input('Please enter an avi filename: ','s');</div><div><div>readerobj = VideoReader(user_entry, 'tag', 'myreader1');</div><div>vidFrames=read(readerobj);</div></div><div>numberofframes=get(readerobj,'numberofFrames');</div><div>Image1=vidFrames(:,:,:,1);</div><div>        如果需要对处理后的图像按视频方式播放,或者转换成avi格式保存</div><div>for i = 1:numberofframes</div><div>      imshow(image);       %第一次播放(连续显示普通图像)</div><div>      mov(i)=getframe;   %已经转换成了视频帧的格式,包含cdata和colormap</div><div>end</div><div>hf=figure;</div><div>set(hf,'position',[500 800 readerobj.Width readerobj.Height]);</div><div>movie(hf,mov,1,readerobj.FrameRate);      %第二次播放</div><div>movie2avi(mov,'out.avi');     </div><div>上面程序对处理后的图像按视频方式播放了两次。</div><div><br></div><div><br></div>


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值