什么是灰度变换?
灰度变换将输入图象映射为输出图象,输出图象每个象素点的灰度值仅由对应的输入象素点的值决定。常用于改变图象的灰度范围及分布,也称为对比度增强、对比度拉伸或灰度变换;
灰度变换可以是线性的,也可以是平方的,对数的,或其它任意单调函数的灰度变换;
灰度变换可以利用一个LUT(Look-up table)容易实现(或在彩色至少R、G、B三个LUT)。
图像反转变换
适用于增强图像中暗色区域的灰色细节部分。
s
=
L
−
1
−
r
s=L-1-r
s=L−1−r
对于灰度图像:“黑白颠倒”
对于彩色图像:补色
对数变换
s = c l o g ( 1 + r ) , c 为 常 数 , r 非 负 s=c\,log(1+r),\quad c为常数,r非负 s=clog(1+r),c为常数,r非负
- 把窄范围的低灰度级映射到宽范围的灰度级 (增强低灰度级)
- 把宽范围的高灰度级映射到窄范围的高灰度级 (抑制高灰度级)
应用:压缩图像的动态范围, 显示图像
的傅里叶频谱图像等。
反对数变换
s = c / l o g ( 1 + r ) , c 为 常 数 , r 非 负 s=c/log(1+r),\quad c为常数,\quad r非负 s=c/log(1+r),c为常数,r非负
- 把宽范围的低灰度级映射到窄范围的灰度级 (抑制低灰度级)
- 把窄范围的高灰度级映射到宽范围的低灰度级 (增强高灰度级)
幂次(伽马)变换
s
=
c
r
γ
,
c
,
r
均
非
负
s=cr^\gamma,\quad c,r均非负
s=crγ,c,r均非负
γ
<
1
\gamma<1
γ<1:扩展暗像素值,压缩亮像素值
γ
>
1
\gamma>1
γ>1:压缩暗像素值,扩展亮像素值
应用: 用于各种图像获取、打印和显示等设备的伽马校正。
分段线性变换
将灰度级划归不同范围, 每个范围采用不同的线性变换。
- 优点:变换形式可根据需要任意合成
- 缺点:需要用户输入
主要形式:
- 对比度拉伸
- 灰度级分层(灰度切割)
- 比特平面分层(位图切割)
对比度拉伸
对比度拉伸可以提高图像灰度级的动态范围。
s
=
T
(
r
)
=
{
a
1
r
0
≤
r
<
r
1
a
2
(
r
−
r
1
)
+
s
1
r
1
≤
r
<
r
2
a
3
(
r
−
r
2
)
+
s
2
r
2
≤
r
≤
L
−
1
s=T(r)= \begin{cases} a_1r& 0\le r<r_1\\ a_2(r-r_1)+s_1& r_1\le r<r_2\\ a_3(r-r_2)+s_2& r_2 \le r\le L-1 \end{cases}
s=T(r)=⎩⎪⎨⎪⎧a1ra2(r−r1)+s1a3(r−r2)+s20≤r<r1r1≤r<r2r2≤r≤L−1
s
1
=
T
(
r
1
)
,
s
2
=
T
(
r
2
)
s_1=T(r_1),\quad s_2=T(r_2)
s1=T(r1),s2=T(r2)
实例:
灰度级分层
提高图像中特定灰度范围的亮度。
比特平面分层
分析图像每个比特的相对重要性。