MATLAB 灰度图像缩小

本文介绍了一个使用Matlab实现的图像处理函数SubSamp_ali,该函数可以接收一个彩色图像文件作为输入,通过低通滤波器减少混叠失真,并将图像尺寸减半。文中详细展示了如何分离并处理图像的RGB通道。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

彩色图像在matlab中是三维矩阵,而matlab中支持二维线性空间滤波器,所以对彩色图像抑制混叠失真时,需要把R,G,B通道分开,分别做低通滤波。

啊感觉自己真是懂得太少了,虽然上学年学了matlab,感觉像没学一样,以下代码为老师上课讲解的。看来需要更加努力。

m文件执行如下

function im_sub=SubSamp_ali(filename)
im=imread(filename);
im=double(im);%进行四则运算,要把数值变为double
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));

end


命令窗口执行如下:

>> im_sub=SubSamp_ali('lena.bmp');

色图像文件名,输出并显示尺寸减半的彩色图像,并抑制混叠失真。在命令窗口成功调用!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值