【笔记】数字图像处理 |
您所在的位置:网站首页 › 空间增强包括哪些内容 › 【笔记】数字图像处理 |
前言 本篇文章仅作为博主学习笔记使用,各位小伙伴可以简单浏览大概了解一下图像增强方面的知识呀👀,可能不是特别全面呦~ 大家可以在评论区补充呀~ 因为图片多一些会更生动一些,所以博主贴了许多图片和 ppt 呦~ Background图像增强(Image Enhancement)是一种基本的图像处理技术,主要是为了改善图像的质量以及增强感兴趣部分,改善图像的视觉效果或使图像变得更利于计算机处理。 如曝光不足或过度的图像需要增强处理; 灰度变换:基于点操作,将每一个像素的灰度值按照一定的数学变换公式转换为一个新的灰度值。也就是将一个灰度区间映射到另一个灰度区间的变换。目的或使图像成像均匀,或扩大图像动态范围,扩展对比度。灰度变换函数公式如下:
g
(
x
,
y
)
=
T
[
f
(
x
,
y
)
]
g(x,y)=T[f(x,y)]
g(x,y)=T[f(x,y)] 其中,
f
(
x
,
y
)
f (x,y)
f(x,y)是原图像,
g
(
x
,
y
)
g(x,y)
g(x,y)是处理后的图像,T是作用于 f 的操作,定义在(x,y)的邻域。简化形式为
S
=
T
(
r
)
S=T(r)
S=T(r)。变换函数不同将导致不同的输出,其实现的变换效果也不一样。如下图所示为不同的灰度变换函数的作用结果。 基本线性变换示意图如下。通过基本线性变换函数将输入图像f(x,y)转变为g(x,y)。定义式为
g
(
x
,
y
)
=
k
∗
f
(
x
,
y
)
g(x,y)=k*f(x,y)
g(x,y)=k∗f(x,y)。根据常数 k 的不同取值可以实现将图像灰度取值范围进行拉伸或者压缩,使得图像亮暗发生变化。(下面图中的 a 即为上式 k) 分段线性灰度变换是将输入图像 f(x,y) 的灰度级区间分成两段或多段分别作线性灰度级变换,以获得增强图像 g(x,y)。典型的三段线性灰度级变换如下所示。 基于对数变换的非线性灰度级变换表达式为:
s
=
c
∗
l
o
g
(
1
+
r
)
s = c * log(1+ r)
s=c∗log(1+r)。c 是尺度比例常数,r ≥ 0,r 取值为 r+1 是为了避免对 0 求对数,确保 log(1+ r) ≥ 0。 对数变换函数如下图所示,当希望对图像的低灰度区作较大拉伸、高灰度区作压缩时,可采用这种变换。它能使图像的灰度分布与人的视觉特性相匹配。对数变换一般适用于处理过暗图像。 基于指数变换的非线性灰度级变换如下所示。
g
(
i
,
j
)
=
b
c
[
f
(
i
,
j
)
−
a
]
−
1
g(i,j)=b^{c[f(i,j)-a]}-1
g(i,j)=bc[f(i,j)−a]−1 其中,a 用于决定指数变换函数曲线的起始位置,b 是底数,c 用于决定指数变换曲线的陡度。 指数变换函数如下图所示,当希望对图像的低灰度区压缩、高灰度区作较大拉伸时,可采用这种变换。对数变换一般适用于处理过亮图像。
在数字图像处理中,灰度直方图是最简单和常用的工具。 2.1 灰度直方图的定义 灰度直方图是灰度级的函数,表示的是数字图像中每一灰度与其出现频数(呈现该灰度的像素数目)间的统计关系。通常用横坐标表示灰度级,纵坐标表示频数或相对频数(呈现该灰度级的像素出现的概率)。灰度直方图的定义如下所示。
p
(
r
k
)
=
n
k
N
p(r_{k})=\frac{n_{k}}{N}
p(rk)=Nnk 其中,N 是一幅数字图像的像素总数,nk 是图像中灰度级为k的像素数,rk是第 k 个灰度级,k = 0,1,2,…,L-1。示例如下。 一幅图像的灰度直方图通常具有如下性质: (1)直方图不具有空间特性。直方图描述了每个灰度级具有的像索的个数,但不能反映图像像素空间位置信息,即不能为这些像素在图像中的位置提供任何线索。 (2)直方图反映图像的大致描述,如图像灰度范围、灰度级分布、整幅图像平均亮度等。下图为四幅图像的直方图,可以从中判断出图像的相关特性。(a)中,大部分像素值集中在低灰度级区域,图像偏暗;(b)中的图像则相反,大部分像素的灰度集中在高灰度级区域,图像偏亮;四幅图像都存在动态范围不足的现象。 若一幅图像的像素占有全部可能的灰度级并且分布均匀,则这样的图像有高对比度和多变的灰度色调。 直方图均衡化是将任意分布规律直方图的原始图像变换为具有均匀分布直方图的图像。说得更清楚一些,以上面的直方图为例,可以看到像素主要集中在某些强度值上。直方图均衡化要做的就是拉伸这个范围,增加图像灰度的动态范围,达到增强图像对比度的效果。 直方图均衡化理论如下。
在图像的获取、传输和存储过程中常常会受到各种噪声的干扰和影响,使图像质量下降,为了获取高质量的数字图像,很有必要对图像进行消除噪声处理,并且尽可能地保持原始信息的完整性。关于噪声的详细介绍大家可以参考另一篇博文。 通常把抑制或消除图像中存在的噪声而改善图像质量的过程称为图像的平滑(Image Smoothing)。 图像平滑方法大致分为两大类:空域法和频域法。空域法主要借助模板运算,在像素点邻域内,利用噪声像素点特性进行滤波;频域法是指图像进行正交变换,利用噪声对应高频信息的特点进行滤波。 3.1 均值滤波 均值滤波,又称邻域平均法,是图像空间域平滑处理中最基本的方法之一,其基本思想是以某一像素为中心,在它的周围选择一邻域,将邻域内所有点的均值(灰度值相加求平均)来代替原来像素值,通过降低噪声点与周围像素点的差值以去除噪声点。 输人图像 f(x,y),经均值滤波处理后,得到输出图像g(x,y),如下所示: 平均滤波对于邻域内的像素一视同仁,为了减少平滑处理中的模糊,得到更自然的平滑效果,很自然地想到了对模板上不同位置赋予不同的加权系数值,从而可以确保中心点看起来更接近于与它距离更近的点,基于这样的考虑得到的模板即为高斯模板。 常用的 3 × 3 的高斯模板如下:
H
1
=
1
16
[
1
2
1
2
4
2
1
2
1
]
H_{1}=\frac{1}{16}\begin{bmatrix} 1 & 2 & 1\\ 2 & 4 & 2\\ 1 & 2 & 1 \end{bmatrix}
H1=161⎣⎡121242121⎦⎤ 高斯模板名字的由来是二维高斯函数,即我们熟悉的二维正态分布密度函数,一个均值为 0,方差为 σ2 的二维高斯函数为: ![]() ![]() 图像中,噪声的出现,使该点像素比周围像素暗(亮)许多,若把其周围像素值排序,噪声点的值必然位于序列的前(后)端。序列的中值一般未受到噪声污染,所以可以用中值取代原像素点的值来滤除噪声。 因此,中值滤波即是以数字序列或数字图像中某一点为中心,选择周围一个窗口(邻域),把窗口内所有像素值按照大小排序,取中值代替该像素点的值。 例如,采用 3 × 3 中值滤波器,某点 (i,j) 的 8 个邻域的一系列像素值为 12、18、18、11、23、22、13、25、118,统计排序结果为 11、12、13、18、18、22、23、25、118。排在中间位置(第 5 位)的 18 即作为 (i,j) 点中值滤波的新像素 g(i,j)。显然,中值滤波是非线性滤波器。 3.4.2 中值滤波MATLAB函数表示 B = medfilt(A,[M N]); %用[M N]大小的滤波器对图像A进行中值滤波,输出图像B,滤波器大小默认为3x3。 3.4.3 中值滤波效果分析 对于椒盐噪声,中值滤波比均值滤波效果好,模糊程度轻微,边缘保留较好;而对于高斯噪声,均值滤波比中值滤波效果好;在去除噪声的同时,中值滤波可以比较好地保留边缘轮廓信息和图像的细节 ,示例如下。![]() 对人眼视觉系统的研究表明,人类对形状的感知一般通过识别边缘、轮廓、前景和背景而形成。在图像处理中,边缘信息也十分重要。边缘是图像中亮度突变的区域,通过计算局部图像区域的亮度差异,从而检测出不同目标或场景各部分之间的边界,是图像锐化、图像分割、区域形状特征提取等技术的重要基础。 图像锐化(ImageSharpening) 的目的是加强图像中景物的边缘和轮廓,突出图像中的细节或增强被模糊了的细节。关于边缘的详细介绍大家可以参考另一篇博客。 图像平滑是通过积分过程使图像边缘模糊,图像锐化是通过微分过程使图像边缘突出、清晰。 锐化滤波器的作用如下。 ![]() 梯度的定义: 对于连续二维函数 f(x,y),其在点 (x,y) 处的梯度是下面的二维列向量: G [ f ( x , y ) ] = [ ∂ f ∂ x ∂ f ∂ y ] G[f(x,y)]=\begin{bmatrix} \frac{\partial f}{\partial x}\\ \frac{\partial f}{\partial y} \end{bmatrix} G[f(x,y)]=[∂x∂f∂y∂f] 其中,G表示对二维函数 f(x,y) 计算梯度,两微分含义如下:
直观理解梯度算子公式,就是计算图中每一个像素点和其右邻点、下邻点差值的绝对值和,并赋给该像素点,不存在右邻点和下邻点的直接赋背景值0。 4.2.2 Robert 算子 Robert 算子通过交叉求微分检测局部变化,其运算公式如下。 直观理解 Robert 算子公式,就是计算以图中每一个像素点为像素坐标系原点而组成的 2x2 矩阵分别与W1和W2相加的绝对值和,并赋给该像素点,模板罩不住的像素点直接赋背景值0。 【注】在进行锐化滤波之前,我们要将图像类型从 unit8 转换为 double,这是因为锐化模板的负系数常常使得输出产生负值,如果采用无符号的 unit8 型,则负值就会被截断。具体操作如下。 Image=im2double(rgb2gray(imread('lotus.jpg'))); %转换为 double 类型,这样可以保存负值,否则 unit8 型会把负值裁掉。 4.2.3 Sobel 算子 Sobel 算子是一种 3x3 模板下的微分运算,因为滤波时我们总是喜欢奇数尺寸的模板,因而 Sobel 梯度的 Sobel 模板更加常用。其模板表示为 直观理解 Sobel 算子公式,就是计算以图中每一个像素点为像素坐标系原点而组成的 3x3 矩阵分别与W1和W2相加的绝对值和,并赋给该像素点,模板罩不住的像素点直接赋背景值0。 Prewitt 算子与 Sobel 算子思路类似,但模板系数不一样,如下所示: 应用广泛的二维函数 f(x,y) 的二阶微分(拉普拉斯算子)定义为:
在傅里叶变换域,变换系数反映了某些图像特征。如频谱的直流分量比例于图像的平均亮度,噪声对应于频率较高的区域,图像大部分实体位于频率较低的区域等。变换域具有的这些内在特性常被用于图像的频域滤波。 频率平滑滤波的目的是为了实现在频率域去除噪声。由于噪声表现为高频成分,因此可以通过构造一个低通滤波器 H(u,v),使得低频分量顺利通过而有效地阻止或减弱高频分量,即可滤除频域噪声,再经反变换来取得平滑图像。可见,频率平滑滤波的关键为设计合适的频域低通滤波器 H(u,v)。 1.1 理想低通滤波(Ideal LowPass Filters-ILPF) 理想低通滤波器是在傅里叶平面上半径为D0的圆形滤波器,其传递函数如下: 理想低通滤波器的截止频率是直上直下的,在物理理上不可实现。而巴特沃斯低通滤波器的通带和阻带之间没有明显足的不连续性,因此不会出现“振会“效应.模糊程度也相对要小。 因此,巴特沃斯低通滤波器 (BLPF) 又称为最大平坦滤波器。一个阶为n,截止频率为D0的巴特沃斯低通滤波器的转移函数 H(u,v) 由下式决定: 图像中的边缘对应于高频分量,所以图像锐化可以采用高通滤波器实现。将图像 f(x,y) 通过正交变换变换为 F(u.v),设计高通滤波器 H(u,v) 滤波后反变换回图像 g(x,y)。频域高通滤波的关键在于选择合适的高通滤波器传递函数 H(u,v)。 2.1 理想高通滤波(Ideal HighPass Filters-IHPF) 理想高通滤波器的传递函数为 理想高通滤波器传递函数及其剖面图如下图所示,与理想低通滤波器正好相反。通过高通滤波器把以D0为半径的圆内频率成分衰减掉,圆外的频率成分则无损通过。
版权说明 文章作者:早知晓 博文链接:Click here 希望大家都走在开满鲜花的路上,加油鸭~ |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |