图像亮度增强处理的python代码色彩保留度高
时间: 2023-08-03 12:08:50 浏览: 155
图像亮度增强可以通过多种方式实现,其中一种常用的方法是利用伽马函数进行非线性变换。下面是一个 Python 代码示例,使用伽马函数实现图像亮度增强,并保留色彩:
```python
import cv2
import numpy as np
import matplotlib.pyplot as plt
# 读取图像
img = cv2.imread("image.jpg")
# 将图像从 BGR 色彩空间转换为 RGB 色彩空间
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
# 对图像进行伽马函数变换
gamma = 1.2 # 伽马值
img_gamma = np.power(img / 255.0, gamma)
img_gamma = np.uint8(img_gamma * 255.0)
# 显示原始图像和增强后的图像
plt.subplot(121)
plt.imshow(img)
plt.title("Original Image")
plt.axis("off")
plt.subplot(122)
plt.imshow(img_gamma)
plt.title("Gamma-Corrected Image")
plt.axis("off")
plt.show()
```
在上述代码中,首先使用 OpenCV 库的 `imread` 函数读取一张图像,并使用 `cvtColor` 函数将图像从 BGR 色彩空间转换为 RGB 色彩空间。然后,使用 `np.power` 函数对图像进行伽马函数变换,其中 `gamma` 表示伽马值,可以根据实际需求进行调整。最后,使用 `plt.imshow` 函数显示原始图像和增强后的图像,并使用 `plt.title` 函数设置图像标题,使用 `plt.axis` 函数关闭坐标轴。
值得注意的是,上述代码中使用了 `np.uint8` 函数将增强后的图像转换为 8 位无符号整型,这是因为在进行伽马函数变换后,图像像素值可能会超出 0-255 的范围,因此需要进行数据类型转换。
阅读全文