国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > 服务器 > 灰度图像--图像分割 阈值处理之平均阈值

灰度图像--图像分割 阈值处理之平均阈值

来源:程序员人生   发布时间:2015-03-25 11:43:17 阅读次数:5123次

学习DIP第52天
转载请标明本文出处:http://blog.csdn.net/tonyshengtan ,出于尊重文章作者的劳动,转载请标明出处!文章代码已托管,欢迎共同开发:https://github.com/Tony-Tan/DIPpro

开篇空话

好久没写博客了,已然不熟练了,过完年全部人都不好了,哈哈,到刚才为止算是把图象分割学习了1下,这两天把学习结果和代码简单总结1下。
前面已介绍了边沿检测,和边沿修复,阈值处理的基本概念也进行了1定介绍。阈值处理速度快,算法简单,所以利用比较广泛,算法的基本问题在于计算出阈值处理的阈值,在接下来的几篇我可,介绍几种肯定阈值的算法,基本数学知识都来自统计学,包括最简单的平均数,p-分位数,方差等数学知识。
下面就从最简单的均值阈值开始介绍。

平均阈值

均值处理属于阈值中最简单的1种,其使用的1副图象所有灰度的均值作为阈值,分割图象。
根据统计学知识,求均值可使用几率方法:
1. 计算图象灰度直方图
2. 归1化直方图,得出直方图每项的几率
3. 直方图的横坐标与几率的成绩然后求和

threshold=mean=L?1i=0p(i)×i

根据以上均值得到阈值,然后根据阈值处理基本公示处理整幅图象。

代码

/*********************************************************************************/ /*********************************************************************************/ ////计算从start到end的直方图的平均值,hist未归1化 double getMeaninHist(int start,int end,int *hist){ int hist_count=0; double hist_value=0; for(int i=start;i<end;i++){ hist_count+=hist[i]; hist_value+=(double)hist[i]*i; } return hist_value/(double)hist_count; } /*********************************************************************************/ /*********************************************************************************/ //均值法求阈值 //阈值等于全图的像素的平均值 void MeanThreshold(double *src,double *dst,int width,int height,int type){ int hist[GRAY_LEVEL]; double threshold_value=0.0; InitHistogram(hist); setHistogram(src, hist, width,height); threshold_value=getMeaninHist(0, GRAY_LEVEL, hist); Threshold(src,dst, width, height, threshold_value,type); }

结果

视察1下结果:


原图:

这里写图片描述

原图直方图:

这里写图片描述

平均阈值:

这里写图片描述

阈值处理结果:

这里写图片描述


原图加入1%的高斯噪声
未处理:

这里写图片描述

直方图:

这里写图片描述

平均阈值:

这里写图片描述

阈值处理结果:

这里写图片描述


原图加入5%的高斯噪声
未处理:

这里写图片描述

直方图:

这里写图片描述

平均阈值:

这里写图片描述

阈值处理结果:

这里写图片描述


原图加入7%的高斯噪声
未处理:

这里写图片描述

直方图:

这里写图片描述

平均阈值:

这里写图片描述

阈值处理结果:

这里写图片描述


lena图均值阈值处理:
原图:

这里写图片描述

处理后结果:

这里写图片描述

阈值:

这里写图片描述

总结

均值阈值可以完成1些较为简单的的处理,但对目标与背景的大小敏感,也就是直方图那两个峰的面积大小有关,如果这两个峰相对大小相差不多,那末均值相对效果较好,如果两个峰相差太多,也就是背景比目标大很多或相反目标比背景大很多时,结果失效。其次也遭到噪声影响,但没有上1因素影响大。

生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生