MATLAB 灰度图像缩小

定义一个函数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');

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值