MATLAB的视频处理函数

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MATLAB的视频处理函数(2013-03-20 09:57:49)转载▼
分类:科技
一、视频输入
1. aviread
2.mmread
二、视频播放
movie
三、视频文件信息
aviinfo
四、视频格式转换
movie2avi
随便拿avi文件进行读取转换,会出错,原因之一:aviread函数只能读取特定编码格式的avi视频,解决办法三个:
1、下载个转换器,转换你的编码格式
2、利用另一个matlab函数:mmreader可以读取更多格式的avi视频(2010版本才能支持)
3、高版本的matlab,aviread函数得到了升级,可以读取很多编码格式的avi……
例程:
[filename,pathname,fileindex]=uigetfile('*.avi','请选择一个Avi文件');
video_info=aviinfo([pathname filename]);
% info =
% Filename: 视频名称
% FileSize: 视频大小
% FileModDate: 视频创建日期
% NumFrames: 视频总帧数
% FramesPerSecond: 视频采集速率
% Width: 视频宽度
% Height: 视频高度
% ImageType: 'truecolor' 图像模式
% VideoCompression: 'DIV3' 视频图像压缩格式
% Quality: 0
% NumColormapEntries: 0
LEN=video_info.NumFrames; %获得视频长度
for k=1:LEN
video_videotape(k)=aviread(video_info.Filename,k); %读入avi文件的第k帧
video_image=video_videotape(k).cdata;
if k<10
imwrite(video_image,strcat('0000',int2str(k),'.bmp'),'bmp');%把每帧图像存入硬盘elseif k>=10 & k<100
imwrite(video_image,strcat('000',int2str(k),'.bmp'),'bmp');%把每帧图像存入硬盘elseif k>=100 & k<1000
imwrite(video_image,strcat('00',int2str(k),'.bmp'),'bmp');%把每帧图像存入硬盘elseif k>=1000 & k<1000
imwrite(video_image,strcat('0',int2str(k),'.bmp'),'bmp');%把每帧图像存入硬盘else
imwrite(video_image,strcat(int2str(k),'.bmp'),'bmp');%把每帧图像存入硬盘end
end
备注:通过更改imwrite那儿的很多参数,可以获得自己想要的很多结果,比如更改bmp 为jpg,
以及其它,具体请在MATLAB下help imwrite。

相关文档
最新文档