空间域图像增强

空间域图像增强


空间域图像增强是指在空间域中,通过线性或非线性变换来增强构成图像的像素。增强的方法主要分为点处理和模板处理两大类。点处理是作用于单个像素的空间域处理方法,包括图像灰度变换、直方图处理、伪彩色处理等技术;而模板处理主要是作用于像素邻域的处理方法,包括图像平滑、图像锐化等技术。

1. 基于灰度变换的图像增强

直接灰度变换属于点处理技术。点处理可将输入图像f(x,y)中的灰度r,通过映射函数T()映射为输出图像g(x,y)中的灰度s。

1.1 灰度线性变换

灰度线性变换表示对输入图像灰度做线性扩张或压缩,映射函数为一个直线方程:
g ( x , y ) = a f ( x , y ) + b g(x,y)=af(x,y)+b g(x,y)=af(x,y)+b
其中,a为变换直线的斜率,b为截距
b = 0 , 且 { a > 1 对 比 度 扩 张 a < 1 对 比 度 压 缩 a = 1 相 当 于 复 制 若 b ! = 0 , 灰 度 偏 置 b=0,且 \begin{cases} a>1 对比度扩张 \\ a<1 对比度压缩 \\ a=1 相当于复制 \end{cases} \\若b!= 0,灰度偏置 b=0a>1a<1a=1b!=0,
对曝光不足或过度的图像采用灰度线性变换,可以有效改善图像视觉效果。相关代码之前已经学习过。

1.2 分段线性变换(增强对比度)

分段线性变换与灰度线性变换相类似,只不过是对不同灰度范围进行不同的映射处理。

分段线性变换可用于突出受关注目标所在的灰度空间,相对抑制那些不受关注的灰度区间。

1.3 反转变换

反转变换适用于增强嵌入图像暗色区域的白色或灰色细节,特别是当黑色面积占主导地位时。

1.4 对数变换

图像的对数变换将扩展数值较小的灰度范围,压缩数值较大的图像灰度范围。可以用于扩展被压缩的高值图像中的暗像素,其映射函数: s = c l o g ( 1 + r ) s=c log(1+r) s=clog(1+r)

1.5 幂次变换

幂次变换是通过幂次曲线中的γ值把输入的窄带值映射到宽带输出值。当γ<1时,把输入的窄带暗值映射到宽带输出亮值;当γ>1时,把输入高值映射为宽带。

1.6 灰度切分

灰度切分是指增强图像中的某一灰度段,其他灰度细节被去掉或者保持不变,其目的在于将某个灰度值范围变得比较突出,用于提取图像中的特定细节。

2. 基于直方图处理的图像增强

2.1 定义

灰度级直方图是图像的一种统计表达,它反映了该图中不同灰度级出现的统计概率,即将图像中不同灰度级的像素进行归一化。

matlab代码如下:

%% 制作图像对应的直方图
I=imread("Images\lena.bmp");
h=zeros(1,256);
[M,N,C]=size(I);
for i=1:M
    for j=1:N 
        k=I(i,j);
        h(k+1)=h(k+1)+1;
    end
end
check_h=imhist(I);
subplot(131);imshow(I);title("原图");
subplot(132);plot(h);title("原图的直方图(循环)");
subplot(133);imhist(I);title("原图的直方图(imhist函数)");

结果如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-beqPwOCb-1669975427618)(D:\xcz\md\数字图像处理基础\空间域图像增强.assets\image-20221105192416531.png)]

2.2 直方图均衡化

图像直方图描述图像中各灰度级出现的相对频率,基于直方图的灰度变换,可调整图像直方图到一个预定的形状。例如当某一图像由于其灰度值分布集中在较窄的区间,对比度很弱的情况,这时图像细节看不清楚,可采用图像灰度直方图均衡化处理,使得图像的灰度分布趋向均匀,图像所占的像素灰度间距拉开,进而加大图像反差,改善视觉效果,达到增强的目的。

直方图的均衡化处理实际上就是寻找一个灰度变换函数T,使得变换后的灰度值满足s=T®。

以连续数字图像为例,直方图均衡化的灰度变换函数为:
s = T ( r ) = ∫ 0 r p r ( r ) d r s=T(r)=\int^{r}_{0}{p_r(r)dr} s=T(r)=0rpr(r)dr
对于数字图像的离散情况,则其变换函数与连续时同理,但对原始直方图的积分处理改为累加求和即可。

