基于MATLAB对avi视频的处理Word格式.docx

上传人:b****5 文档编号:18104527 上传时间:2022-12-13 格式:DOCX 页数:8 大小:952.01KB
下载 相关 举报
基于MATLAB对avi视频的处理Word格式.docx_第1页
第1页 / 共8页
基于MATLAB对avi视频的处理Word格式.docx_第2页
第2页 / 共8页
基于MATLAB对avi视频的处理Word格式.docx_第3页
第3页 / 共8页
基于MATLAB对avi视频的处理Word格式.docx_第4页
第4页 / 共8页
基于MATLAB对avi视频的处理Word格式.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

基于MATLAB对avi视频的处理Word格式.docx

《基于MATLAB对avi视频的处理Word格式.docx》由会员分享,可在线阅读,更多相关《基于MATLAB对avi视频的处理Word格式.docx(8页珍藏版)》请在冰豆网上搜索。

基于MATLAB对avi视频的处理Word格式.docx

多媒体信息的获取、处理、展现三个基本过程;

3.不能是打开一个视频文件播放,也不能用现成的插件完成,比如在程序中插入一个mediaplayer的插件完成;

二、实验内容:

1.实验素材:

在本次的对avi视频处理的过程中,原素材选取了“浙江卫视奔跑吧兄弟20141031期”,720P(1280×

720),3.72GB,mkv格式,时长01:

30:

23,如图2.1所示:

图2.1

实验素材的预处理:

在实验中考虑到两点因素,需对原素材做预处理:

1.原素材时长太长,一个多小时,分辨率太高,720P,数据量太大,对计算机处理难度太高,需对视频进行截短和降低分辨率,故使用格式工厂先对视频进行处理,如图2.2所示;

图2.2

本次实验平台是Matlab2010b版本,其中早期的版本中,Matlab中函数aviread对读取avi的视频比较苛刻,aviread支持无压缩格式的avi(zjmedia 

rgb24)和 

'

Cinepak'

格式的avi文件和'

Indeo5'

压缩格式的avi,在Matlab2010b中的函数mmreader支持的格式更加广泛一些,但是仍然不是很全,故要使用WinAVI对视频格式进行转换,如图2.3所示,视频格式为avi(ZJMediaUncompressRGB24)。

图2.3

最终视频素材,如图2.4所示:

图2.4

分辨率320×

240,3.74MB,格式avi(ZJMediaUncompressRGB24),时长00:

00:

06,帧率25F/S;

(注:

其实第二步的winair的处理不必去作,只需格式工厂截短就行,后续验证时作者发现Matlab对普通的avi也支持,若不支持,再做这一步)

2.实验过程:

先将视频素材进行读取播放,以检验是否能在Matlab2010b环境下读取运行,再将视频转换成图片序列并转换成灰度图片进行存储,再用这些黑白图片进行avi文件的创建并播放黑白视频,流程图如图2.5所示:

图2.5

3.实验具体操作:

在此部分简单列出三部分的内容,视频的播放,灰度图像的转换,创建avi文件;

a.视频的播放程序,如图2.6:

图2.6

b.灰度图像的转换,如图2.7:

图2.7

c.创建avi文件,如图2.8:

图2.8

三、程序代码:

详见源代码及可执行文件

四、运行结果及分析:

1.视频素材的读取和播放,如图4.1:

图4.1

图4.1显示了视频素材的读取和播放,格式为avi(ZJMediaUncompressRGB24),时长为6s,帧率为25F/s。

2.灰度图像的获取,如图4.2:

图4.2

图4.2中所示,将视频转换成图片序列并转换成灰度图片进行存储

3.黑白视频的播放,如图4.3:

图4.3

图4.3中所示,黑白视频的创建已经成功并进行了播放。

五、总结

首先,这次是第一次对视频做处理,难度刚开始会感觉到有点难,也不知道该做怎样的处理,然后自己定了一个把彩色的转为黑白的吧,原以为会很好做,思路倒还是清楚,主要就是连续图片的灰度转换,但在做的时候困难很大,特别是这几点:

1.对avi视频的预处理,否则Matlab平台不支持该格式;

2.视频转换为图片序列并灰度化,进行存储,在存储过程中有不懂的地方,很多的函数看不懂,反复查;

3.还有avi视频的创建,因为是针对黑白图像的,资料中很多的针对彩色图像的程序大片地出错,很纠结。

所以,整整地算是两个下午吧,都在调程序,最后出来了,看到自己视频的播放时很高兴,以后在学习中还需努力学习,也要多谢老师把自己引入这样一门课,很有意义的一门课。

源程序:

clearall;

closeall;

%播放程序

videoResult=mmreader('

D:

\Angelababy.avi'

);

nFramesResult=videoResult.NumberOfFrames;

%帧数

vidHeightResult=videoResult.Height;

%320

vidWidthResult=videoResult.Width;

%240

%Preallocatemoviestructure.

movResult(1:

nFramesResult)=struct('

cdata'

zeros(vidHeightResult,vidWidthResult,3,'

uint8'

),'

colormap'

[]);

forj=1:

nFramesResult

movResult(j).cdata=read(videoResult,j);

end

%Sizeafigurebasedonthevideo'

swidthandheight.

gf=figure

(1);

set(gf,'

position'

[320240vidWidthResultvidHeightResult])%设置窗口位置和根据图像大小设置窗口大小

%Playbackthemovieonceatthevideo'

sframerate.

movie(gf,movResult,1,videoResult.FrameRate);

%灰度图片的获取

fori=1:

strtemp=strcat('

d:

\F_gray\'

int2str(i),'

.'

'

jpg'

%将每帧转成.jpg的图片

F=read(videoResult,i);

F_gray=rgb2gray(F);

imwrite(F_gray,strtemp,'

JPG'

%把图像写入磁盘

%创建avi文件

myObj=VideoWriter('

newfile.avi'

%初始化一个avi文件

writerObj.FrameRate=30;

open(myObj);

149%图像序列个数

fname=strcat('

num2str(i),'

.jpg'

frame=imread(fname);

writeVideo(myObj,frame);

end

close(myObj);

videoResult=mmreader('

C:

\Users\Johnson_Li\Desktop\diercizuoye\newfile.avi'

gf=figure

(2);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 交规考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1