利用最大熵进行阈值分割从而实现灰度图像的二值化的原理概要及OpenCV代码

详细的数学原理目前我也没搞明白,所以只说下原理概要

图像进行二值化的过程中,显然是需要一个阈值的,这个阈值取多少?前面已经有一种通过像素领域动态确定每个像点点阈值的方法 详情可见我的博文http://blog.csdn.net/wenhao_ir/article/details/51565517 

这篇博文要求解的阈值具有这样的特点:图像用此阈值进行二值化后,整幅图像的熵值是最大的,所谓熵值最大,就是图像所包含的信息量是最大的!这就是所谓的“最大熵阈值分割”法!

此方的原理概要如下

通过对原图进行邻域平均得到另一“平滑图像”, 由原图像和平滑图像构造出一个二维直方图。

基本思想:利用上面得到的二维直方图,根据熵最大原则寻找最佳阈值。

在强噪声干扰下,一维直方图是单峰的,二维直方图利用了图像邻域的相关信息,目标和背景的双峰仍然明显;(这句话目前我是看不懂的,不过可以用来装B)

如果要研究详细的原理,可以参考博文 http://blog.csdn.net/xw20084898/article/details/22760169 或者在CSDN或百度上搜相关内容!

下面给出OpenCV下的实现源码(源码中用到的图像下载链接 http://pan.baidu.com/s/1slilbPF)

//OpenCV版本2.4.9  
//交流QQ2487872782 


2016-8-4注:很报歉,此代码目前不能公开发表在博客上,已经删除,希望大家能理解!  

运行结果如下图所示:

利用最大熵进行阈值分割从而实现灰度图像的二值化的原理概要及OpenCV代码_第1张图片


大家可以将结果与自适应阈值法作个对比,自适应阈值法的结果在博文http://blog.csdn.net/wenhao_ir/article/details/51565517中有!可见,这两种方法在将来运用的过程中应该都会用到,不存在哪个优劣的问题,只是侧重点不一样而已!

-------------------------------------------
欢迎大家加入图像识别技术交流群:271891601,另外,特别欢迎成都从事图像识别工作的朋友交流,我的QQ号2487872782

你可能感兴趣的:(最大熵阈值分割)