自适应快速图像增强 python代码
时间: 2024-06-11 10:01:32 浏览: 169
基于自适应的图像增强算法实现
3星 · 编辑精心推荐
根据提供的引用内容,有两份关于自适应图像增强的Python代码资源可供参考。
1. 分段线性拉伸算法[^1]:
这份代码使用分段线性拉伸算法对红外图像进行增强,并具备排除坏点对图像增强的影响的能力。同时还提供了测试代码和测试数据,可以批量处理图片。
2. 红外图像自适应增强算法[^2]:
这份代码详细描述了红外图像自适应增强算法的实现,并提供了两个版本的代码,分别由Matlab和Python语言编写。此外,还附带了测试代码和测试数据。
以下是两份代码的简要介绍:
1. 分段线性拉伸算法代码:
```python
# 导入所需库
import cv2
import numpy as np
# 定义分段线性拉伸函数
def linear_stretching(image):
# 获取图像的最小值和最大值
min_val = np.min(image)
max_val = np.max(image)
# 对图像进行分段线性拉伸
stretched_image = (image - min_val))
# 返回拉伸后的图像
return stretched_image.astype(np.uint8)
# 读取红外图像
image = cv2.imread('infrared_image.jpg', 0)
# 对红外图像进行分段线性拉伸
enhanced_image = linear_stretching(image)
# 显示增强后的图像
cv2.imshow('Enhanced Image', enhanced_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
2. 红外图像自适应增强算法代码:
```python
# 导入所需库
import cv2
import numpy as np
# 定义红外图像自适应增强函数
def adaptive_enhancement(image):
# 对图像进行自适应均衡化
clahe = cv2.createCLAHE(clipLimit=2.0, tileGridSize=(8, 8))
enhanced_image = clahe.apply(image)
# 返回增强后的图像
return enhanced_image
# 读取红外图像
image = cv2.imread('infrared_image.jpg', 0)
# 对红外图像进行自适应增强
enhanced_image = adaptive_enhancement(image)
# 显示增强后的图像
cv2.imshow('Enhanced Image', enhanced_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
请注意,以上代码仅为示例,实际使用时需要根据具体情况进行适当修改。
阅读全文