python实现图像迦马变换
时间: 2025-05-27 14:09:28 浏览: 16
### Python 实现图像伽马变换
伽马变换(Gamma Transformation),也称为幂律变换,是一种常见的灰度变换方法,用于调整图像的对比度。通过改变输入图像像素值的强度分布,可以增强或减弱图像的整体亮度。
以下是基于 OpenCV 的 Python 示例代码,展示如何实现伽马变换:
```python
import cv2
import numpy as np
def adjust_gamma(image, gamma=1.0):
# 构建伽马校正查找表
invGamma = 1.0 / gamma
table = np.array([((i / 255.0) ** invGamma) * 255 for i in np.arange(0, 256)]).astype("uint8")
# 应用查找表进行伽马变换
return cv2.LUT(image, table)
if __name__ == "__main__":
# 加载原始图像
original_image = cv2.imread('input_image.jpg') # 替换为实际路径
if original_image is None:
print("无法加载图像,请检查文件路径!")
else:
# 设置伽马值
gamma_value = 2.5
# 执行伽马变换
adjusted_image = adjust_gamma(original_image, gamma=gamma_value)
# 显示结果
cv2.imshow('Original Image', original_image)
cv2.imshow(f'Adjusted Gamma={gamma_value}', adjusted_image)
# 保存结果
cv2.imwrite('output_image.jpg', adjusted_image)
# 等待按键关闭窗口
cv2.waitKey(0)
cv2.destroyAllWindows()
```
#### 说明
- 上述代码定义了一个 `adjust_gamma` 函数,该函数接受一张图像以及伽马值作为参数[^2]。
- 使用 NumPy 创建一个查找表(LUT),其中每个条目表示经过伽马矫正后的像素值。
- 利用 OpenCV 的 `cv2.LUT()` 方法应用查找表到整个图像上,从而高效地完成伽马变换操作。
- 用户可以根据需求修改伽马值 (`gamma`) 来观察不同效果。
此方法不仅适用于彩色图像,还支持灰度图像处理[^3]。
---
阅读全文
相关推荐


















