MATLAB灰度图像缩小实验

实验报告 MATLAB灰度图像缩小

一、程序目的
作业:定义一个函数SubSamp_ali, 输入为 彩色图像文件名,输出并显示尺寸减半的 彩色图像,并抑制混叠失真。在命令窗口 成功调用!

二、运行环境
Matlab平台,编写M程序实现。

三、程序代码

function im_sub=SubSamp_ali(filename)
im=imread(filename);
im=double(im);
imR=im(:,:,1);
imG=im(:,:,2);
imB=im(:,:,3);
w=fspecial('average',[3,3]);
imR=imfilter(imR,w,'replicate','same');
imG=imfilter(imG,w,'replicate','same');
imB=imfilter(imB,w,'replicate','same');
imR_sub=imR(1:2:end,1:2:end);
imG_sub=imG(1:2:end,1:2:end);
imB_sub=imB(1:2:end,1:2:end);
im_sub=cat(3,imR_sub,imG_sub,imB_sub);
imshow(mat2gray(im_sub));
clear;
end

四、运行结果

在这里插入图片描述

五、实验总结
图像直接缩小是合理,会引入混叠失真,而加低通滤波器(LPF)是抑制混叠失真的有效 方法。通过这次实验我学习到了average,gusssian这两种常用的低通滤波器,通过这种方式可以有效并且合理的缩小图像。

猜你喜欢

转载自blog.csdn.net/escFAJ/article/details/107673503