python实现图像对比度增强代码
时间: 2023-08-20 20:07:19 浏览: 53
好的,以下是 Python 实现图像对比度增强的代码:
```python
import cv2
def contrast_stretching(img):
# 将图像转换为灰度图像
gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 计算图像的最小值和最大值
min_val = gray_img.min()
max_val = gray_img.max()
# 对图像进行对比度拉伸
stretched_img = (gray_img - min_val) * (255 / (max_val - min_val))
# 将图像转换回 BGR 格式
stretched_img = cv2.cvtColor(stretched_img.astype('uint8'), cv2.COLOR_GRAY2BGR)
return stretched_img
```
这段代码将输入的图像转换为灰度图像,并计算出图像的最小值和最大值。然后对图像进行对比度拉伸,使图像的像素值范围从最小值到最大值映射到 0 到 255。最后将图像转换回 BGR 格式并返回。
相关问题
python实现彩色图像对比度增强代码
以下是Python实现彩色图像对比度增强的代码示例:
```python
import cv2
import numpy as np
# 读取彩色图像
img = cv2.imread('image.jpg')
# 将图像转换为Lab颜色空间
lab = cv2.cvtColor(img, cv2.COLOR_BGR2LAB)
# 分离亮度通道
l, a, b = cv2.split(lab)
# 对亮度通道应用直方图均衡化
l_eq = cv2.equalizeHist(l)
# 将处理后的亮度通道与原始色度通道合并
lab_eq = cv2.merge((l_eq, a, b))
# 将图像转换回BGR颜色空间
result = cv2.cvtColor(lab_eq, cv2.COLOR_LAB2BGR)
# 显示原始图像和处理后的图像
cv2.imshow('Original Image', img)
cv2.imshow('Enhanced Image', result)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在这个示例中,我们使用OpenCV库来读取彩色图像。然后,我们将图像转换为Lab颜色空间,并分离亮度通道。接下来,我们对亮度通道应用直方图均衡化,然后将处理后的亮度通道与原始色度通道合并。最后,我们将图像转换回BGR颜色空间,并显示原始图像和处理后的图像。
图像增强对比度python代码
好的,以下是图像增强对比度的 Python 代码:
```python
import cv2
# 读取图像
img = cv2.imread('image.jpg')
# 对比度增强
alpha = 1.5 # 对比度增强系数
new_img = cv2.convertScaleAbs(img, alpha=alpha, beta=0)
# 显示图像
cv2.imshow('original image', img)
cv2.imshow('enhanced image', new_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
其中,`alpha` 参数表示对比度增强系数,值越大对比度越强。