限制对比度自适应直方图均衡化python代码
时间: 2023-09-03 08:15:31 浏览: 124
限制对比度自适应直方图均衡化(CLAHE)是一种常用于图像增强的方法,可以有效地提高图像的对比度。下面是使用Python实现CLAHE的代码示例:
```python
import cv2
# 读取图像
img = cv2.imread('test.jpg', cv2.IMREAD_GRAYSCALE)
# 创建CLAHE对象
clahe = cv2.createCLAHE(clipLimit=2.0, tileGridSize=(8,8))
# 对图像进行CLAHE处理
img_clahe = clahe.apply(img)
# 显示原图和处理后的图像
cv2.imshow('Original Image', img)
cv2.imshow('CLAHE Image', img_clahe)
cv2.waitKey()
```
在代码中,我们首先读取一张灰度图像,并通过`cv2.createCLAHE()`函数创建了一个CLAHE对象。`clipLimit`参数用于控制对比度的限制,`tileGridSize`参数用于指定图像的块大小。然后,我们使用`clahe.apply()`函数对图像进行CLAHE处理,并将处理后的图像显示出来。
需要注意的是,这里的代码只是一个简单的示例,实际应用中还需要根据具体情况调整参数。
相关问题
自适应直方图均衡化python代码
以下是一个基于Python的自适应直方图均衡化的示例代码:
```python
import cv2
import numpy as np
def clahe(img, clip_limit=2.0, tile_size=(8, 8)):
"""
自适应直方图均衡化
:param img: 输入图像
:param clip_limit: 对比度限制,默认为2.0
:param tile_size: 瓦片大小,默认为(8, 8)
:return: 均衡化后的图像
"""
# 将图像转换为灰度图像
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 创建CLAHE对象
clahe = cv2.createCLAHE(clipLimit=clip_limit, tileGridSize=tile_size)
# 应用CLAHE算法
equalized = clahe.apply(gray)
# 将灰度图像转换为BGR图像
equalized = cv2.cvtColor(equalized, cv2.COLOR_GRAY2BGR)
return equalized
```
使用示例:
```python
# 读取原始图像
img = cv2.imread('input.jpg')
# 调用自适应直方图均衡化函数
equalized = clahe(img)
# 显示均衡化后的图像
cv2.imshow('Equalized', equalized)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在上面的示例中,我们将输入图像转换为灰度图像,创建CLAHE对象,并将其应用于灰度图像。最后,我们将均衡化后的灰度图像转换为BGR图像,并返回结果。
opencv 限制对比度自适应直方图均衡化与图像的加权加法结合后的.py文件
以下是一个示例代码,实现了对比度自适应直方图均衡化和图像加权加法的结合:
```python
import cv2
# 读取两张图片
img1 = cv2.imread('image1.jpg')
img2 = cv2.imread('image2.jpg')
# 将两张图片进行加权加法结合
alpha = 0.5
beta = 0.5
gamma = 0
img_combine = cv2.addWeighted(img1, alpha, img2, beta, gamma)
# 对合并后的图片进行限制对比度自适应直方图均衡化处理
clahe = cv2.createCLAHE(clipLimit=2.0, tileGridSize=(8,8))
gray = cv2.cvtColor(img_combine, cv2.COLOR_BGR2GRAY)
gray = clahe.apply(gray)
# 显示处理后的图片
cv2.imshow('Result', gray)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
其中,`cv2.addWeighted()`函数实现了图像的加权加法结合,`alpha`和`beta`分别表示两张图片的权重,`gamma`表示偏置项。`cv2.createCLAHE()`函数创建了一个限制对比度自适应直方图均衡化对象,`clipLimit`和`tileGridSize`分别表示对比度限制系数和均衡化窗口大小。最后,将加权加法结合后的图片转换为灰度图像,应用限制对比度自适应直方图均衡化处理,最终显示处理后的结果。
阅读全文