Cv2 自动白平衡
时间: 2023-12-18 07:05:48 浏览: 48
cv2库提供了一个函数用于自动白平衡,即cv2.cvtColor()。这个函数可以实现自动白平衡,把图像中的色温调整到正常水平。
代码示例:
``` python
import cv2
img = cv2.imread('input.jpg')
# 自动白平衡
result = cv2.cvtColor(img, cv2.COLOR_BGR2LAB)
avg_a = np.average(result[:, :, 1])
avg_b = np.average(result[:, :, 2])
result[:, :, 1] = result[:, :, 1] - ((avg_a - 128) * (result[:, :, 0] / 255.0) * 1.1)
result[:, :, 2] = result[:, :, 2] - ((avg_b - 128) * (result[:, :, 0] / 255.0) * 1.1)
result = cv2.cvtColor(result, cv2.COLOR_LAB2BGR)
cv2.imwrite('output.jpg', result)
```
这个函数的参数cv2.COLOR_BGR2LAB可以把图像从BGR颜色空间转换到LAB颜色空间。然后我们可以计算出L、A、B三个通道中的平均值,分别为avg_l、avg_a、avg_b。接着,我们可以用下面的公式来调整A、B通道的值,从而实现自动白平衡:
A' = A - (avg_a - 128) * (L / 255.0) * 1.1
B' = B - (avg_b - 128) * (L / 255.0) * 1.1
最后,我们将图像从LAB颜色空间转换回BGR颜色空间,并保存结果。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)