python opencv 降低图片的色调色温
时间: 2023-06-28 10:04:22 浏览: 362
要降低图片的色调和色温,可以使用 OpenCV 的色彩空间转换函数。具体步骤如下:
1. 读取图片并将其转换为 HSV 色彩空间。
```python
import cv2
image = cv2.imread("image.jpg")
hsv_image = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
```
2. 调整色调和色温。
```python
import numpy as np
# 色调调整
hsv_image[:, :, 0] = (hsv_image[:, :, 0] - 10) % 180
# 色温调整
hsv_image[:, :, 1] = np.clip(hsv_image[:, :, 1] * 0.7, 0, 255)
hsv_image[:, :, 2] = np.clip(hsv_image[:, :, 2] * 0.7, 0, 255)
```
在上面的代码中,我们将色调减小了10度,并将饱和度和亮度分别乘以0.7来降低色温。
3. 将图片转换回 BGR 色彩空间并保存。
```python
output_image = cv2.cvtColor(hsv_image, cv2.COLOR_HSV2BGR)
cv2.imwrite("output.jpg", output_image)
```
完整代码如下:
```python
import cv2
import numpy as np
image = cv2.imread("image.jpg")
hsv_image = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
# 色调调整
hsv_image[:, :, 0] = (hsv_image[:, :, 0] - 10) % 180
# 色温调整
hsv_image[:, :, 1] = np.clip(hsv_image[:, :, 1] * 0.7, 0, 255)
hsv_image[:, :, 2] = np.clip(hsv_image[:, :, 2] * 0.7, 0, 255)
output_image = cv2.cvtColor(hsv_image, cv2.COLOR_HSV2BGR)
cv2.imwrite("output.jpg", output_image)
```
阅读全文