matlab代码如下:

%% 直方图的均衡化
clc;clear;close all;    % 初始化
I=imread("Images\lena.bmp");I=rgb2gray(I);
k=16;H=histeq(I,k);
subplot(221),imshow(I,[]),title("原图");
subplot(222),imshow(H,[]),title("均衡化后的图像"),hold on;
subplot(223),histogram(double(I),16),title("原图的直方图");
subplot(224),histogram(double(H),16),title("均衡化后的直方图");

实验结果如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4uteqUCG-1669975427619)(D:\xcz\md\数字图像处理基础\空间域图像增强.assets\image-20221105200125710.png)]
由实验结果可知:

  1. 变换后直方图趋向平坦,灰级减少,灰度合并。
  2. 原始图像含有像素数多的几个灰度级间隔被拉开了,压缩的只是像素数减少的几个灰度级,实际视觉能够接受的信息量大大地增强了。

2.3 直方图规定化

将输入图像灰度分布变换成一个期望的灰度分布直方图,pr ®为原图的灰度密度函数,pr (z)是希望得到的灰度密度函数。则s=T( r),v=G(z)(直方图均衡化变换函数),此时图像规定化的逆变换函数为:z=G-1 (s)=G-1 (T(r )),故此时可得,sk 到zk 的映射转换。

3. 空间域滤波增强

3.1 基本概念

空间域滤波增强采用模板处理的方法对图像进行滤波,以去除图像噪声或增强图像的细节。空间域滤波增强时,模板的中心从一个像素向另一个像素移动,通过模板运算得到该点的输出。最常用的模板是一个小的3*3二维阵列,模板的系数值决定了处理的性质,如图像平滑或锐化。

3.2 空间域平滑滤波器

任何一副原始图像,在其获取和传输等过程中,会受到各种噪声的干扰,使图像恶化,质量下降,图像模糊,特征淹没,对图像分析不利。

为了抑制噪声、改善图像质量所进行的处理称为图像平滑或去噪,它可以在空间域或频率域中进行。

3.2.1 局部平滑法

局部平滑法是一种直接在空间域上进行平滑处理的方法。假设图像是由许多灰度恒定的小块组成,相邻像素间存在很高的空间相关性,而噪声是统计独立的。因此,可用邻域内各像素的灰度平均值代替该像素原来的值,实现图像的平滑。

定理:设图像中的噪声是随机不相关的加性噪声,窗口内各点噪声是独立同分布的,经过上述平滑后,信号与噪声的方差比可望提高N倍。

例:对图像加入椒盐噪声,采用局部5*5模板进行平滑处理。

matlab代码如下:

%% 图像平滑 使用局部平滑法
close,clc,clear;    %初始化
img=rgb2gray(imread('D:\xcz\matlab_example\Images\lena.bmp'));
subplot(131),imshow(img),title("原图");
img_noise=double(imnoise(img,'salt & pepper',0.06));    %加入椒盐噪声
subplot(132),imshow(img_noise,[]),title("加入椒盐噪声后");
% 局部平滑法,5*5模板处理
img_smoothed=imfilter(img_noise,fspecial('average',5));
subplot(133),imshow(img_smoothed,[]),title("5*5邻域平滑处理");

程序运行结果如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-evRrNff1-1669975427619)(D:\xcz\md\数字图像处理基础\空间域图像增强.assets\image-20221111193534231.png)]

采用局部平滑法处理算法简单,但是在降低噪声的同时也会使图像变得模糊了,特别在图像的边缘和细节处。而且领域越大,在去噪能力增强的同时模糊程度会越严重。

3.2.2 超限像素平滑法

