直方图均衡化原理及计算

直方图均衡化原理及计算直方图均衡化是基于灰度直方图的图像增强的一种方法 还有另外一种方法是直方图规定化 均衡化的目的是将原始图像的直方图变为均衡分布的的形式 将一非均匀灰度概率密度分布图像 通过寻求某种灰度变换 变成一幅具有均匀概率密度分布的目的图像 具体原理如下 1 连续灰度级 假定 r 代表灰度级 P r 为概率密度函数 r 值已经过归一化处理 灰度值范围在 0 1 之间 r 与 P r 之间的关系如下

直方图均衡化是基于灰度直方图的图像增强的一种方法,还有另外一种方法是直方图规定化。

均衡化的目的是将原始图像的直方图变为均衡分布的的形式,将一非均匀灰度概率密度分布图像,通过寻求某种灰度变换,变成一幅具有均匀概率密度分布的目的图像

具体原理如下:

1、连续灰度级:

假定:r代表灰度级,P(r)为概率密度函数。r值已经过归一化处理,灰度值范围在[0,1]之间。r与P(r)之间的关系如下:

直方图均衡化原理及计算

                                                                             非均匀分布的连续灰度直方图

均衡化的目的是将上面的非均匀分布变成如下图所示的均匀分布:

直方图均衡化原理及计算

                                                                              均匀分布的连续灰度直方图

我们接下来要做的是要找到一种变换S=T(r)使直方图变平直,为使变换后的灰度仍保持从黑到白的单一变化顺序,且变换范围与原先一致,以避免整体变亮或变暗,需要有如下规定:

(1)在0 <= r <= 1中,T(r)是单调递增函数,且0 <= T(r) <= 1;

(2)反变换r=T^{-1}(s),T^{-1}(s)也为单调递增函数,且0 <= s <= 1。

直方图均衡化原理及计算

                                                                           直方图均衡化变换公式推导图示

 

 因为灰度变换不影响像素的位置分布,而且也不会增减像素数目,所以有如下的推导公式:

\int_{0}^{r}p(r)dr= \int_{0}^{s}p(s)ds=\int_{0}^{s}1\cdot ds=s=T(r)

T(r)=\int_{0}^{r}p(r)dr

 

 2、离散灰度级:

设一幅图像的像素总数为n,分为L个灰度级,其中:

n_{k}:表示第K个灰度级出现的个数。

p(r_{k})=n_{k}/n:第K个灰度级出现的概率。

(0<=r_{k}<=1, k=0,1,2,...,L-1),公式如下:

直方图均衡化原理及计算

计算的基本步骤如下:

(1)求出图像中所包含的灰度级r_{k},一般r_{k}都经过归一化处理,范围在[0,1]之间,也可以定在[0,L-1]之间。

(2)统计各灰度级的像素数目n_{k}(k=0,1,2,…,L-1)。

(3)计算图像直方图。

(4)计算变换函数,即:

直方图均衡化原理及计算

(5)用变换函数计算映射后输出的灰度级s_{k}

(6)统计映射后新的灰度级s_{k}的像素数目n_{k}

(7)计算输出图像的直方图。

根据上面推导出来的公式以及计算步骤,我们可以结合栗子来加深理解~~~

 

eg:设图像有64*64=4096的像素,有8个灰度级,灰度分布如下所示:

直方图均衡化原理及计算

由上图我们知道该图像的r_{k}n_{k}p(r_{k}),下一步我们要做的就是通过变换函数求s_{k},即:

s_{0}=T(r_{0})=0.19

s_{1}=T(r_{1})=0.19+0.25=0.44

s_{2}=T(r_{2})=0.19+0.25+0.21=0.65

依次可求得s_{3}=0.81s_{4}=0.89s_{5}=0.95s_{6}=0.98s_{7}=1.00

