灰度图像的阈值化.doc_第1页
灰度图像的阈值化.doc_第2页
灰度图像的阈值化.doc_第3页
灰度图像的阈值化.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

通过对灰度图像二值化处理,能够凸现出感兴趣目标的轮廓.灰度图像的二值化处理就是讲图像上的点的灰度置为0或255,也就是讲整个图像呈现出明显的黑白效果。即将256个亮度等级的灰度图像通过适当的阀值选取而获得仍然可以反映图像整体和局部特征的二值化图像。在数字图像处理中,二值图像占有非常重要的地位,特别是在实用的图像处理中,以二值图像处理实现而构成的系统是很多的,要进行二值图像的处理与分析,首先要把灰度图像二值化,得到二值化图像,这样子有利于再对图像做进一步处理时,图像的集合性质只与像素值为0或255的点的位置有关,不再涉及像素的多级值,使处理变得简单,而且数据的处理和压缩量小。为了得到理想的二值图像,一般采用封闭、连通的边界定义不交叠的区域。所有灰度大于或等于阀值的像素被判定为属于特定物体,其灰度值为255表示,否则这些像素点被排除在物体区域以外,灰度值为0,表示背景或者例外的物体区域。如果某特定物体在内部有均匀一致的灰度值,并且其处在一个具有其他等级灰度值的均匀背景下,使用阀值法就可以得到比较的分割效果。如果物体同背景的差别表现不在灰度值上(比如纹理不同),可以将这个差别特征转换为灰度的差别,然后利用阀值选取技术来分割该图像。动态调节阀值实现图像的二值化可动态观察其分割图像的具体结果。灰度图像的二值化没有固定的算法,根据图像区域中目标物体的不同而有不同的二值化算法.实际使用中最简单的二值化算法就是根据每个像素的灰度值做舍入处理,比如二值化阀值可以设置为0-255的中值127,但是这种的二值化没有根基图像的整体灰度值所在范围做考虑,所以效果很差.下面的算法是根据图像的直方图求取阀值:c#算法:/-private int ousu(Bitmap img)intthresholdValue=1; / 阈值int ihist =new int256; / 图像直方图,256个点int i, j, k;/ various countersint n, n1,n2, gmin, gmax;double m1,m2, sum, csum, fmax, sb;/对直方图置零.for(i=0;i256;i+)ihisti= 0;/gmin=255;gmax=0;/生成直方图for (i = 1; i img.Width - 1; i+)for(j = 1; j gmax) gmax=cn;if(cn gmin) gmin=cn;/ set upeverythingsum = csum =0.0;n = 0;for (k = 0; k= 255; k+)sum+= (double) k * (double) ihistk;n+= ihistk;if(n=0)/if n has no value, there is problems.return(60);/ do theotsu global thresholding methodfmax =-1.0;n1 = 0;for (k = 0; k fmax)fmax= sb;thresholdValue= k;/ at thispoint we have our thresholding valueMessageBox.Show(thresholdValue.ToString();returnthresholdValue;/-as算法:/-/计算二值化阀值/function otsu (bmd:BitmapData)var thresholdValue=1; / 阈值var ihist = 256; / 图像直方图,256个点var i, j, k; / various countersvar n, n1, n2, gmin, gmax;var m1, m2, sum, csum, fmax, sb;/ 对直方图置零.for(i=0;i256;i+)ihisti = 0;/gmin=255; gmax=0;/ 生成直方图for (i = 1; i bmd.width - 1; i+) for (j = 1; j gmax) gmax=c;if(c gmin) gmin=c;/ set up everythingsum = csum = 0.0;n = 0;for (k = 0; k = 255; k+) sum += k *ihistk;n += ihistk;if (!n) / if n has no value, there is problems.return (60);/ do the otsu global thresholding methodfmax = -1.0;n1 = 0;for (k = 0; k fmax) fmax = sb;thresholdValue = k;/ at this point we have our

温馨提示

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

评论

0/150

提交评论