阈值法图像分割实验报告

上传人:简****9 文档编号:99009574 上传时间:2019-09-16 格式:DOC 页数:9 大小:524.26KB
返回 下载 相关 举报
阈值法图像分割实验报告_第1页
第1页 / 共9页
阈值法图像分割实验报告_第2页
第2页 / 共9页
阈值法图像分割实验报告_第3页
第3页 / 共9页
阈值法图像分割实验报告_第4页
第4页 / 共9页
阈值法图像分割实验报告_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《阈值法图像分割实验报告》由会员分享,可在线阅读,更多相关《阈值法图像分割实验报告(9页珍藏版)》请在金锄头文库上搜索。

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

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

3、为4. 循环做第二步到第四步,当 则结束,即可获得最佳阈值来对图像进行分割。4 程序设计4.1 直方图法算法流程如Error! Not a valid bookmark self-reference.所示。图41 直方图阈值法算法流程统计直方图和阈值分割流程图如图4所示。(a)统计直方图 (b)阈值分割图42 程序设计流程图4.2 关键程序语段unsigned i,j;/ 循环变量unsigned char pixel;/ 像素值long lHistogram256;/ 直方图数组 LONG lLineBytes;/ 图像每行的字节数/获得直方图for (i = 0;i 256 ;i+)/初始

4、化数组 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_Yuzhi=0; /在对话框里输出说明文字CString ss;ss.Format(如果峰值较多,建议用迭代法);

5、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 ;j+)pixel = *(buf+lLineBytes * j + i);if(pixel= yuzhi)*(b

6、uf+lLineBytes * j + i)=(unsigned char)0;else*(buf+lLineBytes * j + i)=(unsigned char)255;5 实验结果5.1程序界面运行程序生成可执行程序文件TT.exe,文件操作界面如图51所示。图51 程序运行界面程序可读取、处理和保存8位灰度图像,并可对8位灰度图像进行图像分割操作,用户界面设计较人性化。5.2示例1对所示的目标图像进行阈值分割处理,结果如图52所示。(a) 目标图像(b) 直方图统计结果图52 图像分割直方图由图中可以看出,图像有很多峰,这样给我们选取峰谷确定阈值带来了一定的困难,下面我们将通过试探

7、的方法,研究直方图法的优缺点分别选择不同阈值参数,对图53(a)所示的图像进行图像分割,结果如下图所示。其中(a)(e)为直方图法的处理结果,而(f)为迭代法的处理结果,用于对比直方图法选取阈值的合理性。(a)阈值T=30(b)阈值T=50(c)阈值T=60(d)阈值T=80 (e)阈值T=100 (f)迭代法,阈值T=87图53 不同阈值的图像分割效果图中(f)图为迭代法的结果,阈值为87,可以看出处理结果较理想,而其他阈值则不太理想,因为峰值太多,给阈值选取带来了很大困难。5.2示例2图像上半部分做了反色处理,这样可以更好地测试图像分割的目的性和作用。 (a)目标图像 (b)直方图统计图图

8、54直方图统计 (a)阈值T=50 (b)阈值T=100 (c)阈值T=120 (d)迭代法,阈值T=128图55 不同阈值的图像分割效果从图中可以看出,这个示例的峰值相对较少,可以较好的选择阈值,以便于更好地分割图像,提取目标,可以看出处理后的图片比原始图片更加容易辨认目标,基本上达到了目的。6 结论6.1 算法性能分析由实验结果可以看出,阈值法图像分割中迭代法的处理结果比较理想,可以作为一个很好的参考,对于直方图阈值法来说,虽然操作简单方便,但有以下缺点:1. 不适合处理峰值较多,灰度级分布较密的图像。2. 无法获得最优阈值,因此无法获得最佳结果。6.2 总结通过光学图像处理课程的学习,我

9、们对数字图像的来源,显示,处理等过程有了初步了解。对光学系统的成像过程,数字图像的传输,编码,复原,分割,压缩等理论知识和关键技术有了较系统的掌握,并能够得以初步应用。通过这一段时间的图像处理实践过程,我们对BMP格式图像的数据结构有了更深入的了解,能够灵活运用C+编程语言对BMP图像进行读写,存储以及一些简单处理等操作,对阈值法图像分割操作体会尤深。总之,光学图像处理课程的开设对我们的学习,科研等有较大帮助,虽然研究内容与之相关甚微,但老师在课程中提出的研究问题的思想与方法让我们受益匪浅。7 附录/迭代求最佳阈值iNewThreshold = (iMin + iMax)/2;iThresho

10、ld = 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 =(unsigned char)(lP1 / lS1);for (i = iThreshold+1;i iMax;i+)lP2 += lHistogrami*i;lS2 += lHistogrami;iMean2 = (unsigned char)(lP2 / lS2);iNewThreshold = (iMean1 + iMean2)/2;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号