HE、AHE、CLAHE三种算法的直方图对比
时间: 2023-09-05 11:11:52 浏览: 91
HE、AHE、CLAHE三种算法都是常用的图像增强算法,其中HE是最基础的算法,AHE在HE的基础上增加了自适应性,CLAHE在AHE的基础上增加了限制对比度的操作。
在直方图对比方面,HE算法会拉伸整个图像的像素值范围,使得亮度分布更加均匀,但可能会使得图像过度增强,导致细节丢失。AHE算法则会根据局部像素的分布情况进行直方图均衡化,更加自适应,能够保留更多的细节。CLAHE算法则在AHE的基础上通过限制对比度的方法防止局部过度增强,更加适合于处理具有大范围亮度变化的图像。
因此,从直方图对比方面来看,CLAHE算法的效果可能会更好,但需要根据具体图像的特点进行选择。
相关问题
AHE和CLAHE matlab代码实现 直方图展示
AHE和CLAHE是两种用于图像增强的算法,可以通过Matlab来实现。
下面是AHE的Matlab代码实现:
```matlab
% 读入图像
img = imread('lena.png');
% 将图像转换为灰度图像
if size(img,3)==3
img = rgb2gray(img);
end
% 计算累积分布函数
cdf = zeros(256,1);
[height,width] = size(img);
for i = 1:height
for j = 1:width
cdf(img(i,j)+1) = cdf(img(i,j)+1) + 1;
end
end
for i = 2:256
cdf(i) = cdf(i) + cdf(i-1);
end
% 计算直方图均衡
h_eq = round(cdf/(height*width)*255);
% 应用到图像上
img_eq = img;
for i = 1:height
for j = 1:width
img_eq(i,j) = h_eq(img(i,j)+1);
end
end
% 显示原图和直方图均衡后的图像
figure(1)
subplot(2,2,1)
imshow(img)
title('Original Image')
subplot(2,2,2)
imhist(img)
title('Histogram of Original Image')
subplot(2,2,3)
imshow(img_eq)
title('Equalized Image')
subplot(2,2,4)
imhist(img_eq)
title('Histogram of Equalized Image')
```
下面是CLAHE的Matlab代码实现:
```matlab
% 读入图像
img = imread('lena.png');
% 将图像转换为灰度图像
if size(img,3)==3
img = rgb2gray(img);
end
% 设置参数
win_size = 64; % 窗口大小
clip_limit = 0.01; % 截断限制
% 计算CLAHE
[img_eq, ~] = adapthisteq(img,'NumTiles',[floor(size(img,1)/win_size) floor(size(img,2)/win_size)],'ClipLimit',clip_limit);
% 显示原图和CLAHE后的图像
figure(1)
subplot(2,2,1)
imshow(img)
title('Original Image')
subplot(2,2,2)
imhist(img)
title('Histogram of Original Image')
subplot(2,2,3)
imshow(img_eq)
title('CLAHE Image')
subplot(2,2,4)
imhist(img_eq)
title('Histogram of CLAHE Image')
```
其中,CLAHE使用了Matlab自带的函数`adapthisteq`来实现。在参数中,`NumTiles`指定了将图像划分成多少个小块,`ClipLimit`指定了截断限制的值。
详细解释图像增强直方图均衡化HE算法,AHE算法,CLAHE算法相同点和不同点
图像增强是对原始图像进行处理,以改善其视觉质量和可读性。直方图均衡化(HE)算法、自适应直方图均衡化(AHE)算法和限制对比度自适应直方图均衡化(CLAHE)算法是常用的图像增强方法。它们的相同点和不同点如下:
相同点:
1. 都是将图像的对比度增强,使图像更加清晰明亮。
2. 都是基于直方图的方法,通过对图像像素的灰度级进行处理来实现增强效果。
不同点:
1. HE算法:是最基本的直方图均衡化算法,它将图像像素的灰度值分布均匀化。但是,如果图像中存在局部低对比度区域,则其效果不佳。
2. AHE算法:是针对HE算法的缺陷而提出的自适应算法,它通过对每个像素的邻域进行统计和处理来提高对比度。但是,AHE算法会产生噪声和过度增强的问题。
3. CLAHE算法:是对AHE算法的改进,它通过对邻域像素的灰度级进行限制来避免过度增强和噪声。CLAHE算法可以有效地增强局部低对比度区域,同时避免了过度增强和噪声的问题。
总之,这三种图像增强算法都有各自的优缺点,需要根据实际应用场景选择合适的算法。