数字图像是由两个空间坐标组成的二维矩阵,其中每个单元格指定了该点图像的强度级。因此,我们有一个 N x N 的矩阵,其中的整数值范围从最小强度级 0 到最大级 L-1,其中 L 表示强度级的数量。因此,像素 r 的强度级可以取值 0,1,2,3,…. (L-1)。通常,L = 2^m,其中 m 是表示强度级所需的位数。零级强度表示全黑或暗,而 L-1 级表示全白或无灰度。
强度变换:
强度变换是一种基本的数字图像处理技术,其中图像的像素强度级通过数学变换函数转换为新的值,从而获得新的输出图像。本质上,强度变换就是实现以下函数:
s = T(r)
其中 s 是新的像素强度级,r 是给定图像的原始像素强度值,且 r≥0。
随着变换函数 T(r) 形式的不同,我们会得到不同的输出图像。
常见的强度变换函数:
1. 图像反转: 这会反转图像的灰度,使暗像素变白,亮像素变暗。这完全类似于照片的底片,因此得名。
s = L – 1 – r
2. 对数变换: 这里 c 是某个常数。它用于扩展图像中的暗像素值。
s = c log(1+r)
3. 幂律变换: 这里 c 和 γ 是任意常数。通过改变 γ 的值,此变换可用于多种目的。
s = c r^γ
直方图均衡化:
强度等级在 0 到 (L-1) 之间的数字图像的 直方图 是一个函数 h( rk ) = nk ,其中 rk 是第 k 个强度级,nk 是图像中具有该强度级的像素数量。我们也可以通过将其除以图像中的像素总数来归一化直方图。对于 N x N 的图像,我们有以下归一化直方图函数的定义:
p( rk ) = nk/N2
这个 p(rk) 函数是出现强度级为 rk 的像素的概率。显然,
∑ p( rk ) = 1
如图所示,图像的直方图由代表强度级 rk 的 x 轴和表示 h(rk) 或 p(r_k) 函数的 y 轴组成。
图像的直方图给出了有关图像灰度和对比度的重要信息。如果图像的整个直方图集中在 x 轴的左端,则意味着图像较暗。如果直方图更多地向右端倾斜,则表示图像是白色或明亮的。强度轴中心处的窄宽度直方图图显示低对比度图像,因为它具有很少的灰度级。另一方面,在整个 x 轴上均匀分布的直方图使图像具有高对比度效果。
在图像处理中,经常需要提高图像的对比度。在这种情况下,我们使用一种称为直方图均衡化的强度变换技术。直方图均衡化是通过选择适当的强度变换函数,将图像直方图均匀地分布在整个强度轴上的过程。因此,直方图均衡化是一个强度变换过程。
下面从数学上解释了为均匀分布图像直方图而选择理想变换函数的原理。
直方图均衡化变换函数的数学推导:
让我们假设图像 r 的强度级是连续的,这与数字图像中的离散情况不同。我们将 r 可以取的值限制在 0 和 L-1 之间,即 0 ≤ r ≤ L-1 。r = 0 代表黑色,r = L-1 代表白色。让我们考虑一个任意的变换函数:
s = T( r )
其中 s 表示结果图像的强度级。我们对 T(r) 有一定的约束。
- T(r) 必须是一个严格递增的函数。这使其成为单射函数。
- 0 ≤ T( r ) ≤ L-1。这使得 T(r) 成为满射函数。
上述两个条件使 T(r) 成为双射函数。我们知道这样的函数是可逆的。所以我们可以从 s 反推回 r 值。我们可以有一个函数使得 r = T-1( s )
现在让我们说,r 的概率密度函数 是 pr (x),r 的累积分布函数 是 Fr (x)。现在 s 的 CDF 将是:
FS( x ) = P( s ≤ x ) = P ( T(r) ≤ x ) = P ( r ≤ T-1(x) ) = Fr ( T-1(x) ).
我们之所以规定 T(r) 的第一个条件,正是为了让上述步骤成立。第二个条件…