版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数字视频处理(二)一 将y4m格式的视频文件读入到Matlab中,文件可以从如下网站下载:/video/derf/二 使用examples.m将y4m视频文件中的每一帧图像读取出来说明:1 由于刚开始所下视频文件过大,出现问题“Out of memory”,所以我下载了一个较小(13.5M)的关于两人打乒乓球的视频文件tt_sif.y4m2 由examples.m读出了视频文件tt_sif.y4m的帧数(lastframenumber)、帧号(framenumber)及每帧的RGB像素数据(rgbframe),这些数据在后续处理中都将用到。3 由exam
2、ples.m显示的第一帧和最后一帧图像如下所示:三 把奇数帧的偶数行丢弃,把偶数帧的奇数行丢弃,这样就形成了隔行视频1 代码如下:for framenumber=1:lastframenumber %逐次取各帧 if mod(framenumber,2) = 0 %偶数帧的奇数行舍弃,即归零 rgbframe(1:2:rows,:,:) = 0; else %奇数帧的偶数行舍弃,即归零 rgbframe(2:2:rows,:,:) = 0; endend2 去除奇数行的最后一帧图像如下:从该图中可明显看出奇数行被去除,整个图像呈现条纹状四 分别采用垂直重复,行平均,垂直内插,场平均,行场平均的
3、方法进行去隔行1 去隔行:简单地说,去隔行就是以一定的方法(如题中所述)把隔行视频转换为逐行视频2 垂直重复:即将所舍弃行的上一行或下一行的数据赋给所舍弃行。 代码如下:for framenumber=1:lastframenumber %逐次取各帧 if mod(framenumber,2) = 0 %偶数帧的奇数行等于下一行 rgbframe(1:2:rows,:,:) = rgbframe(2:2:rows,:,:); else %奇数帧的偶数行等于上一行 rgbframe(2:2:rows,:,:) = rgbframe(1:2:rows,:,:); end imshow(rgbfra
4、me,), title(num2str(framenumber-1), drawnowend 最后一帧图像为: 分析: 从单帧图像上很容易看出,由于舍弃行的数据是拿上下行的数据来填充的,所以图像明显呈现块状,边缘也不再光滑有锯齿效应。 部分区域存在明显的竖直线条。 视频中,图像静止时,并不是静止不动,存在一些点的变动。 当镜头存在相对运动时,整个视频的背景存在一定的往上或往下的偏移运动(行蠕动),视频质量明显下降。3 行平均:即所舍弃行的数据等于上下行数据的平均值 代码如下:for framenumber=1:lastframenumber %逐次取各帧 if mod(framenumber,
5、2) = 1 for i=2:2:rows-1 rgbframe(i,:,:) = %取平均 (double(rgbframe(i-1,:,:)+double(rgbframe(i+1,:,:)/2; end else for i=3:2:rows-1 rgbframe(i,:,:) = %取平均 (double(rgbframe(i-1,:,:)+double(rgbframe(i+1,:,:)/2; end end imshow(rgbframe,), title(num2str(framenumber-1), drawnowend 最后一帧图像为: 分析: 单帧图像,已不存在明显的块状模
6、糊,不过由于采用平均方式,损失了一定的高频信息,有一定的模糊,另外边缘还存在锯齿现象。 部分区域也存在明显的竖直线条。 视频也还存在垂直重复中的行蠕动问题。4 垂直内插: 即所舍弃行的数据等于上两行和下两行数据的平均值,可根据实际情况,加一定的权重。由于其与最靠近的两行相关性大,可取该两行的权重大些。代码如下:for framenumber=1:lastframenumber %逐次取各帧 if mod(framenumber,2) = 1 %取平均,权重为1 4 4 1 rgbframe(4:2:rows-3,:,:) = (double(rgbframe(1:2:rows-6,:,:)+4
7、*double(rgbframe(3:2:rows-4,:,:) +4*double(rgbframe(5:2:rows-2,:,:)+double(rgbframe(7:2:rows,:,:) )/10; else %取平均,权重为1 4 4 1 rgbframe(5:2:rows-3,:,:) = (double(rgbframe(2:2:rows-6,:,:)+4*double(rgbframe(4:2:rows-4,:,:) +4*double(rgbframe(6:2:rows-2,:,:)+double(rgbframe(8:2:rows,:,:) )/10; end imshow
8、(rgbframe,), title(num2str(framenumber-1), drawnowend 最后一帧图像为:分析:现象与行平均差不多,一些地方清晰度有所提高。5 场平均:即舍弃行的数据等于前后两场相应行的数据的平均值代码如下:for framenumber=1:lastframenumber %逐次取各帧 if framenumber = 1 f=zeros(rows,cols,3,3); %创建四维矩阵,用于存储三帧数据 for i=1:3 f(:,:,:,i)=rgbframe; end else if framenumber = 2 f(:,:,:,3) = rgbfra
9、me; else f(:,:,:,1) = f(:,:,:,2); f(:,:,:,2) = f(:,:,:,3); %2为所要研究的帧,1、3分别为前 f(:,:,:,3) = rgbframe; %后帧 rgbframe = f(:,:,:,2); if mod(framenumber,2) = 0 %取平均 rgbframe(2:2:rows,:,:) = (double(f(2:2:rows,:,:,1) +double(f(2:2:rows,:,:,3)/2; else %取平均 rgbframe(1:2:rows,:,:) = (double(f(1:2:rows,:,:,1) +
10、 double(f(1:2:rows,:,:,3)/2; end end end imshow(uint8(rgbframe),), title(num2str(framenumber-1), drawnowend 最后一帧图像为:分析: 单帧图像,静止处的清晰度很高,边缘的锯齿效应也得到一定的复原,只是,对于运动幅度较大处,有明显的由于均值化带来的误差。 背景上的竖直条纹也消失了。 视频中,静止时,效果可以;当运动幅度上升时,很明显的存在运动模糊现象,运动剧烈的还会有重影现象。 有时,当场景变化较大时,还会出现闪烁现象。6 行场平均:即舍弃行的数据既与前后两场相应行的数据有关,还与上下两行的
11、数据有关,是四者的平均值。代码如下:for framenumber=1:lastframenumber %逐次取各帧 if framenumber = 1 f=zeros(rows,cols,3,3); %创建四维矩阵,用于存储三帧数据 for i=1:3 f(:,:,:,i)=rgbframe; end else if framenumber = 2 f(:,:,:,3) = rgbframe; else f(:,:,:,1) = f(:,:,:,2); f(:,:,:,2) = f(:,:,:,3); %2为所要研究的帧,1、3分别为前 f(:,:,:,3) = rgbframe; %后帧
12、 rgbframe = f(:,:,:,2); if mod(framenumber,2) = 0 %取平均 rgbframe(2:2:rows-1,:,:) = (double(f(2:2:rows-1,:,:,1) + double(f(2:2:rows-1,:,:,3) + double(f(1:2:rows-3,:,:,2) + double(f(3:2:rows-1,:,:,2) )/4; else %取平均 rgbframe(3:2:rows-1,:,:) = (double(f(3:2:rows-1,:,:,1) + double(f(3:2:rows-1,:,:,3) + . double(f(2:2:rows-2,:,:,2) + double(f(4:2:rows,:,:,2) )/4; end end end imshow(uint8(rgbframe),), title(num2str(framenumber-1), drawnowend最后一帧图像为:分析: 与行平均相比,局部褶皱消除了,但由于采用平均算法,滤除了一些高频分量,以致局部区域产生模糊。 视频,也还是存在运动模糊现象。五 结果分析1 去隔行的必要性隔行存在如下缺点:行间闪烁现象; 并行现象; 相邻场光栅中左右错开的锯齿化现象
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论