图像局部对比度增加算法python并保存图片
时间: 2023-12-17 12:06:04 浏览: 219
以下是一个简单的图像局部对比度增加算法的Python代码示例,可以使用OpenCV库来实现。在这个例子中,我们使用了CLAHE算法(对比度有限自适应直方图均衡化),它可以增强图像的局部对比度,从而使细节更加清晰。
```python
import cv2
# 读取图片
img = cv2.imread('image.jpg')
# 将图片转为灰度图像
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 创建CLAHE对象
clahe = cv2.createCLAHE(clipLimit=2.0, tileGridSize=(8,8))
# 对灰度图像应用CLAHE算法
cl_img = clahe.apply(gray)
# 显示原始图像和处理后的图像
cv2.imshow('Original Image', img)
cv2.imshow('Enhanced Image', cl_img)
# 保存处理后的图像
cv2.imwrite('enhanced_image.jpg', cl_img)
# 等待按键
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在上面的代码中,我们首先读取一张图片,然后将其转换为灰度图像。接下来,我们创建了一个CLAHE对象,并将其应用于灰度图像。最后,我们显示了原始图像和处理后的图像,并将处理后的图像保存到了本地文件中。
你可以根据需要调整CLAHE算法的参数(clipLimit和tileGridSize),以获得最佳的局部对比度增强效果。
相关问题
图像对比度增加算法python并保存图片
以下是一种基于PIL库实现的图像对比度增加算法的Python代码,并保存处理后的图片。
```python
from PIL import Image
def increase_contrast(image, factor):
# 获取图像大小
width, height = image.size
# 将图像转换为RGB模式
image = image.convert('RGB')
# 遍历每个像素点并更新像素值
for x in range(width):
for y in range(height):
r, g, b = image.getpixel((x, y))
r = int((r - 128) * factor + 128)
g = int((g - 128) * factor + 128)
b = int((b - 128) * factor + 128)
image.putpixel((x, y), (r, g, b))
return image
# 打开图片
image = Image.open('example.jpg')
# 增加对比度
factor = 1.5
image = increase_contrast(image, factor)
# 保存处理后的图片
image.save('example_contrast.jpg')
```
在上述代码中,`increase_contrast`函数会遍历输入图片的每个像素点,并使用传入的对比度增加因子更新每个像素的RGB值。在这个例子中,我们将对比度增加因子设置为1.5,这意味着像素值将增加50%的差异度。最后,处理后的图像将保存在当前目录下的`example_contrast.jpg`文件中。
图像对比度增加算法python
以下是一个简单的图像对比度增加算法的Python代码实现:
```python
import cv2
def increase_contrast(img, alpha, beta):
# 通过线性变换调整图像对比度
new_img = cv2.convertScaleAbs(img, alpha=alpha, beta=beta)
return new_img
# 加载图像
img = cv2.imread('image.jpg')
# 调整对比度
new_img = increase_contrast(img, 2.0, 0)
# 显示原图和调整后的图像
cv2.imshow('Original Image', img)
cv2.imshow('Increased Contrast Image', new_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在这个算法中,我们使用了OpenCV库中的`convertScaleAbs`函数来进行线性变换,通过调整`alpha`和`beta`参数来增加图像的对比度。`alpha`参数控制图像的缩放比例,`beta`参数控制图像的位移,这两个参数需要根据具体情况进行调整。
阅读全文