调整RGB图像的色彩算法代码
时间: 2023-08-30 16:12:22 浏览: 132
以下是一个基于Python和OpenCV库的调整RGB图像色彩的算法示例代码:
```python
import cv2
import numpy as np
def color_adjustment(image, r_scale=1.0, g_scale=1.0, b_scale=1.0):
# 分离通道
b, g, r = cv2.split(image)
# 对每个通道进行缩放
b = cv2.multiply(b, b_scale)
g = cv2.multiply(g, g_scale)
r = cv2.multiply(r, r_scale)
# 合并通道
image_adjusted = cv2.merge([b, g, r])
# 对像素值进行截断操作,将像素值限制在[0, 255]之间
image_adjusted = np.clip(image_adjusted, 0, 255)
# 将图像转换为8位无符号整数类型
image_adjusted = image_adjusted.astype(np.uint8)
return image_adjusted
# 加载图像
image = cv2.imread('input.jpg')
# 调整图像的色彩
image_adjusted = color_adjustment(image, r_scale=1.2, g_scale=1.0, b_scale=0.8)
# 显示原始图像和处理后的图像
cv2.imshow('Input', image)
cv2.imshow('Color Adjusted', image_adjusted)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在上面的代码中,`color_adjustment`函数接受一个图像,以及三个参数`r_scale`、`g_scale`和`b_scale`,它们分别控制红色、绿色和蓝色通道的缩放。函数首先将图像分离成三个通道,对每个通道进行缩放,然后合并通道。最后,我们对像素值进行截断操作,将像素值限制在[0, 255]之间,并将图像转换为8位无符号整数类型。在这个示例中,我们将红色通道的缩放因子设置为1.2,绿色通道的缩放因子设置为1.0,蓝色通道的缩放因子设置为0.8,以增强图像的红色和蓝色色彩。
阅读全文