outline
- 图像点处理方法
- 直方图均衡化
- 图像平滑
- 图像锐化
- 非线性图像处理
非线性图像处理
线性处理滤波相当于对像素点做加权处理,可能会导致细节丢失,出现模糊的现象,针对强噪声会出现无法消除的问题。因此引入非线性滤波:但因为非线性滤波无法直接使用频域方法分析,因此使用Order Statistic Filters的方法分析。
中值滤波
中值滤波的核心思想是:用中心像素点的邻域像素值的中值作为中心点的灰度值。其数学表达式为: f ( x , y ) = m e d i a n { f ( s , t ) , ( s , t ) ∈ S x y } f(x,y)=median\{f(s,t),(s,t)\in S_{xy}\} f(x,y)=median{f(s,t),(s,t)∈Sxy}
- 使灰度值差异较大的点更接近于邻域,可以消除突然的过大过小的像素点(面积小于滤波器窗口的一半),较大的一场区域没办法消除
- 可以消除椒盐噪声(脉冲噪声)
- 椒盐噪声:图像中出现大量的黑白点,类似于椒盐。具有随机、极端值(0或255)以及稀疏的特点
- 针对椒盐噪声,均值滤波器虽然会一定程度上削弱噪声,但会传播噪声
- 针对边界,均值滤波器会使边界模糊,而中值滤波器会保留边界
- 缺点是:对图像自身的点、线等细节也可能会消除
针对一个信号重复使用中值滤波,最终会收敛到一个不再变化的信号,即为“根信号”。
- 因为其保留了图片的主体信息,而且消除了高频噪声。在计算机视觉、人脸识别等很多领域直接处理根信号,而不是原始信号。
其他滤波器
最大值滤波
f
(
x
,
y
)
=
m
a
x
{
f
(
s
,
t
)
,
(
s
,
t
)
∈
S
x
y
}
f(x,y)=max\{f(s,t),(s,t)\in S_{xy}\}
f(x,y)=max{f(s,t),(s,t)∈Sxy}
最小值滤波
f
(
x
,
y
)
=
m
i
n
{
f
(
s
,
t
)
,
(
s
,
t
)
∈
S
x
y
}
f(x,y)=min\{f(s,t),(s,t)\in S_{xy}\}
f(x,y)=min{f(s,t),(s,t)∈Sxy}
中点值滤波
f
(
x
,
y
)
=
1
2
[
m
a
x
{
f
(
s
,
t
)
}
+
m
e
d
i
a
n
{
f
(
s
,
t
)
,
x
}
,
(
s
,
t
)
∈
S
x
y
]
f(x,y)=\frac{1}{2}[max\{f(s,t)\} + median\{f(s,t),x\},(s,t)\in S_{xy}]
f(x,y)=21[max{f(s,t)}+median{f(s,t),x},(s,t)∈Sxy]
Alpha-trimmed 均值滤波
f
(
x
,
y
)
=
1
m
n
−
d
∑
(
s
,
t
)
∈
S
x
y
f
r
(
s
,
t
)
f(x,y)=\frac{1}{mn-d}\sum_{(s,t) \in S_{xy}}^{}f_{r}(s,t)
f(x,y)=mn−d1(s,t)∈Sxy∑fr(s,t)
其中:
f
r
(
s
,
t
)
f_r(s,t)
fr(s,t)是去除极端像素后剩余的像素值,d是去除的像素个数,mn是滤波窗口的像素个数。
核心思想是去除极端噪声,后对剩下的像素值做均值。相对均值滤波可以更好的保留边缘信息。
Iterative Truncated Arithmetic Mean Filter
迭代截断算数均值滤波器,集合均值和中值的优点,同时避免中值的高复杂度。
均值:L2 范数最优解,最小化平方误差
μ
=
arg
min
φ
∑
i
=
1
n
(
x
i
−
φ
)
2
\mu = \arg\min_{\varphi} \sum_{i=1}^{n} (x_i - \varphi)^2
μ=argφmini=1∑n(xi−φ)2
中值:L1范数最优解,最小化绝对误差
φ
=
arg
min
φ
∑
i
=
1
n
∣
x
i
−
φ
∣
\varphi = \arg\min_{\varphi} \sum_{i=1}^{n} |x_i - \varphi|
φ=argφmini=1∑n∣xi−φ∣
在存在极端值的情况下,均值和中值的差距会很大。
为了评估均值和中值之间的关系,引入其他三个统计量:
-
上下分位数均值的差值
τ 1 = 1 2 ( μ h − μ l ) \tau_1 = \frac{1}{2} (\mu_h - \mu_l) τ1=21(μh−μl)
其中, μ h \mu_h μh 和 μ l \mu_l μl 分别为数据集中上半部分和下半部分的均值。此数据反映数据的对称性,若数值较大,则偏态严重。 -
标准差
τ 2 = 1 n ∑ i = 1 n ( x i − μ ) 2 \tau_2 = \sqrt{\frac{1}{n} \sum_{i=1}^{n} (x_i - \mu)^2} τ2=n1i=1∑n(xi−μ)2
反映整体数据的波动性,如果数值较大,则数据包含极端值 -
平均绝对偏差
τ 3 = 1 n ∑ i = 1 n ∣ x i − μ ∣ \tau_3 = \frac{1}{n} \sum_{i=1}^{n} |x_i - \mu| τ3=n1i=1∑n∣xi−μ∣
反映数据的变异性,相对标准差,极端数值不敏感一些
其满足以下定理:
- 在任何有限的数据集中满足:
∣ φ − μ ∣ ≤ τ 1 , ∣ φ − μ ∣ ≤ τ 2 , ∣ φ − μ ∣ ≤ τ 3 |\varphi - \mu| \leq \tau_1, \quad |\varphi - \mu| \leq \tau_2, \quad |\varphi - \mu| \leq \tau_3 ∣φ−μ∣≤τ1,∣φ−μ∣≤τ2,∣φ−μ∣≤τ3
均值 μ \mu μ与中位数 φ \varphi φ 的差距小于标准差、平均绝对方差以及上下分位数均值的差值 -
τ
3
\tau_3
τ3 在所有上界中是最小的。其是中值和均值偏理程度的最佳度量。
τ 3 ≤ τ 1 , τ 3 ≤ τ 2 \tau_3 \leq \tau_1, \quad \tau_3 \leq \tau_2 τ3≤τ1,τ3≤τ2 - 对于任意有限数据集,如果中值偏离均值,则至少存在一个数据点,使其与均值的差值大于
τ
3
\tau_3
τ3。
∃ x i , x i ∈ X , such that ∣ x i − μ ∣ > τ , if φ ≠ μ \exists x_i, x_i \in X, \quad \text{such that} \quad |x_i - \mu| > \tau, \quad \text{if} \quad \varphi \neq \mu ∃xi,xi∈X,such that∣xi−μ∣>τ,ifφ=μ- 如果可以识别出极端值并剔除,则均值可以更接近中值
- 如果中值偏离均值,则ITM算法会单调降低截断阈值,并最终收敛至0。
τ ( k ) < τ ( k − 1 ) \tau(k) < \tau(k - 1) τ(k)<τ(k−1)
lim k → ∞ τ ( k ) = 0 , if φ ≠ μ \lim\limits_{k \to \infty} \tau(k) = 0, \quad \text{if} \quad \varphi \neq \mu k→∞limτ(k)=0,ifφ=μ
- 如果中值和均值不同,会逐渐剔除极端值,使均值逼近中值。逐渐消除极端值的影响。
ITM滤波算法:
- 计算当前均值
- 计算截断阈值,剔除极端值
x i = { μ + τ , if x i > μ + τ μ − τ , if x i < μ − τ x_i = \begin{cases} \mu + \tau, & \text{if } x_i > \mu + \tau \\ \mu - \tau, & \text{if } x_i < \mu - \tau \end{cases} xi={μ+τ,μ−τ,if xi>μ+τif xi<μ−τ - 检查停止条件
优势在于:避免了中值排序的计算复杂度,而且逐渐逼近于中值。比均值滤波更好的保留边缘,相比于中值滤波减少了计算量。