对邻域平均法稍加改进,即是超限像素平滑法。它是将f(x,y)和邻域平均g(x,y)差的绝对值与选定的阈值进行比较,根据比较结果决定点(x,y)的最后灰度g(x,y)。其表达式为:
g ′ ( x , y ) = { g ( x , y ) ∣ f ( x , y ) − g ( x , y ) ∣ > T f ( x , y ) ∣ f ( x , y ) − g ( x , y ) ∣ ≤ T g'(x,y)=\begin{cases} g(x,y)\quad |f(x,y)-g(x,y)|>T\\ f(x,y)\quad |f(x,y)-g(x,y)|\leq T\\ \end{cases} g(x,y)={g(x,y)f(x,y)g(x,y)>Tf(x,y)f(x,y)g(x,y)T
这种算法对抑制椒盐噪声比较有效,对保护仅有微小灰度差的细节及纹理也有效,随着邻域增大,去噪能力增强,但模糊程度也大。同局部平滑法相比,超限像素平滑法的去椒盐噪声效果更好。

3.2.3 灰度最相近的K个邻点平均法

该算法的出发点是:在n*n的窗口内,属于同一集合体的像素,它们的灰度值将高度相关。因此,可用窗口内与中心像素的灰度最接近的K个邻点像素的平均灰度来代替窗口中心像素的灰度值。

较小的K值使噪声方差下降较小,但保持细节效果较好;而较大的K值平滑噪声较好,但会使图像边缘模糊。

实验证明,对于3*3的窗口,取K=6为宜。

3.2.4 空间低通滤波法

领域平均法可以看作一个掩模作用与图像的低通空间滤波,掩模就是一个滤波器,滤波输出的数字图像可以用离散卷积表示为:
g ( x , y ) = 1 N ∑ i = − M M ∑ j = − M M f ( x + i , y + j ) h ( i , j ) g(x,y)=\frac{1}{N}\sum_{i=-M}^{M} \sum_{j=-M}^{M}f(x+i,y+j)h(i,j) g(x,y)=N1i=MMj=MMf(x+i,y+j)h(i,j)
常见的掩模有:
1 9 [ 1 1 1 1 1 1 1 1 1 ] , 1 10 [ 1 1 1 1 2 1 1 1 1 ] , 1 16 [ 1 2 1 2 4 2 1 2 1 ] , 1 8 [ 1 1 1 1 0 1 1 1 1 ] , 1 2 [ 0 1 4 0 1 4 1 1 4 0 1 4 0 ] \frac{1}{9} \begin{bmatrix} 1 & 1 & 1 \\ 1 & 1 & 1 \\ 1 & 1 & 1 \\ \end{bmatrix} , \frac{1}{10} \begin{bmatrix} 1 & 1 & 1 \\ 1 & 2 & 1 \\ 1 & 1 & 1 \\ \end{bmatrix} , \frac{1}{16} \begin{bmatrix} 1 & 2 & 1 \\ 2 & 4 & 2 \\ 1 & 2 & 1 \\ \end{bmatrix} , \frac{1}{8} \begin{bmatrix} 1 & 1 & 1 \\ 1 & 0 & 1 \\ 1 & 1 & 1 \\ \end{bmatrix} , \frac{1}{2} \begin{bmatrix} 0 & \frac{1}{4} & 0 \\ \frac{1}{4} & 1 & \frac{1}{4} \\ 0 & \frac{1}{4} & 0 \\ \end{bmatrix} 9111111111110111112111116112124212181111101111210410411410410
掩模不同,中心点或邻域的重要程度都不同,因此,应根据问题的需要选取合适的掩模。但不管什么样的掩模,必须保证全部权系数适合为单位值,这样保证输出图像灰度值在许可范围内,不会发生”溢出“现象。

定理:图像平滑滤波 g ( x , y ) = 1 N ∑ i = − M M ∑ j = − M M f ( x + i , y + j ) h ( i , j ) g(x,y)=\frac{1}{N}\sum_{i=-M}^{M} \sum_{j=-M}^{M}f(x+i,y+j)h(i,j) g(x,y)=N1i=MMj=MMf(x+i,y+j)h(i,j) 实际上相当于对f(x,y)进行低通滤波,即h(x,y)为低通滤波器。

4. 空间域锐化滤波器

在图像的识别中常常需要突出边缘和轮廓信息,图像锐化就是增强图像的边缘或轮廓。图像平滑通过积分过程使得图像边缘模糊,图像锐化则通过微分使得图像边缘突出、清晰。

4.1 梯度锐化法

图像锐化最常用的方法使梯度法。对于图像f(x,y),在(x,y)处的梯度定义为:
g r a d ( x , y ) = ( f x ′ f y ′ ) = ( ∂ f ( x , y ) ∂ x ∂ f ( x , y ) ∂ y ) grad(x,y)=\dbinom{f'_x}{f'_y}=\dbinom{\dfrac{\partial f(x,y)}{\partial x}}{\dfrac{\partial f(x,y)}{\partial y}} grad(x,y)=(fyfx)=(yf(x,y)xf(x,y))
梯度是一个矢量,其大小和方向为:
g r a d ( x , y ) = f x ′ 2 + f y ′ 2 = ( ∂ f ( x , y ) ∂ x ) 2 + ( ∂ f ( x , y ) ∂ y ) 2 θ = arctan ⁡ ( ∂ f ( x , y ) ∂ y ) / ( ∂ f ( x , y ) ∂ x ) grad(x,y)=\sqrt{{f'_x}^2+{f'_y}^2}=\sqrt{(\dfrac{\partial f(x,y)}{\partial x})^2+(\dfrac{\partial f(x,y)}{\partial y})^2}\\ \theta=\arctan{(\dfrac{\partial f(x,y)}{\partial y})/(\dfrac{\partial f(x,y)}{\partial x})} grad(x,y)=fx2+fy2 =(xf(x,y))2+(yf(x,y))2 θ=arctan(yf(x,y))/(xf(x,y))
对于离散图像而言,常用到梯度的大小,因此把梯度大小习惯称为“梯度”。并且一阶偏导数采用一阶差分近似表示,即:
f x ′ = f ( x + 1 , y ) − f ( x , y ) , f y ′ = f ( x , y + 1 ) − f ( x , y ) f'_x=f(x+1,y)-f(x,y),f'_y=f(x,y+1)-f(x,y) fx=f(x+1,y)f(x,y)fy=f(x,y+1)f(x,y)
同样,为了简化梯度的计算,经常使用:
g r a d ( x , y ) = m a x ( ∣ f x ′ ∣ , ∣ f y ′ ∣ ) 或 g r a d ( x , y ) = ∣ f x ′ ∣ + ∣ f y ′ ∣ grad(x,y)=max(|f'_x|,|f'_y|)\quad 或 \quad grad(x,y)=|f'_x|+|f'_y| grad(x,y)=max(fx,fy)grad(x,y)=fx+fy
除了梯度算子以外,还可采用Roberts、Prewitt 和 Sobel算子计算梯度,来增强图像边缘。Roberts算子对应的差分计算式为:
f x ′ = ∣ f ( x + 1 , y + 1 ) − f ( x , y ) ∣ f y ′ = ∣ f ( x + 1 , y ) − f ( x , y + 1 ) ∣ f'_x=|f(x+1,y+1)-f(x,y)|\\ f'_y=|f(x+1,y)-f(x,y+1)| \\ fx=f(x+1,y+1)f(x,y)fy=f(x+1,y)f(x,y+1)
在锐化图像边缘的同时减少噪声的影响,Prewitt从加大边缘增强算子的模板大小出发,由Roberts的2*2 模板扩大到3*3模板来计算差分,而Sobel算子在Prewitt算子的基础上,对4-邻域采用带权的方法计算差分,如下分别是Roberts、Prewitt 和 Sobel算子的模板:
( − 1 0 0 1 ) ( 0 − 1 1 0 ) ( − 1 0 1 − 1 0 1 − 1 0 1 ) ( − 1 − 1 − 1 0 0 0 1 1 1 ) ( − 1 0 1 − 2 0 2 − 1 0 1 ) ( − 1 − 2 − 1 0 0 0 1 2 1 ) \begin{pmatrix} -1 & 0 \\ 0 & 1 \\ \end{pmatrix} \begin{pmatrix} 0 & -1 \\ 1 & 0 \\ \end{pmatrix} \quad\quad \begin{pmatrix} -1 & 0 & 1 \\ -1 & 0 & 1 \\ -1 & 0 & 1 \\ \end{pmatrix} \begin{pmatrix} -1 & -1 &-1\\ 0 & 0 & 0\\ 1 & 1 & 1\\ \end{pmatrix} \quad\quad \begin{pmatrix} -1 & 0 & 1 \\ -2 & 0 & 2 \\ -1 & 0 & 1 \\ \end{pmatrix} \begin{pmatrix} -1 & -2 &-1\\ 0 & 0 & 0\\ 1 & 2 & 1\\ \end{pmatrix} (1001)(0110)111000111101101101121000121101202101

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值