灰度变化(Gray-level Transformation)
在数字图像处理中,**灰度变化(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增强
↓
高斯滤波
↓
二值化
↓
形态学处理
↓
轮廓识别
这套流程适合做物体检测、缺陷检测和机器人视觉。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)