由于原图像的灰度级只有8级,变换之后的s_{k}只能选择最接近的一个灰度级,因此需要对s_{k}进行舍入处理,即上述步骤中的第五步,对每个s_{k}将以1/7为量化单位进行舍入运算,结果如下:

s_{0}=1/7s_{1}=3/7s_{2}=5/7s_{3}=6/7s_{4}=6/7s_{5}=1s_{6}=1s_{7}=1

根据舍入后的结果,我们可以得到均衡化后的灰度级仅有5个级别,分别是:

s_{0}=1/7s_{1}=3/7s_{2}=5/7s_{3}=6/7s_{4}=1

接下来我们就可以统计映射后新的灰度级s_{k}的像素数目n_{k},然后就可得到均衡化后的概率密度函数p(s_{k})
结合图来看可能更直观一点:

直方图均衡化原理及计算

均衡化后的直方图比较:

直方图均衡化原理及计算

应用到实际图像中:

直方图均衡化原理及计算

 

直方图均衡化原理及计算

均衡化前的图像和直方图:

直方图均衡化原理及计算

均衡化后的图像和直方图:

直方图均衡化原理及计算

 

最后总结:

直方图均衡化实质上是减少图像的灰度级来加大对比度,图像经均衡化处理之后,图像变得清晰,直方图中每个像素点的灰度级减少,但分布更加均匀,对比度更高。

但直方图均衡化技术仍存在如下缺点:

(1)将原始函数的累积分布函数作为变换函数,只能产生近似均匀的直方图。

(2)在某些情况下,并不一定需要具有均匀直方图的图像。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/178187.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午5:50
下一篇 2026年3月26日 下午5:50


相关推荐

  • java经典源码_java经典源代码[通俗易懂]

    java经典源码_java经典源代码[通俗易懂]Java100个经典小程序_计算机软件及应用_IT/计算机_专业资料。Java100个经典小程序【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字……()A、编写源代码B、编写HTML文件调用该小程序,以.html为扩展名存入相同文件夹C、编译过程D、解释执行85.Java的字符类型采用的是Unicode编码方案……15个经典…

    2022年7月9日
    23
  • Latex中单引号,双引号「建议收藏」

    Latex中单引号,双引号「建议收藏」写论文时候,需要写出英文的单引号和双引号单引号就是”这个符号双引号的话,如果输入两个英文输入下的””,比如”paper”,LaTeX编译显示的话就是两个向下的引号。正确应该是第一个向上方向的引号用“这个符号,就是输入两个下图的键盘上的符号,所以正确应该为:“paper”…

    2022年6月25日
    35
  • aardio – 时钟例程

    aardio – 时钟例程importwin ui DSG varwinform win form text aardioform right 582 bottom 531 winform add plus cls plus left 37 top 17 right 537 bottom 517 z 1 importgodkin paintvarp godking paint winform plus width winform plus heigh

    2026年3月19日
    2
  • Java代码求水仙花数

    Java代码求水仙花数这里写自定义目录标题Java代码求水仙花数Java代码求水仙花数//求水仙花数.//1.什么是水仙花数//2.水仙花数是一个三位数,且水仙花的个位,十位,百位的数字立法和等于原数。publicclassdemo_18{publicstaticvoidmain(String[]args){intnumber=0,x=0,y=0,z=0;//x表示3位数的百位上的数字,y表示三位百位上的数字,z表示三位数上个位的数字intcount

    2022年7月9日
    20
  • idea 集成svn_idea从svn拉代码

    idea 集成svn_idea从svn拉代码IDEA集成SVN代码管理常用功能

    2022年10月17日
    6
  • J-Link JTAG/SWD接口

    J-Link JTAG/SWD接口仿真器端口连接目标板备注1.VCCMCU电源VCCVCC2.VCCMCU电源VCCVCC3.TRSTTRSTTestReSeT/pin4.GNDGND或悬空 5.TDITDITestDataInpin

    2022年4月25日
    58

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号