阈值法图像分割实验报告_第1页
阈值法图像分割实验报告_第2页
阈值法图像分割实验报告_第3页
阈值法图像分割实验报告_第4页
阈值法图像分割实验报告_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、阈值法图像分割实验报告实验目的图像分割阈值法具有实现容易、计算量小、性能稳定等优点。因此这种方法成为图像分割领域中应用最普遍的方法。本文主要讨论了基于直方图法的图像分割的设计与实现,并与迭代法进行了对比实验。实验环境Microsoft VC+6.0软件平台,32位Windows XP操作系统。实验原理基础直方图法直方图阈值法其阈值主要通过分析图像的灰度直方图来进行确定。假定一幅图像如图3-1所示,其中背景是灰色,物体为灰白色的,背景中的黑色像素产生了直方图的左锋,而物体的各灰度级产生了直方图的右峰。由于物体边界像素数相对而言较少,从而产生两峰之间的谷,选择谷对应的灰度值作为阈值T,利用式3.1

2、,可以得到一幅二值图像,用于后续处理和分析。 (3.1)图 STYLEREF 1 s 3 SEQ 图 * ARABIC s 1 1 利用直方图选择二值化阈值迭代法(用于对比试验) 迭代法也是一种在图像分割过程中选择合适阈值的方法。它是基于逼近的思想通过阈值迭代的方式 利用程序自动计算出比较合适的分割阈值。迭代法指在初始条件中假设一个阈值,而通过对图像的迭代运算来不断地更新这一假设阈值来得到最佳阈值。迭代法阈值分割主要算法:求出图像最小灰度值和最大灰度值 计算初始阈值为根据阈值将图像分割成目标和背景两部分,求出两部分的平均灰度值 为图像上点的灰度值,为点的权重系数,一般为 的个数 T 为阈值3.

3、 重新选择阈值 ,新的阈值 定义为4. 循环做第二步到第四步,当 则结束,即可获得最佳阈值来对图像进行分割。程序设计直方图法算法流程如 REF _Ref323413445 h 图41所示。图 STYLEREF 1 s 4 SEQ 图 * ARABIC s 1 1 直方图阈值法算法流程统计直方图和阈值分割流程图如 REF _Ref323419229 h 图42所示。(a)统计直方图 (b)阈值分割图 STYLEREF 1 s 42 程序设计流程图关键程序语段unsigned i,j;/ 循环变量unsigned char pixel;/ 像素值long lHistogram256;/ 直方图数组

4、 LONG lLineBytes;/ 图像每行的字节数/获得直方图for (i = 0;i 256 ;i+)/初始化数组 lHistogrami=0;lLineBytes = WIDTHBYTES(width * 8);/ 计算图像每行的字节数for (i = 0;i width ;i+)for(j = 0;j height ;j+)/ 指向源图像倒数第j行,第i个象素的指针pixel = *(buf+lLineBytes * j + i);lHistogrampixel+; /初始化阈值 unsigned char yuzhi=0; /创建阈值选择对话框CFENGE dlg1;dlg1.m_

5、Yuzhi=0; /在对话框里输出说明文字CString ss;ss.Format(如果峰值较多,建议用迭代法);dlg1.m_ShuChu+=ss;/ 显示对话框,提示用户输入阈值for (i = 0; i 256; i+)dlg1.m_fIntensityi = (float)lHistogrami; if (dlg1.DoModal() != IDOK)return;/ 返回yuzhi=(unsigned char)dlg1.m_Yuzhi;delete dlg1;/ 删除对话框 /根据阈值将图像二值化for ( i = 0;i width ;i+)for(j = 0;j height

6、;j+)pixel = *(buf+lLineBytes * j + i);if(pixel= yuzhi)*(buf+lLineBytes * j + i)=(unsigned char)0;else*(buf+lLineBytes * j + i)=(unsigned char)255;实验结果5.1程序界面运行程序生成可执行程序文件TT.exe,文件操作界面如 REF _Ref323465178 h 图51所示。图 STYLEREF 1 s 5 SEQ 图 * ARABIC s 1 1 程序运行界面程序可读取、处理和保存8位灰度图像,并可对8位灰度图像进行图像分割操作,用户界面设计较人性

7、化。5.2示例1对所示的目标图像进行阈值分割处理,结果如 REF _Ref323480605 h 图52所示。(a) 目标图像(b) 直方图统计结果图 STYLEREF 1 s 5 SEQ 图 * ARABIC s 1 2 图像分割直方图由图中可以看出,图像有很多峰,这样给我们选取峰谷确定阈值带来了一定的困难,下面我们将通过试探的方法,研究直方图法的优缺点分别选择不同阈值参数,对 REF _Ref323478037 h 图52(a)所示的图像进行图像分割,结果如下图所示。其中(a)(e)为直方图法的处理结果,而(f)为迭代法的处理结果,用于对比直方图法选取阈值的合理性。(a)阈值T=30(b)

8、阈值T=50(c)阈值T=60(d)阈值T=80 (e)阈值T=100 (f)迭代法,阈值T=87图 STYLEREF 1 s 5 SEQ 图 * ARABIC s 1 3 不同阈值的图像分割效果图中(f)图为迭代法的结果,阈值为87,可以看出处理结果较理想,而其他阈值则不太理想,因为峰值太多,给阈值选取带来了很大困难。5.2示例2图像上半部分做了反色处理,这样可以更好地测试图像分割的目的性和作用。 (a)目标图像 (b)直方图统计图图 STYLEREF 1 s 54直方图统计 (a)阈值T=50 (b)阈值T=100 (c)阈值T=120 (d)迭代法,阈值T=128图 STYLEREF 1

9、 s 55 不同阈值的图像分割效果从图中可以看出,这个示例的峰值相对较少,可以较好的选择阈值,以便于更好地分割图像,提取目标,可以看出处理后的图片比原始图片更加容易辨认目标,基本上达到了目的。结论算法性能分析由实验结果可以看出,阈值法图像分割中迭代法的处理结果比较理想,可以作为一个很好的参考,对于直方图阈值法来说,虽然操作简单方便,但有以下缺点:不适合处理峰值较多,灰度级分布较密的图像。无法获得最优阈值,因此无法获得最佳结果。总结通过光学图像处理课程的学习,我们对数字图像的来源,显示,处理等过程有了初步了解。对光学系统的成像过程,数字图像的传输,编码,复原,分割,压缩等理论知识和关键技术有了较

10、系统的掌握,并能够得以初步应用。通过这一段时间的图像处理实践过程,我们对BMP格式图像的数据结构有了更深入的了解,能够灵活运用C+编程语言对BMP图像进行读写,存储以及一些简单处理等操作,对阈值法图像分割操作体会尤深。总之,光学图像处理课程的开设对我们的学习,科研等有较大帮助,虽然研究内容与之相关甚微,但老师在课程中提出的研究问题的思想与方法让我们受益匪浅。附录/迭代求最佳阈值iNewThreshold = (iMin + iMax)/2;iThreshold = 0;for(iIterationTimes = 0; iThreshold != iNewThreshold & iIterationTimes 200;iIterationTimes +)iThreshold = iNewThreshold;lP1 =0;lP2 =0;lS1 = 0;lS2 = 0;/求两个区域的灰度平均值for (i = iMin;i iThreshold;i+)lP1 += lHistogrami*i;lS1 += lHistogrami;iMean1 =(uns

温馨提示

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

评论

0/150

提交评论