数字图像处理学习笔记(十五)在RGB和HSI色彩空间上分别对彩色图像进行平滑、锐化

该实验通过MATLAB代码展示了如何在RGB和HSI色彩空间中对彩色图像进行平滑及锐化处理。首先,分别对RGB三个通道和HSI的色调、饱和度、强度通道应用平均滤波器进行平滑,然后利用拉普拉斯算子进行锐化。实验结果显示,经过平滑和锐化后,图像的细节得以增强,轮廓更加清晰。
摘要由CSDN通过智能技术生成

实验截图:

  • 在RGB和HSI色彩空间上分别对彩色图像进行平滑、锐化:
    在这里插入图片描述

实验代码:

rgb=imread('erciyuan.jpg');
 
r=rgb(:,:,1);
 
g=rgb(:,:,2);
 
b=rgb(:,:,3);
 
subplot(231);
 
imshow(rgb);
 
title('RGB原图');
 
m=fspecial('average');
 
r_filtered=imfilter(r,m);
 
g_filtered=imfilter(g,m);
 
b_filtered=imfilter(b,m);
 
rgb_filtered=cat(3,r_filtered,g_filtered,b_filtered);
 
subplot(232);
 
imshow(rgb_filtered);
 
title('RGB空间平滑');
 
lapMatrix=[1 1 1;1 -8 1;1 1 1];
 
i_tmp=imfilter(rgb_filtered,lapMatrix,'replicate');
 
i_sharped=imsubtract(rgb,i_tmp);
 
subplot(233);
 
imshow(i_sharped);
 
title('RGB空间平滑+锐化');
 
rgb=im2double(rgb);
 
r=rgb(:,:,1);
 
g=rgb(:,:,2);
 
b=rgb(:,:,3);
 
i=(r+g+b)/3;
 
m1=min(min(r,g),b);
 
m2=r+g+b;
 
m2(m2==0)=eps;
 
s=1-3.*m1./m2;
 
m1=0.5.*((r-g)+(r-b));
 
m1=sqrt((r-g).^2+(r-b).*(g-b));
 
n=acos(m1./(m1+eps));
 
h=n;
 
h(b>g)=2*pi-h(b>g);
 
h=h/(2*pi);
 
h(s==0)=0;
 
hsi=cat(3,h,s,i);
 
subplot(234);
 
imshow(hsi);
 
title('HSI原图');
 
m=fspecial('average');
 
r_filtered=imfilter(h,m);
 
g_filtered=imfilter(s,m);
 
b_filtered=imfilter(i,m);
 
rgb_filtered=cat(3,r_filtered,g_filtered,b_filtered);
 
subplot(235);
 
imshow(rgb_filtered);
 
title('HSI空间平滑');
 
lapMatrix=[1 1 1;1 -8 1;1 1 1];
 
i_tmp=imfilter(rgb,lapMatrix,'replicate');
 
i_sharped=imsubtract(rgb_filtered,i_tmp);
 
subplot(236);
 
imshow(i_sharped);
 
title('HSI空间平滑+锐化');

结果分析:

  • 对一个RGB图像进行平滑操作时,我们需要将它的RGB三个通道都分离出来分别平滑,然后再将三个平滑后的通道合并起来就能得到RGB平滑后的图;对于HSI也是一样的方法,同样也是对三个通道分别操作再合并即可。我在这里用了lapMatrix和imfilter函数来生成一个i_tmp图像,然后再将它与rgb图相减来实现锐化的效果。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值