空间域处理主要分为两类:灰度变换、空间滤波
灰度变换 :对图像的各个像素进行操作,如:对比度处理和图像阈值处理
空间滤波 :对图像中每个像素的邻域进行操作 如:图像平滑 和 锐化 。
灰度变换是所有图像处理技术中最简单的一种技术 。 由于正在处理的是数字量,所以灰度变换函数的值通常存储在一个表中 且从 r r r 到 s s s 的映射是通过 查找表 实现的 。
可用于增强图像暗色区域中的白色或灰色细节 暗色区域的尺寸很大时 增强效果更好。
s = c log ( 1 + r ) s=c \log (1+r) s=clog(1+r)
比对数变换更适用于图像灰度级的扩展压缩。
s = c r γ s=c r^{\gamma} s=crγ
s k = T ( r k ) = ( L − 1 ) ∑ j = 0 k p r ( r j ) , k = 0 , 1 , 2 , ⋯ , L − 1 s_{k}=T\left(r_{k}\right)=(L-1) \sum_{j=0}^{k} p_{r}\left(r_{j}\right), k=0,1,2, \cdots, L-1 sk=T(rk)=(L−1)j=0∑kpr(rj),k=0,1,2,⋯,L−1
变换(映射) T ( r k ) T(r_k) T(rk) 称为直方图均衡化或直方图线性化变换。
灰度值覆盖整个灰度级的会使得图片对比度增强,更加清晰。刚才推导的方法会产生具有这种分布趋势的灰度,并且具有全自动的优点。
直方图匹配(规定化 ):用于生成具有 规定直方图 的图像的方法 。
目的:增强图像中小区域的细节。解决方法:设计基于像素邻域的灰度分布的变换函数 。
局部均值是邻域中的平均灰度的测度,局部方差(或标准差)是邻域中的灰度对比度的测度。
空间滤波器在图像 f f f 和空间滤波器核之间执行乘积之和运算。核是一个阵列,其大小定义了运算的邻域,其系数决定了该滤波器的性质。
一般来说,大小为 m × n m×n m×n 的核对大小为 M × N M×N M×N 的图像的线性空间滤波可表示为:
g ( x , y ) = ∑ s = − a a ∑ t = − b b w ( s , t ) f ( x + s , y + t ) g( x, y)=\sum_{s=-a}^{a} \sum_{t=-b}^{b} w(s, t) f(x+s, y+t) g(x,y)=s=−a∑at=−b∑bw(s,t)f(x+s,y+t)
空间卷积:与空间相关的原理相同,只是把相关运算的核旋转了 18 0 ∘ 180^\circ 180∘。当核的值关于其中心对称时,相关和卷积得到的结果相同。
大小为 M × N M \times N M×N 的图像和大小为 m × n m \times n m×n 的核进行卷积运算,使用可分离核相对于使用不可分离核的计算优势定义为:
C = M N m n M N ( m + n ) = m m m + n C=\frac{M N m n}{M N(m+n)}=\frac{m m}{m+n} C=MN(m+n)MNmn=m+nmm
(1) 卷积是空间域滤波的基础,它等效于频率域中的乘法,反之亦然。
(2) 空间域中振幅为 A A A 的冲激,是频率域中值为 A A A 的一个常数,反之亦然。
线性滤波就是找到合适的方法来修改图像的频率内容 。 在 空间域 中 通过 卷积滤波 来实现;在 频率域 中 则是用 乘法滤波器 来实现 。 后者是一种更直观的方法。
是最简单的可分离低通滤波器核其系数的值相同 通常为 1 ,归一化常数为 1 / m n 1/mn 1/mn。
适用于所有低通核的这个归一化有两个目的: (1)一个恒定灰度区域的 灰度平均值 将等于 滤波后图像的灰度值 (2)防止在滤波过程中引入偏差 。
盒式滤波器对透镜模糊特性的近似能力较差;往往会沿 perpendicular 方向模糊图像。
应用中所选的核通常是圆对称的(也称各向同性,这意味着它们的响应与方向无关)。已证明,高斯核
w ( s , t ) = G ( s , t ) = K e − s 2 + t 2 2 σ 2 w(s, t)=G(s, t)=K e^{-\frac{s^{2}+t^{2}}{2 \sigma^{2}}} w(s,t)=G(s,t)=Ke−2σ2s2+t2
是唯一可分离的圆对称核。
中值滤波器:用中心像素的 邻域内的灰度值的中值 在中值计算中包括中心像素的值 代替中心像素的值。
两个变量的离散拉普拉斯是:
∇ 2 f ( x , y ) = f ( x + 1 , y ) + f ( x − 1 , y ) + f ( x , y + 1 ) + f ( x , y − 1 ) − 4 f ( x , y ) \nabla^{2} f(x, y)=f(x+1, y)+f(x-1, y)+f(x, y+1)+f(x, y-1)-4 f(x, y) ∇2f(x,y)=f(x+1,y)+f(x−1,y)+f(x,y+1)+f(x,y−1)−4f(x,y)
使用拉普拉斯锐化图像的基本方法是:
g ( x , y ) = f ( x , y ) + c [ ∇ 2 f ( x , y ) ] g(x, y)=f(x, y)+c\left[\nabla^{2} f(x, y)\right] g(x,y)=f(x,y)+c[∇2f(x,y)]
从原图像中减去一幅钝化(平滑后的)图像,是20世纪30年代以来印刷和出版业一直用来锐化图像的过程。该过程称为钝化掩蔽,由如下步骤组成:
令 f ˉ ( x , y ) \bar{f}(x, y) fˉ(x,y) 表示模糊后的图像,公式形式的模板为:
g mask ( x , y ) = f ( x , y ) − f ˉ ( x , y ) g_{\text {mask }}(x, y)=f(x, y)-\bar{f}(x, y) gmask (x,y)=f(x,y)−fˉ(x,y)
然后,将加权后的模板与原图像相加:
g ( x , y ) = f ( x , y ) + k g mask ( x , y ) g(x, y)=f(x, y)+k g_{\text {mask }}(x, y) g(x,y)=f(x,y)+kgmask (x,y)
图像 f f f 在坐标 ( x , y ) (x,y) (x,y) 处的梯度(向量; 线性算子, 不是各向同性; 指出了在位置 ( x , y ) (x,y) (x,y) 处 f f f 的最大变化率的方向)定义为二维列向量:
∇ f = grad ( f ) = [ g x g y ] = [ ∂ f ∂ x ∂ f ∂ y ] \nabla f=\operatorname{grad}(f)=\left[\begin{array}{l} g_{x} \\ g_{y} \end{array}\right]=\left[\begin{array}{l} \frac{\partial f}{\partial x} \\ \\ \frac{\partial f}{\partial y} \end{array}\right] ∇f=grad(f)=[gxgy]= ∂x∂f∂y∂f
向量 ∇ f \nabla f ∇f 的幅度(长度; 不是线性算子, 是各向同性)表示为 M ( x , y ) M(x,y) M(x,y):
M ( x , y ) = mag ( ∇ f ) = g x 2 + g y 2 M(x, y)=\operatorname{mag}(\nabla f)=\sqrt{g_{x}^{2}+g_{y}^{2}} M(x,y)=mag(∇f)=gx2+gy2
在某些实现中, 用绝对值来近似平方运算和平方根运算更适合:
M ( x , y ) ≈ ∣ g x ∣ + ∣ g y ∣ M(x, y) \approx\left|g_{x}\right|+\left|g_{y}\right| M(x,y)≈∣gx∣+∣gy∣
3.39
拉普拉斯核是各向同性(旋转不变的),下面我们来证明一下,可能需要一点高数的知识。
对于没有旋转的坐标,拉普拉斯核定义为:
∇ 2 f = ∂ 2 f ∂ x 2 + ∂ 2 f ∂ y 2 \nabla^{2} f=\frac{\partial^{2} f}{\partial x^{2}}+\frac{\partial^{2} f}{\partial y^{2}} ∇2f=∂x2∂2f+∂y2∂2f
旋转的坐标,拉普拉斯核定义为:
∇ ′ 2 f = ∂ 2 f ∂ x ′ 2 + ∂ 2 f ∂ y ′ 2 \nabla^{\prime 2} f=\frac{\partial^{2} f}{\partial x^{\prime 2}}+\frac{\partial^{2} f}{\partial y^{\prime 2}} ∇′2f=∂x′2∂2f+∂y′2∂2f
旋转 θ \theta θ 角度的图像坐标定义为
x ′ = x cos θ − y sin θ y ′ = x sin θ + y cos θ \begin{aligned} x^{\prime} & = x \cos \theta-y \sin \theta \\ y^{\prime} & = x \sin \theta+y \cos \theta \end{aligned} x′y′=xcosθ−ysinθ=xsinθ+ycosθ
一阶偏导为:
∂ f ∂ x = ∂ f ∂ x ′ ∂ x ′ ∂ x + ∂ f ∂ y ′ ∂ y ′ ∂ y = ∂ f ∂ x ′ cos θ + ∂ f ∂ y ′ sin θ \begin{aligned} \frac{\partial f}{\partial x} & =\frac{\partial f}{\partial x^{\prime}} \frac{\partial x^{\prime}}{\partial x}+\frac{\partial f}{\partial y^{\prime}} \frac{\partial y^{\prime}}{\partial y} \\ & =\frac{\partial f}{\partial x^{\prime}} \cos \theta+\frac{\partial f}{\partial y^{\prime}} \sin \theta \end{aligned} ∂x∂f=∂x′∂f∂x∂x′+∂y′∂f∂y∂y′=∂x′∂fcosθ+∂y′∂fsinθ
二阶偏导为:
∂ 2 f ∂ x 2 = ∂ 2 f ∂ x ′ 2 cos 2 θ + ∂ ∂ x ′ ( ∂ f ∂ y ′ ) sin θ cos θ + ∂ ∂ y ′ ( ∂ f ∂ x ′ ) cos θ sin θ + ∂ 2 f ∂ y ′ 2 sin 2 θ \frac{\partial^{2} f}{\partial x^{2}}=\frac{\partial^{2} f}{\partial x^{\prime 2}} \cos ^{2} \theta+\frac{\partial}{\partial x^{\prime}}\left(\frac{\partial f}{\partial y^{\prime}}\right) \sin \theta \cos \theta+\frac{\partial}{\partial y^{\prime}}\left(\frac{\partial f}{\partial x^{\prime}}\right) \cos \theta \sin \theta+\frac{\partial^{2} f}{\partial y^{\prime 2}} \sin ^{2} \theta ∂x2∂2f=∂x′2∂2fcos2θ+∂x′∂(∂y′∂f)sinθcosθ+∂y′∂(∂x′∂f)cosθsinθ+∂y′2∂2fsin2θ
对 y y y 的偏导在这里忽略了,最后可以推导出来两个坐标上的拉普拉斯核是各向同性的
∂ 2 f ∂ x 2 + ∂ 2 f ∂ y 2 = ∂ 2 f ∂ x ′ 2 [ cos 2 θ + sin 2 θ ] + ∂ 2 f ∂ y ′ 2 [ sin 2 θ + cos 2 θ ] = ∂ 2 f ∂ x ′ 2 + ∂ 2 f ∂ y ′ 2 \begin{aligned} \frac{\partial^{2} f}{\partial x^{2}}+\frac{\partial^{2} f}{\partial y^{2}} & =\frac{\partial^{2} f}{\partial x^{\prime 2}}\left[\cos ^{2} \theta+\sin ^{2} \theta\right]+\frac{\partial^{2} f}{\partial y^{\prime 2}}\left[\sin ^{2} \theta+\cos ^{2} \theta\right] \\ & =\frac{\partial^{2} f}{\partial x^{\prime 2}}+\frac{\partial^{2} f}{\partial y^{\prime 2}} \end{aligned} ∂x2∂2f+∂y2∂2f=∂x′2∂2f[cos2θ+sin2θ]+∂y′2∂2f[sin2θ+cos2θ]=∂x′2∂2f+∂y′2∂2f