伽马校正python代码
时间: 2023-07-02 12:11:18 浏览: 140
二维伽马函数自适应校正python代码
伽马校正是一种图像处理技术,它可以通过调整图像的颜色和亮度来改善图像的质量。下面是一个简单的 Python 代码示例,用于实现伽马校正:
```python
import cv2
import numpy as np
def adjust_gamma(image, gamma=1.0):
invGamma = 1.0 / gamma
table = np.array([((i / 255.0) ** invGamma) * 255
for i in np.arange(0, 256)]).astype("uint8")
return cv2.LUT(image, table)
```
在这个代码中,我们使用了 OpenCV 库和 NumPy 库。`adjust_gamma` 函数接受一个图像和一个 gamma 参数作为输入。gamma 参数控制伽马值的大小。如果 gamma 值小于 1,则图像会变暗。如果 gamma 值大于 1,则图像会变亮。
在函数内部,我们首先计算 gamma 的倒数作为 invGamma 变量。然后,我们使用 NumPy 库创建一个查找表(look-up table)来映射每个像素值。最后,我们使用 `cv2.LUT` 函数将查找表应用到图像上,并返回结果。
你可以通过以下方式调用这个函数:
```python
image = cv2.imread("example.jpg")
adjusted = adjust_gamma(image, gamma=1.5)
cv2.imshow("Original", image)
cv2.imshow("Adjusted", adjusted)
cv2.waitKey(0)
```
在这个例子中,我们将 gamma 参数设置为 1.5,因此图像将变亮。你可以根据自己的需要调整 gamma 参数的值以获得最佳效果。
阅读全文