【齿轮故障凸显采集图像信息的图像分割分析案例2300字】_第1页
【齿轮故障凸显采集图像信息的图像分割分析案例2300字】_第2页
【齿轮故障凸显采集图像信息的图像分割分析案例2300字】_第3页
【齿轮故障凸显采集图像信息的图像分割分析案例2300字】_第4页
【齿轮故障凸显采集图像信息的图像分割分析案例2300字】_第5页
全文预览已结束

下载本文档

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

文档简介

齿轮故障凸显采集图像信息的图像分割分析案例目录TOC\o"1-3"\h\u8423齿轮故障凸显采集图像信息的图像分割分析案例 156691.1图像分割概述 1149501.2图像分割的方法 12661表3-7漫水填充算法OpenCV函数的实现 218964表3-8K-means聚类算法OpenCV函数的实现 31.1图像分割概述图像分割就是把图像分成若干个特定的、具有独特性质的区域并提出感兴趣目标的技术和过程。一般来说,并不是获取的目标物体图像的整体都包含有用信息,通常人们也只是对包含有需要信息的部分区域感兴趣。那些人们感兴趣的部分被称为目标或前景,其他人们不感兴趣的部分被称为背景。图像处理时,需要将目标区域分离并提取出来以便于目标的辨别和分析,进而可以对目标进行下一步的处理,它是由图像处理到图像分析的关键步骤。现有的图像分割方法主要分以下几类:基于阈值的分割方法、基于区域的分割方法、基于边缘的分割方法以及基于特定理论的分割方法等。从数学角度来看,图像分割是将数字图像划分成互不相交的区域的过程。图像分割的过程也是一个标记过程,即把属于同一区域的像素赋予相同的编号。1.2图像分割的方法1.2.1漫水填充法漫水填充法是一种用特定的颜色填充算法填充连通区域,通过设置可连通像素的上下限以及连通方式来达到不同的填充效果的方法。基本思想是自动选中了和种子点相连的区域,接着将该区域替换成指定的颜色,经常用来标记或者分离图像的一部分进行处理或分析,是根据像素灰度值之间的差值寻找相同区域实现分割。漫水填充也可以用来从输入图像获取掩码区域,掩码会加速处理过程,或者只处理掩码指定的像素点。其中掩膜Mask用于进一步控制那些区域将被填充颜色。漫水填充分割法主要分为以下三个步骤:(1)选择种子点(x,y);(2)以种子点为中心,判断4邻域或者8邻域的像素值与种子点像素值的差值,将差值小于阈值的像素点添加进区域内。(3)将新加入的像素点作为新的种子点,反复执行第二步,直到没有新的像素点被添加进该区域。图4-1漫水填充分割前后的图像在OpenCV中函数实现漫水填充分割的方式如表3-7所示。表3-7漫水填充算法OpenCV函数的实现CV_EXPORTSintfloodFill(InputArrayimage,InputOutputArraymask,PointseedPoint,ScalarnewVal,CV_OUTRect*rect=0,ScalarloDiff=Scalar(),ScalarupDiff=Scalar(),intflags=4);image:要处理的图片,mask:8位单通道掩码,接受单通道或3通道,8位或浮点类型的图片,如果提供了Mask而且设置了FLOODFILL_MASK_ONLY的flag,输入图像才不会被修改,否则调用本方法填充的结果会修改到输入图像中seedPoint:填充算法的种子点,即起始点newVal:填充的颜色loDiff:最小的亮度或颜色的差值upDiff:最大的亮度或颜色的差值rect:可选的输出参数,返回一个最小的矩形,可以刚好把填充的连通域包起来flags:低八位[0-7]表示连通性,默认值4表示四领域填充,8表示八领域填充;[8-15]位表示用来填充mask的颜色值[1-255]默认是11.2.2K-means聚类算法K-means算法属于无监督分类,通过按照一定的方式度量样本之间的相似度,通过迭代更新聚类中心,当聚类中心不再移动或移动差值小于阈值时,则就样本分为不同的类别。其基本思路是:首先,随机选取聚类中心,根据当前聚类中心,利用选定的度量方式,分类所有样本点,再计算当前每一类的样本点的均值,作为下一次迭代的聚类中心,计算下一次迭代的聚类中心与当前聚类中心的差距,如果上一步中的差距小于给定迭代阈值时,迭代结束。反之,返回当前聚类中心继续下一次迭代。图4-2K-means分割前后的图像在OpenCV中函数实现K-means分割的方式如表3-8所示。表3-8K-means聚类算法OpenCV函数的实现doublekmeans(InputArraydata,intK,InputOutputArraybestLabels,TermCriteriacriteria,intattempts,intflags,OutputArraycenters=noArray())data:需要被聚类的原始数据集合,一行表示一个数据样本,每一个样本的每一列都是一个属性K:需要被聚类的个数bestLabels:每一个样本的类的标签,是一个整数,从0开始的索引整数criteria:算法迭代终止条件attempts:运行kmeans的次数,取结果最好的那次聚类为最终的聚类,要配合下一个参数flages来使用flags:聚类初始化条件1.2.3分水岭算法传统的分水岭分割方法,是一种基于拓扑理论的数学形态学的分割方法,其基本思想是把图像看作是测地学上的拓扑地貌,图像中每一像素的灰度值表示该点的海拔高度,每一个局部极小值及其影响区域称为集水盆地,而集水盆地的边界则形成分水岭。在分割的过程中,它会把跟临近像素间的相似性作为重要的参考依据,从而将在空间位置上相近并且灰度值相近的像素点互相连接起来构成一个封闭的轮廓。然而基于梯度图像的直接分水岭算法容易导致图像的过分割,产生这一现象的原因主要是由于输入的图像存在过多的极小区域而产生许多小的集水盆地,从而导致分割后的图像不能将图像中有意义的区域表示出来。所以必须对分割结果的相似区域进行合并。图4-3分水岭法分割前后的图像在OpenCV中函数实现K-means分割的方式如表3-9所示。表3-9分水岭算法OpenCV函数的实现voidwatershed(InputArrayimage,InputOutputArraymarkers);image:要处理的图片,必须是一个8bit3通道彩色图像矩阵序列markers:8位单通道掩码在执行分水岭函数watershed之前,必须对第二个参数markers进行处理,它应该包含不同区域的轮廓,每个轮廓有一个自己唯一的编号,轮廓的定位可以通过Opencv中findContours方法实现,这个是执行分水岭之前的要求。markers必须包含了种子点信息。markets创建主要有两种方式:手动选取和findContours1.2.4GrabCut算法GrabCut是一种基于图形切割的图像分割方法。该算法从要分段的对象周围的用户指定的边界框开始,使用高斯混合模型估计目标对象和背景的颜色分布。这用于在像素标签上构造Markov随机字段,其能量函数更喜欢具有相同标签的连接区域,并运行基于图形剪切的优化以推断其值。由于此估计值可能比从边界框中获取的原始估计值更准确,因此重复这一两步过程,直到收敛。该算法利用了图像中的纹理(颜色)信息和边界(反差)信息,只要少量的用户交互操作即可得到比较好的分割结果。图4-4GrabCut分割前后的图像在OpenCV中函数实现GrabCut分割的方式如表3-10所示。表3-10GrabCut分割OpenCV函数的实现grabCut(InputArrayimage,InputOutputArraymask,Rectrect,InputOutputArraybgdModel,InputOutputArrayfgdModel,intiterCount,intmode=GC_EVAL);image:要处理的图片mask:8位单通道掩码rect:包

温馨提示

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

评论

0/150

提交评论