(四)空域图像增强:线性滤波及MATLAB实现

利用模板操作来进行图像增强称为滤波。滤波分为线性滤波和非线性滤波。

线性滤波既可以得到平滑的效果(图像反差减少),也可以得到锐化的效果(图像反差增加)。取决于所用模板的系数值。线性滤波均基于模板卷积进行。

线性平滑滤波

  1. 邻域平均
    邻域平均是最简单的平滑滤波,用一个像素邻域的平均值作为滤波结果,此时模板所有的系数都为1。一般情况下为了保持灰度值的范围,卷积结果要除以系数总数。
    在这里插入图片描述
  2. 加权平均
    模板操作中,模板周围的像素也参与运算,一般认为离中心近的像素对滤波结果有更大的贡献,所以可以将接近模板中心的系数取得比周边的系数大,这就相当于加权的概念。
    在这里插入图片描述
  3. 高斯平均
    高斯平均是加权平均的一种特例,他根据高斯分布来确定模板系数。
    高斯平均常使用较大的模板,因而有可能需要很大的计算量。所以可以将2-D高斯平均模板分解为两个顺序使用的1-D高斯平均模板。

这几种平均方法都是线性的,在消除噪声的同时也会模糊不同区域之间的边缘,为了避免局部平均的这种副作用,可以考虑选择只在不包含边缘的邻域中进行平均

线性锐化滤波

  1. 拉普拉斯算子
    线性锐化滤波可以借助模板卷积实现,对应积分运算的模板卷积可以平滑图像,反过来对应微分运算的模板卷积可以锐化图像。锐化模板系数的取值应在中心为正而周围远离中心处为负。
    拉普拉斯算子是一种各向同性的二阶微分算子,常用于线性锐化滤波。
    如果仅考虑中心像素的4-邻域,得到的模板为(a),如果考虑8-邻域,得到模板(b)。
    在这里插入图片描述
  2. 高频提升滤波
    图像锐化的效果可以通过叠加图像微分结果取得,也可以通过减除图像微分结果取得。原始图像减去平滑后的图像就能得到非锐化掩膜,非锐化掩膜加到原始图像上就可以得到锐化图像。
    如果将原始图像乘以一个放大系数A再减去平滑图像就可以实现高频提升滤波:
    在这里插入图片描述
    当A等于1时,得到的就是非锐化掩膜h(x,y),它对应平滑时丢失的锐化分量。当A>1时,加权的原始图像与非锐化掩膜相加,就能得到锐化效果图像。其中A=2的特例被称为非锐化掩膜化。

MATLAB实现

%% 线性滤波
% 线性平滑滤波
% 线性锐化滤波
clc,clear
I = imread('lenna1.jpg');
[M,N] = size(I);%获取原始图像大小
I = double(I);

%% 线性平滑滤波
% 邻域平均
M1 = 1/9 * [1 1 1;1 1 1;1 1 1];
I1 = conv2(I,M1);
figure(1);
subplot(1,2,1);imshow(uint8(I));title('原图像');
subplot(1,2,2);imshow(uint8(I1));title('邻域平均');
% 加权平均
M2 = 1/16 * [1 2 1;2 4 2;1 2 1];
I2 = conv2(I,M2);
figure(2);
subplot(1,2,1);imshow(uint8(I));title('原图像');
subplot(1,2,2);imshow(uint8(I2));title('加权平均');
% 高斯平均
M3 = 1/273 * [1 4 7 4 1;4 16 26 16 4;7 26 41 26 7;4 16 26 16 4;1 4 7 4 1];
I3 = conv2(I,M3);
figure(3);
subplot(1,2,1);imshow(uint8(I));title('原图像');
subplot(1,2,2);imshow(uint8(I3));title('高斯平均');

%% 线性锐化滤波
% 拉普拉斯算子
M4 = [0 -1 0;-1 4 -1;0 -1 0];%4-邻域模板
%M4 = [-1 -1 -1;-1 8 -1;-1 -1 -1];%8-邻域模板
I4 = conv2(I,M4);
figure(4);
subplot(1,2,1);imshow(uint8(I));title('原图像');
subplot(1,2,2);imshow(uint8(I4));title('拉普拉斯算子');

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 6
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值