【图像算法&MATLAB】一文讲明白:图像的直方图均衡化(附作者自编源代码)

本文详细介绍了直方图均衡化(Histogram Equalization, HE)的原理,通过手动编写代码及使用MATLAB内置函数展示了如何提升图像对比度。HE通过调整像素灰度分布,使得图像直方图更加均衡,从而揭示原图中隐藏的细节。虽然HE在增强主体目标对比度方面表现出色,但对pdf较小的情况可能产生噪声放大和“水洗”效果,适用于特定场景。" 128119849,10679029,GC协议在安全多方计算中的应用,"['密码学', '信息安全', '通信协议', '数据隐私']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

写作时间:2020-07-29
目录:
1.前言
2.代码
-2.1 我的详细源代码
-2.2 利用MATLAB自带函数
3.思考

4.总结
正文
1.前言
直方图均衡(Histogram equalization,下文中我简称为HE)是利用直方图分布,计算累加函数,按照累加函数做映射,能够提升图像对比度。
本文我会从每一个小的步骤编写,说明,并给出每一阶段的结果,让你完全搞懂其原理。
直方图均衡示例:
在这里插入图片描述可见,图像对比度得到提高,且能够观察到原图的隐藏的细节。
在这里插入图片描述
可见,经过直方图均衡处理后的图像,== 其直方图高度比较一致,比较均衡,所以这也就是“直方图均衡”的命名来源。==
所以,直方图均衡这个名字以处理结果来命名的。
2.代码

2.1 自己写一个
还是那句话,
== 要想搞明白真正原理,尤其你是做图像算法的,还是得自己动手写 ==
代码如下:

%直方图均衡Histogram equalization 源代码
Iin = imread('tire.tif');
[numRows,numCols]=size(Iin);
numBins=2^8;

%直方图统计,概率分布函数pdf(Probability distribution function)
pdf=zeros(1,numBins);
for ii=1:numRows
    for jj=1:numCols
        pdf(Iin(ii,jj)+1)=pdf(Iin(ii,jj)+1)+1;
    end
end
figure()
plot(pdf,'.-');
grid on;
title('直方图统计');

%累加直方图得到,累加分布函数cdf(Cumulative distribution function)
cdf=cumsum(pdf);
cdf=cdf./cdf(end); %归一化处理
figure()
plot(cdf,'.-');
grid on;
title('直方图累加函数计算');

% 根据累加函数映射
Iout=zeros(numRows,numCols);
for ii=1:numRows
    for jj=1:numCols
        Iout(ii,jj)=255*cdf(Iin(ii,jj)+1);
    end
end

% 对比处理前后的图像
figure()
imshow([Iin,Iout]);
title('左:原图  右:处理图')

% 对比处理前后的图像的直方图
figure()
subplot(2,1,1)
imhist(uint8(Iin));
title('原图的直方图  ')
subplot(2,1,2)
imhist(uint8(Iout));
title('处理图的直方图')

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.2 使用Matlab 自带函数histeq

%直方图均衡 Histogram equalization
Iin = imread('tire.tif');
Iout=histeq(Iin);
imshow([Iin,Iout]);
title('左:原图  右:处理图')

3.思考(算法思想)
为什么“累加pdf概率分布函数得到cdf,再根据cdf映射”这种操作,能够提升对比度?
重点! 这里你看懂了,就算差不多理解HE算法的精髓了.
我大概回答下:
统计cdf时候,pdf大的时候,cdf就增长的快,一般情况下pdf大的是主体目标,最终根据cdf映射的时候,分配的灰度值动态范围大。
所以,HE提升了在灰度分布集中区域的动态范围分布,降低了灰度分布较少的动态范围分配,因此有效的提升了关键目标的对比度。是一种“非线性不公平”的映射。
注:
概率分布函数pdf (Probability distribution function)
累加分布函数:cdf (Cumulative distribution function)

4.总结
直方图均衡方法是一种很好的图像对比度提升方法。
HE的缺点:
并不适应所有场景,正如我在第3段所说,对主体目标pdf大的时候表现的好。但是如果主体目标的pdf比较小呢,就会有负面效果,比如会放大噪声,“水洗”效果等。所以需要在其基础上做改进。


THE END~

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

daymat

红外图像核心算法,高质量解析

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值