最大类间方差法(otsu)的原理

上传人:无*** 文档编号:194365327 上传时间:2023-03-13 格式:PDF 页数:3 大小:94.81KB
收藏 版权申诉 举报 下载
最大类间方差法(otsu)的原理_第1页
第1页 / 共3页
最大类间方差法(otsu)的原理_第2页
第2页 / 共3页
最大类间方差法(otsu)的原理_第3页
第3页 / 共3页
资源描述:

《最大类间方差法(otsu)的原理》由会员分享,可在线阅读,更多相关《最大类间方差法(otsu)的原理(3页珍藏版)》请在装配图网上搜索。

1、在网上很多地方都可以找到;但是我发觉似乎都是一样;而且一点注释都没有;如果光拿来用当然可以了;可是用一个算法不搞清楚里面的数学是件很遗憾的事情;我把 OTSU 的代码加上详细的注释;也算是对自己以后继续努力的一个鞭笞吧 最大类间方差法 otsu 的原理:阈值将原图象分成前景;背景两个图象.前景:用 n1;csum;m1 来表示在当前阈值下的前景的点数;质量矩;平均灰度 后景:用 n2;sum-csum;m2 来表示在当前阈值下的背景的点数;质量矩;平均灰度 当取最佳阈值时;背景应该与前景差别最大;关键在于如何选择衡量差别的标准 而在 otsu 算法中这个衡量差别的标准就是最大类间方差英文简称o

2、tsu;这也就是这个算法名字的来源 在本程序中类间方差用 sb 表示;最大类间方差用 fmax 关于最大类间方差法 otsu 的性能:类间方差法对噪音和目标大小十分敏感;它仅对类间方差为单峰的图像产生较好的分割效果.当目标与背景的大小比例悬殊时;类间方差准则函数可能呈现双峰或多峰;此时效果不好;但是类间方差法是用时最少的.最大最大类间方差法 otsu 的公式推导:记 t 为前景与背景的分割阈值;前景点数占图像比例为 w0;平均灰度为 u0;背景点数占图像比例为 w1;平均灰度为 u1.则图像的总平均灰度为:u=w0*u0+w1*u1.前景和背景图象的方差:g=w0*u0-u*u0-u+w1*u

3、1-u*u1-u=w0*w1*u0-u1*u0-u1;此公式为方差公式;可参照概率论课本 上面的 g 的公式也就是下面程序中的 sb 的表达式 当方差 g 最大时;可以认为此时前景和背景差异最大;也就是此时的灰度是最佳阈值 unsafe public int GetThreshValueBitmap image BitmapData bd=image.LockBitsnew Rectangle0;0;image.Width;image.Height;ImageLockMode.WriteOnly;image.PixelFormat;byte*pt=byte*bd.Scan0;int pixel

4、Num=new int256;/图象直方图;共 256 个点 byte color;byte*pline;int n;n1;n2;int total;/total 为总和;累计值 double m1;m2;sum;csum;fmax;sb;/sb 为类间方差;fmax 存储最大方差值 int k;t;q;int threshValue=1;/阈值 int step=1;switch image.PixelFormat case PixelFormat.Format24bppRgb:step=3;break;case PixelFormat.Format32bppArgb:step=4;brea

5、k;case PixelFormat.Format8bppIndexed:step=1;break;/生成直方图 for int i=0;i image.Height;i+pline=pt+i*bd.Stride;for int j=0;j image.Width;j+color=*pline+j*step;/返回各个点的颜色;以 RGB 表示 pixelNumcolor+;/相应的直方图加 1 /直方图平滑化 for k=0;k=255;k+total=0;for t=-2;t=2;t+/与附近 2 个灰度做平滑化;t 值应取较小的值 q=k+t;if q 255 q=255;total=t

6、otal+pixelNumq;/total 为总和;累计值 pixelNumk=intfloattotal/5.0+0.5;/平滑化;左边 2 个+中间 1 个+右边2 个灰度;共 5 个;所以总和除以 5;后面加 0.5 是用修正值 /求阈值 sum=csum=0.0;n=0;/计算总的图象的点数和质量矩;为后面的计算做准备 for k=0;k=255;k+sum+=doublek*doublepixelNumk;/x*fx 质量矩;也就是每个灰度的值乘以其点数归一化后为概率;sum 为其总和 n+=pixelNumk;/n 为图象总的点数;归一化后就是累积概率 fmax=-1.0;/类间方差 sb 不可能为负;所以 fmax 初始值为-1 不影响计算的进行 n1=0;for k=0;k fmax/如果算出的类间方差大于前一次算出的类间方差 fmax=sb;/fmax 始终为最大类间方差 otsu threshValue=k;/取最大类间方差时对应的灰度的 k 就是最佳阈值 image.UnlockBitsbd;image.Dispose;

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!