码迷,mamicode.com
首页 > 其他好文 > 详细

图像均衡化

时间:2017-11-29 22:48:26      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:表示   static   一个   等级   均衡   bsp   .com   技术分享   div   

参考链接:

https://www.cnblogs.com/qiqibaby/p/5321509.html

blog.163.com/sunhuan315@126/blog/static/38117190200992531224611/

 

一、基本介绍

图像均衡化得目的是为了提高图像的对比度。对于灰度分布比较集中的图(整体太暗或者太亮),可以起到均衡作用(有明有暗)。

看两张来自网上的灰度分布图,对比一下。

技术分享图片

图1.1  图片链接(http://blog.csdn.net/xiajun07061225/article/details/6910129)

右上和右下就是灰度的分布变化结果。灰度分布直方图的横轴表示灰度等级,

纵轴表示该灰度等级下的像素点数。这个要理解好。

 

二、数学解释

0. 前提:常见的灰度像素范围是 [0, 255],在这里需要先归一化到 [0, 1]。

 

1. 假设原图的灰度为 r [归一化到0-1],直方图均衡化后的结果是 s [结果是0-1],直方图均衡化操作 T(),得到数学表达式:技术分享图片2. 当然不是任意的变换T都可以拿来做 直方图均衡化。

需要满足两个要求(直观上就可以理解)

    #1 在 r 的区间上,T需要是一个单调递增函数。因为这可以保证,变换后的结果,像素之间的明暗关系不会错(原来比我暗的还比我暗,原来比我亮的还比我亮);

    #2 s 的取值范围要和 r 相同。因为,要是超过了,255以上就存不了了,那就麻烦了。

所以,T的选择之一,就是“累加概率密度函数”。大家的选择,群众的眼睛。

技术分享图片解释一下:p是概率密度,这个公式可以参考《概率统计》

但是,总所周知,像素是离散的,怎么可以积分嗯呢?那就求和咯。于是,得

技术分享图片解释一下:P是每级灰度的概率(见下一个公式),这里的 k 就是 r

技术分享图片解释一下:n 是像素总和;nk 是第 k 级灰度范围捏的像素点数;

L 就是划分的级数;

综合以上各式,得

技术分享图片解释一下:(公式有问题)公式中的 k 就是 r ,

P的下角标r忽略之,P(r) 表示灰度为 r 的概率。

 

3. 算法的大致过程

#1 计算灰度图像的直方图分布,得到每个级别灰度的概率。

#2 根据公式计算每个像素的新值。

 

三、代码

OpenCV的实现

cv::equalizeHist(src, dst);

 

自己造轮子

https://www.cnblogs.com/qiqibaby/p/5321509.html

 

图像均衡化

标签:表示   static   一个   等级   均衡   bsp   .com   技术分享   div   

原文地址:http://www.cnblogs.com/alexYuin/p/7923012.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!