Unsharp Masking
- 处理流程:

简单说就是对输入图像进行拉普拉斯滤波 (高通滤波),获得高频信号,然后一定程度地与原始信号相加得到校正后的结果。这样处理后的结果就是原图像中的高频信号被突出了。
高频信号通常也可以通过原图像减去高斯滤波(低通滤波)后的图像获得。下面是处理样例:

可以看到图中的边缘(高频信号)被增强突出了。
-
公式表达:
其中 x(n, m)
是指输入图像,即待校正的图像;y(n, m)
是指输出图像,即校正后的图像;z(n, m)
是指校正信号;λ
是为正数的缩放因子。
z(n, m)
可以通过以下公式来获得:

Adaptive Unsharp Masking
- 处理流程:

在上图流程中的下半部分,可以看出提供了两个双边滤波的操作,分别对应水平和垂直方向:

对应的输出 y(n, m)
可以表示成:

其中 λx(n, m)
和 λy(n, m)
分别是对应信号的缩放因子。
目标是使用自适应算法递归地更新这些参数,可以使图像平滑区域的增强很少或没有增强,中等对比度区域的增强最大,而大对比度区域仅适度增强。
下面用向量表示缩放因子和相关信号:


对应的输出可以表示成:

- Cost Function:
为了便于自适应滤波器的实现和分析的可跟踪性,我们定义了一种测量图像局部动态(local dynamics)的方法,使用一个简单的线性高通滤波器 g()
的输出,支持 3×3
像素,如下图所示。

选择使用线性算子 g()
而不是其他度量方法,如局部方差,是由于使用该算子产生的自适应算法较简单。
整个度量的式子如下所示:

算法中使用 Gauss-Newton 自适应算法来减少期望的局部动态和通过 g()
得到的局部动态之间的误差。
首先根据测量到的图像的活动水平(activity level),将输入图像中的每个像素划分为三个类别中的一个,该活动水平是在给定的 3×3 像素块上计算得到的局部方差:

后一项指的是平均亮度水平。
基于这个基本原理,在输出图像中将所需的活动级别定义为:


最后代价函数为:

网友评论