首页 > 搜索 > otsu分割算法程序,OTSU阈值分割的实现

otsu分割算法程序,OTSU阈值分割的实现

互联网 2020-10-23 05:26:37
在线算命,八字测算命理

1、 目 录摘要1原理与实现11.1图像分割11.2阈值分割11.3 OTSU算法22 设计实现程序43 程序运行结果与分析73.1程序运行结果73.2 结果分析94 心得体会11参考文献12 摘 要图像分割是图像识别和图像理解的基本前提步骤。图像分割算法一般是基于灰度的两个性质之一不连续性和相似性。图像的阈值分割是基于图像的相似性根据事先制定的准则将图像分割为相似的区域。图像分割的作用是把反映物体真实情况的、占据不同区域的、具有不同特性的目标区分开来,以便计算各个目标的数字特征。图像分割质量的好坏直接影响后续图像处理的效果,甚至决定其成败,因此,图像分割的作用至关重要。本设计主要是使用阈值分割法。

2、中的最大类间方差法(OTSU)的原理来将图像进行不使用库函数和使用库函数的阈值分割,并将两种方法的阈值显示出来进行比较,同时显示不同阈值情况下的图像结果。关键词图像分割 阈值分割 最大类间方差法 1原理与实现1.1图像分割 数字图像处理的目的之一是图像识别, 而图像分割是图像识别工作的基础。图像分割是将一幅图像分解成若干互不交叠的、有意义的、具有相同性质的区域。这些区域互不交叠, 每一个区域内部的某种特性或特征相同或接近, 而不同区域间的图像特征则有明显差别, 即同一区域内部特性变化平缓, 相对一致, 而区域边界处则特性变化比较剧烈。区域内是一个所有像素都有相邻或相接触像素的集合, 是像素的连。

3、通集。在一个连通集中任意两个像素之间, 都存在一条完全由这个集合的元素构成的连通路径。图像分割的基础是像素间的相似性和不连续性。所谓“相似性”是指在某个区域内像素具有某种相似的特性, 如灰度一样, 纹理相同;所谓“不连续性”是指特性不连续, 如灰度值突变等。图像分割的方法有多种, 依据工作对象来分, 可分为点相关分割和区域相关分割; 按算法分类, 可分为阈值法、界限检测法、匹配法、跟踪法等。然而大多数分割方法都不能将图像完美的分割,具体处理时总是在各种约束条件之间找一种合理的平衡。1.2阈值分割 阈值处理是一种区域分割技术, 它适用于物体与背景有较强对比的景物分割。 它主要是利用图像中要提取的。

4、目标物体和背景在灰度上的差异, 选择一个合适的阈值, 通过判断图像中的每一个像素点的特征属性是否满足阈值的要求来确定图像中该像素点应该属于目标区还是应该属于背景区域, 从而产生二值图像。它计算简单, 而且总能用封闭而且连通的边界定义不交叠的区域。 在使用阈值法进行分割技术时, 阈值的选取成为能否正确分割的关键, 若将所有灰度值大于或等于某阈值的像素都被判属于物体, 则将所有灰度值小于该阈值的像素被排除在物体之外, 如果阈值选取得过高, 则过多的目标区域将被划分为背景, 相反如果阈值选取得过低, 则过多的背景将被划分到目标区。因此, 边界就由这样一些内部点的集合组成, 这些点都至少有一个邻点不属。

5、于该物体。 由于物体和背景以及不同物体之间的灰度级有明显的差别, 因此, 在图像的灰度级直方图中会呈现明显的峰值。当图像灰度直方图峰型分布明显时, 常以谷底作为门限候选值。所以只要适当地选择阈值, 即可对图像进行分割, 因而成为一种简单而广泛应用的方法。1.3 OTSU算法 OTSU算法,又称最大类间方差阈值选择法,是一种自适应的阈值确定的方法。它是按图像的灰度特性,将图像分成背景和目标两部分。背景和目标之间的类间方差越大,说明构成图像的两部分的差别越大,当部分目标错分为背景或部分背景错分为目标都会导致两部分差别变小。因此,使类间方差最大的分割意味着错分概率最小。 方法一不使用库函数的算法 设。

6、X是一幅具有L级灰度级的图像,其中第i级像素为个,其中i的值在0L-1之间,图像的总像素点个数为 1 第i级出现的概率为 2 在OTSU算法中,以阈值k将所有的像素分为目标和背景两类。其中,类的像素灰度级为0k-1,类的像素灰度级为kL-1。 图像的总平均灰度级为 (3) 类像素所占的总面积的比例为 (4) 类像素所占的总面积的比例为 5 类像素的平均灰度级为 (6) 类像素的平均灰度级为 (7) 其中, (8) (9) 最大类间方差的公式为 (10) 令k从0L-1变化,计算在不同k值下的类间方差,使得最大值时的那个k值就是所要求的最优阈值。 方法二使用库函数的算法 在matlab工具箱提供。

7、的graythresh函数求取阈值采用的就是OTSU算法,使用库函数求取阈值就是调用graythresh函数选择阈值。2 设计实现程序 依据本次课程设计的要求,在程序设计中,我用了非库函数和库函数两种方法进行图像的阈值求取,然后将图像进行人工选择不同阈值的阈值分割,以便进行对比。由于要实现的功能不止一个,程序比较复杂,所以为了方便程序的阅读与理解,我将程序进行分模块编写。具体程序如下function main 主程序clear;close all; 清除变量,关闭所有窗口name pathuigetfileedx1102.jpg; 获取图片路径及文件名Iimreadpath name; 读图I。

