对比度拉伸python
时间: 2023-11-01 19:58:45 浏览: 46
要进行对比度拉伸,可以使用Python中的OpenCV库来实现。对比度拉伸是通过将像素值映射到新的范围来增加图像的对比度。下面是一个简单的示例代码:
```python
import cv2
import numpy as np
def contrast_stretching(image):
# 将图像转换为灰度图
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# 获取图像的最小和最大像素值
min_val = np.min(gray)
max_val = np.max(gray)
# 对图像的每个像素进行对比度拉伸
stretched = (gray - min_val) * (255 / (max_val - min_val))
# 将图像转换回BGR格式
stretched_bgr = cv2.cvtColor(stretched.astype(np.uint8), cv2.COLOR_GRAY2BGR)
return stretched_bgr
# 读取图像
image = cv2.imread('image.jpg')
# 进行对比度拉伸
stretched_image = contrast_stretching(image)
# 显示原始图像和对比度拉伸后的图像
cv2.imshow('Original Image', image)
cv2.imshow('Stretched Image', stretched_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
请注意,上述代码假设输入的图像是BGR格式。如果图像是灰度图,请略去颜色转换的部分。