您的位置:首页 > 编程语言

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

2016-06-14 13:57 691 查看
详细的数学原理目前我也没搞明白,所以只说下原理概要:

图像进行二值化的过程中,显然是需要一个阈值的,这个阈值取多少?前面已经有一种通过像素领域动态确定每个像点点阈值的方法 详情可见我的博文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注:很报歉,此代码目前不能公开发表在博客上,已经删除,希望大家能理解!  


运行结果如下图所示:





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

-------------------------------------------

欢迎大家加入图像识别技术交流群:271891601,另外,特别欢迎成都从事图像识别工作的朋友交流,我的QQ号2487872782
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  最大熵阈值分割