8、rgb2grayI; 彩色转黑白while 1 循环执行disp0 原图 1 OTSU 2 全局阈值; 显示功能提示信息 select请选择; 选择相应功能 switch select case 0 输入0 显示原图 yuantuI; case 1 输入1 OTSU法 fun1I; case 2 输入2 全局阈值法 fun2I; otherwise 其他值不处理 endendfunction yuantuI 显示原图figureimshowI;title原图function fun1I 阈值计算程序NiimhistI; 计算直方图数组NsumNi; 总像素点个数delamax0; 类间方差最大。

9、值threshold0; 阈值for k2255 udot0255,Ni/N; 图像的总平均灰度级 w0sumNi1k/N; C0类像素所占面积的比例 w11-w0; C1类像素所占面积的比例 if w00|w01 当w0为1或0时提前结束本次循环 continue end u0dot0k-1,Ni1k/N/w0; C0类像素的平均灰度 u1dotk255,Nik1256/N/w1; C1类像素的平均灰度delakw0*u-u02w1*u-u12; 类间方差公式求出类间方差的最大值,最大时的那个值对应的k值存入delamax if delakdelamax delamaxdelak; thre。

10、sholdk-1; endendBW1im2bwI,threshold/255; 阈值分割figureimshowBW1,title自编程序运行结果 显示图片disp自编程序求的的阈值 显示提示信息dispthreshold 显示结果调用系统函数OTSU阈值分割levelgraythreshI; 调用系统函数计算阈值BW2im2bwI,level; 阈值分割figureimshowBW2,title调用库函数运行结果levelroundlevel*255; 四舍五入计算调用系统函数的阈值disp调用库函数求得的阈值displevelfunction fun2I 阈值分割程序 width hei。

11、ghtsizeI; 获取图片宽高th请输入阈值;for i1width for j1height ifIi,jth 灰度小于阈值时则为黑色 BW1i,j0; else灰度大于等于阈值时则为白色 BW1i,j1; end endendfigureimshowBW1,title全局阈值3 程序运行结果与分析3.1程序运行结果 运行matlab,输入程序运行,按照要求输入指令得到以下结果 图1 命令窗口运行结果 图2 显示原图 图3 自编程序运行结果 图4 调用库函数运行结果 图5 人工选择阈值为156的运行结果 图6 人工选择阈值为120的运行结果 图7 人工选择阈值为180的运行结果3.2 。

12、结果分析 由图1结果显示可以看出自编程序和调用库函数的阈值都是156,得到同样的分割阈值,由图3和图4两幅处理后的结果图也可以看出,处理的效果基本相同,满足设计要求。 当使用全局阈值法时,只要输入的阈值和OTSU算出的阈值一样,即输入156时,如图5可见处理结果就完全一样。当输入的阈值高于或低于156时,处理结果便产生了差异。由图6和图7可以看到,当输入阈值为120时,目标图像比例明显增加,背景图像明显减少;当输入阈值为180时,目标图像则减少,背景图像增加。这正验证了如果阈值选取得过高, 则过多的目标区域将被划分为背景, 相反如果阈值选取得过低, 则过多的背景将被划分到目标区。4 心得体会由。

13、于这一学期我们基本没有什么课程学习,所以在拿到这次课程设计的题目后,我认真的回顾了一遍课本上的知识,尤其重点复习了图像分割这一方面。我这次课程设计的重点是用最大类间方差阈值选择法(OTSU),要求不使用库函数和使用库函数两种方法实现,并且针对不同的阈值进行阈值分割的结果进行分析。本次课设的难度并不大,实现原理比较简单,但是编程的细节要注意,我在编程的过程中对有些函数不太熟悉,常常要停顿下来查阅资料,所以我决定先不急于做出结果,磨刀不误砍柴工,我查阅了很多相关的资料,认真学习了matlab的使用和一些函数的基本应用,总算对课程设计要求的知识学习达到了一定的标准,最后顺利的完成了课设要求。通过本次。

14、课程设计,我对图像分割有了深入的了解,也加深了对matlab的掌握程度,在学到科学知识的同时,我也学到了做事的道理不要急于求成,要一步一个脚印,理论和时间都很重要,在实践遇到困难时,我们要加强自己的理论水平,用理论来指导实践,然后再用实践来检验理论。感谢学校和老师给我这一次实践的机会参考文献1杨杰,黄朝兵.数字图像处理及MATLAB实现 电子工业出版社,20132陈怀琛.MATLAB及其在课程中的应用指南 西安电子科技大学出版社,20003罗平辉,冯平.MATLAB7.0在图像处理中的应用 机械工业出版社,20074朱习军.MATLAB在信号与系统与图象处理中的应用 电子工业出版社,20025张强, 王正林.精通MATLAB图像处理 电子工业出版社,1997。

免责声明:非本网注明原创的信息,皆为程序自动获取互联网,目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责;如此页面有侵犯到您的权益,请给站长发送邮件,并提供相关证明(版权证明、身份证正反面、侵权链接),站长将在收到邮件12小时内删除。

相关阅读

一周热门

查看更多