在数字图像处理中,**灰度变化(Gray-level Transformation)**是图像增强的重要方法之一,主要通过改变像素灰度值来改善图像视觉效果或突出目标信息。

对于灰度图像:

  • 输入灰度:®
  • 输出灰度:(s)

灰度变化就是建立一个映射关系:

[
s=T®
]

常见的灰度变化主要有以下几类:


1. 线性灰度变换(Linear Transformation)

最基本的灰度增强方法。

公式:

[
s=a r+b
]

其中:

  • (a):控制对比度
  • (b):控制亮度

(1)增加亮度

[
s=r+b
]

例如:

原图:

50 80 120

增加亮度:

100 130 170

效果:

  • 图像整体变亮
  • 暗区域增强

(2)降低亮度

[
s=r-b
]

效果:

  • 图像变暗

(3)增加对比度

[
a>1
]

例如:

输入:

80 100 120

变换:

40 100 160

特点:

  • 黑的更黑
  • 白的更白

2. 灰度拉伸(Contrast Stretching)

也叫对比度扩展

目的:

把原来集中在某个范围的灰度扩展到:

[
0\sim255
]

例如:

原图:

80 ~ 160

拉伸:

0 ~ 255

效果:

  • 增强弱对比图像
  • 常用于医学图像、工业检测

OpenCV:

cv2.normalize()

3. 灰度窗口变换(Gray Level Slicing)

只增强某一灰度范围。

例如:

目标:

突出灰度:

100~150

变换:

100~150 → 255

其他 → 0

效果:

类似:

  • 二值分割
  • 特征突出

应用:

  • X光
  • CT
  • 工业缺陷检测

4. 阈值变换(Thresholding)

最常用的二值化。

公式:

[
s=
\begin{cases}
255,&r>T
0,&r\le T
\end{cases}
]

例如:

阈值:

T=120

输入:

50 100 180 220

输出:

0 0 255 255

OpenCV:

cv2.threshold()

用途:

  • 目标分割
  • 轮廓提取
  • 机器视觉

5. 对数变换(Log Transformation)

公式:

[
s=c\log(1+r)
]

特点:

扩大低灰度区域:

暗处细节增加

压缩高灰度:

亮区变化减少

适合:

  • 夜间图像
  • 遥感图像

例如:

原图:

暗背景 + 微弱亮点

增强:

亮点更加明显

OpenCV:

import numpy as np

result = c*np.log(1+gray)

6. 指数变换(Power/Gamma变换)

也叫:

伽马变换 Gamma Correction

公式:

[
s=c r^\gamma
]

其中:

γ控制变化。


γ < 1

增强暗区域:

例如:

夜景增强

效果:

黑色 → 灰色

γ > 1

压暗图像:

效果:

突出亮区域

OpenCV:

gamma=0.5

table=np.array(
[
((i/255)**gamma)*255
for i in range(256)
]
)

result=cv2.LUT(gray,table)

7. 直方图均衡化(Histogram Equalization)

不是直接改变亮度,而是重新分配灰度。

目标:

让灰度分布更加均匀。

原图:

灰度集中:
100~150

均衡化:

0~255均匀分布

效果:

  • 增强整体对比度

OpenCV:

cv2.equalizeHist()

8. CLAHE限制对比度自适应均衡化

普通直方图均衡:

容易放大噪声。

CLAHE:

分块处理 + 限制增强。

OpenCV:

clahe=cv2.createCLAHE(
clipLimit=2.0,
tileGridSize=(8,8)
)

result=clahe.apply(gray)

应用:

  • 医学影像
  • 工业检测
  • 夜视

9. 灰度反转(Negative Transformation)

公式:

[
s=255-r
]

例如:

输入:

0 50 255

输出:

255 205 0

效果:

黑白反转。

应用:

  • 胶片
  • 显微图像

总结表

方法 公式 作用
线性变换 s=ar+b 亮度、对比度调整
灰度拉伸 扩展范围 增强对比
窗口变换 指定范围增强 突出目标
阈值变换 二值化 目标分割
对数变换 log(1+r) 增强暗部
指数/Gamma r^γ 亮暗调整
直方图均衡 CDF映射 整体增强
CLAHE 局部均衡 增强细节
灰度反转 255-r 黑白转换

如果你做摄像头实时机器视觉,最常用流程通常是:

摄像头
 ↓
灰度化
 ↓
Gamma增强
 ↓
CLAHE增强
 ↓
高斯滤波
 ↓
二值化
 ↓
形态学处理
 ↓
轮廓识别

这套流程适合做物体检测、缺陷检测和机器人视觉。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