帮我写一个rgb gamma的python代码
时间: 2023-08-28 20:54:21 浏览: 163
当然,下面是一个简单的RGB Gamma校正的Python代码示例:
```python
import numpy as np
def gamma_correction(image, gamma):
# 对每个通道进行Gamma校正
corrected_image = np.power(image, gamma)
# 将校正后的像素值缩放到0-255范围
corrected_image = (corrected_image * 255).astype(np.uint8)
return corrected_image
# 示例用法
# 创建一个3x3x3的RGB图像
image = np.array([[[255, 0, 0], [0, 255, 0], [0, 0, 255]],
[[255, 255, 0], [255, 0, 255], [0, 255, 255]],
[[255, 255, 255], [0, 0, 0], [128, 128, 128]]], dtype=np.uint8)
# 设置Gamma值(大于1增加亮度,小于1减小亮度)
gamma = 2.2
# 进行Gamma校正
corrected_image = gamma_correction(image / 255.0, gamma)
print("原始图像:")
print(image)
print("\nGamma校正后的图像:")
print(corrected_image)
```
这段代码定义了一个 `gamma_correction` 函数,它接受一个RGB图像和一个Gamma值作为参数,并返回经过Gamma校正后的图像。在示例用法中,我们创建了一个3x3x3的RGB图像,并将Gamma值设置为2.2进行校正。最后,我们打印出原始图像和校正后的图像。请注意,为了在0-255范围内显示图像,我们将像素值缩放到0-1之间进行计算,然后再缩放回0-255范围。
阅读全文