1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2021/12/8 Wednesday,#,Institute of Robotics and Automatic Information System,Click to edit the title text format,机器人与信息自动化研究所,Institute of Robotics&Automatic Information System,Institute of Robotics and Automatic Information System,Click to edit the title te
2、xt format,单击此处编辑母版标题样式,2021/12/8 Wednesday,#,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,#,/,机器视觉及应用,第九章图像分割,主要内容,基于灰度值的阈值分割,全局阈值分割,局部阈值分割,区域生长分割算法,分水岭分割算法,图像分割,图像分割的目的,图像分割的基本思路,图像分割的策略,1,、,图像分割是指通过某种方法,,使得图像中,的,目标物被分为不同的类别,,以便进一步的分析。是图像处理中,重要的基础环节,,一般也,比较困难,。,2,、图像分割准确,的分割,影响决定,其他部分分析的准确程度,。,3,、至今,仍,没有,一个判断分割是否,
3、完全正确的准则,,也没有一种标准的方法能够解决所有的分割问题,。分割,的好坏必须从分割的效果来判断,。,图像分割,1,、把,图像,分解,成构成它的,部件和对象,;,2,、有,选择性地,定位感兴趣对象,在图像中的位置和范围,。,图像分割,图像分割的目的,1,、从简到难,逐级分割,控制背景环境,降低分割难度,2,、,注意力集中在感兴趣的对象,缩小不相干图像成分的干扰。,提取轮廓,车牌定位,车牌识别,图像分割,图像分割的基本思路,1,、,把,像素,按灰度划分,到各个物体对应的,区域,中,去;,3,、,确定,存在于,区域,间的,边界,;,2,、,先确定边缘,像素点,然后将它们连接起来构成所需的边界;,
4、区域:像素的连通集,连通准则:,4-,连通,8-,连通,图像分割,图像分割的基本策略,1,、阈值,分割法是一种,基于灰度值的,图像分割技术,原理是把图像象素点分为若干类。图像阈值化分割是一种传统的,最常用的图像分割,方法。,2,、,阈值分割法,实现,简单、计算量小、性能较,稳定。,3,、,阈值分割,特别,适用于,目标和背景占据不同灰度级,范围的图像。它不仅可以极大的压缩数据量,而且也大大简化了分析和处理步骤,因此在很多情况下,是进行图像分析、特征提取与模式识别之前的必要的图像预处理过程,。,阈值,分割,4,、按照阈值的选择方式,可以分为,全局阈值分割、局部阈值分割,两种,方法,5,、,全局阈值
5、分割,方法依据整副图像来选择一个或多个阈值对图像进行分割。,局部阈值分割,依据图像每个局部区域选择阈值对图像进行分割。,6,、常用全局阈值分割方法:,固定阈值分割、,OTSU,算法、基于直方图选择阈值,的方法。,7,、常用局部阈值分割方法:,动态阈值分割、,Sauvola,算法,阈值,分割,1,、最简单的阈值分割算法,,计算简单,速度快,。,2,、适用,条件:,亮度均一的目标放在另一种亮度的背景上,。比如,白纸上的文字,显微镜下的生物医学样本等。是两类问题,区分物体(前景)与背景。不能适用于复杂景物的正确分割,比如自然场景,。,全局阈值分割,固定阈值分割方法,3,、,设原始图像,f(x,y),
6、在,f(x,y),中找出一,个,固定的,灰度值,,作为阈值,t,,则分割后的图像,g(x,y),,可由下式表示:,全局阈值分割,固定阈值分割方法,g(x,y)=,1 f(x,y)t,0 f(x,y)t,或,4,、,可以将阈值设置为一个,灰度范围,t1,t2,,凡是灰度在范围内的象素都变为,1,,否则皆变为,0,,即,全局阈值分割,固定阈值分割方法,g(x,y)=,1 t1f(x,y)t2,0,其它,5,、某种,特殊情况下,高于阈值,t,的象素保持原灰度级,其它象素都变为,0,,称为,半阈值法,,分割后的图像可表示为:,g(x,y)=,f(x,y)f(x,y)t,0,其它,7,、,阈值的选取是
7、阈值,分割的,关键,,如果过高,则过多的目标点被误归为背景;如果阈值过低,则会出现相反的情况,。,全局阈值分割,固定阈值分割方法,6,、阈值,分割图像,的通用表示,:,g(x,y)=,Z,E,f(x,y)Z,Z,B,其它,阈值,1,、,OTSU,是日本学者,该方法又名大津法,,最大类间方差法,。,2,、根据图像灰度值,将图像分为背景和前景,两者之间,方差越大,,说明构成图像的两部分,差别越大,,当部分前景中有背景或背景中有前景时,导致两者的方差变小,因此,类间方差最大意味着错分概率最小。,全局阈值分割,OTSU,阈值分割方法,3,、算法过程,(,1,)将图像,f(x,y),的前景和背景分割阈
8、值设为,T,。,(,2,)设前景像素点占整个图像的比例为,w,0,其平均灰度为,U,0,,,(,3,)设,背,景,像素点占整个图像的比例为,w,1,其平均灰度为,U,1,(,4,)图像平均灰度,,类间方差,S,设图像大小,MN,,灰度值小于,T,的个数为,N,0,,大于,T,的为,N,1,,则它们之间存在以下关系:,全局阈值分割,OTSU,阈值分割方法,前景比例,:,背景比例,像素,点总数,前景和背景概率之和,平均灰度值,类,间方差,由此可以得到:,全局阈值分割,OTSU,阈值分割方法,按照,遍历,0255,个灰度级,求,出使,其,最大,的 灰度值,就是要寻找的阈值。,全局阈值分割,OTSU,
9、阈值分割方法,4,、该,算法的,理论依据:,假定图像包含两类像素(前景像素和背景像素),直方图为双峰,直方图。,5,、,优点,:算法简单,当目标与背景的面积相差不大时,能够有效地对图像进行分割。,缺点,:当图像中的目标与背景的面积相差很大时,表现为直方图没有明显的双峰,或者两个峰的大小相差很大,分割效果不佳,或者目标与背景的灰度有较大的重叠时也不能准确的将目标与背景分开。,全局阈值分割,基于直方图的阈值分割,1,、,OTSU,作为全局自适应阈值分割算法,其适应范围有限。,2,、图像中的直方图是灰度分布的概率,直方图上的波谷代表了不同灰度的边界,通过直方图计算,将位于直方图波谷位置的灰度值作为阈
10、值,对图像进行全局阈值分割。,全局阈值分割,基于直方图的阈值分割,全局阈值分割,基于直方图的阈值分割,例 全局阈值分割示例,read_image(Image,E:/,示例,/pellets.png),threshold(Image,Regions,115,204),binary_threshold(Image,Region2,max_separability,light,UsedThreshold),auto_threshold(Image,Regions3,2),gray_histo(Image,Image,AbsoluteHisto,RelativeHisto),histo_to_thre
11、sh(AbsoluteHisto,2,MinThresh,MaxThresh),threshold(Image,Region4,MinThresh,MaxThresh),全局阈值分割,基于直方图的阈值分割,原图,固定阈值,OTSU,自动从直方图分割,先计算直方图阈值,再阈值分割,局部阈值分割,1,、图像受到光照不均的影响,如果采用,全局阈值,分割图像效果不好,。,2,、根据图像中,每个局部区域,,设定,不同的阈值,,对图像进行分割。,3,、常用局部阈值分割算法:,动态阈值分割、,Sauvola,算法,局部阈值分割,1,、在图像的,局部,感兴趣,区域,,,物体,通常比背景,更亮或者更暗,。,2,
12、采用均值滤波、高斯滤波等方法,对图像进行平滑处理,可以计算当前像素,邻域内,的,灰度均值,。,3,、将滤波结果作为背景灰度值进行估计,将,图像与局部背景进行比较,,得到阈值分割结果。,动态阈值,分割,局部阈值分割,4,、为了避免图像与局部背景比较之后的值过小,一般再,添加一个偏移量,。,动态阈值,分割,f,(x,y),原图,g(x,y),滤波结果图,b,偏移量,局部阈值分割,5,、动态阈值,算法简单,运算速度快,能适应不同光照的影响,。,6,、平滑,滤波器的大小对结果影响比较大,,一般滤波器尺寸越大,越能代表局部背景。,动态阈值,分割,局部阈值分割,1,、,Sauvola,算法以,当前像素点
13、为中心,根据当前像素点邻域内的,灰度均值与,标准偏差,来,动态计算,该像素点的,阈值,。,Sauvola,算法,2,、当前,像素点的坐标为,(x,y),,以该点为中心的领域为,r*r,,,f(x,y,),表示,(x,y),处的灰度值,,Sauvola,算法的,步骤如下:,局部阈值分割,(,1,)计算,rr,邻域,内的灰度均值和标准偏差,Sauvola,算法,局部阈值分割,(,2,)计算像素点的阈值,Sauvola,算法,R,是,标准偏差的假定最大,值,对于,Byte,数据类型,的图像,,R=128,。,K,是修正系数,,用,Sauvola,方法,进行图像分割时,选择的处理,模板,窗,口大小,的
14、选择很关键,,选择的空间太小,,则,噪声,抑,制,的效果不理想,目标主体不够突出,,选择,的,空间,太,大,则目标的细节会被去除而丢失信息,局部阈值分割,例 局部阈值示例,read_image(Image,E:/,示例,/pellets.png),mean_image(Image,ImageMean,19,19),dyn_threshold(Image,ImageMean,RegionDynThresh,5,light),local_threshold(ImageMean,Region,adapted_std_deviation,light,mask_size,51),Sauvola,算法,局
15、部阈值分割,Sauvola,算法,原图,动态阈值,Sauvola,算法,阈值分割,1,、基于灰度的阈值分割算法有很多,以上介绍的是主流的阈值分割算法,还有很多根据以上算法进行改进的算法。,2,、每种算法适应的图像不一样,在实际使用中,需要根据图像的特点,选择不同的阈分割算法。,1,、,基本思想:将具有,相似性质的象素集合,起来构成区域,。,2,、,算法,实现步骤,:,(,1,)根据,图像的不同应用选择一个或一组种子,它或者是最亮或最暗的点,或者是位于点簇中心的点,;,(,2,)选择,一个描述符(条件);,(,3,)从,该种子开始向外扩张,首先把种子像素加入结果集合,然后不断将与集合中各个像素连
16、通、且满足描述符的像素加入集合,(,4,)上,一过程进行到不再有满足条件的新结点加入集合为止。,区域生长分割,算法,区域生长分割,算法,区域生长算法取决于,初始种子点的选取、生长准则、终止条件。,生长,准则包括,灰度值的,差值,、彩色,图像的,颜色,、,梯度,特征、该,点周围的,区域,特征,等,。,种子,点的,选取包括,人工交互,,,自动提取,物,体内部点或者利用其它算法找到的特征,点等。,区域生长分割,算法,取门限,T=1,区域生长分割,算法,例 区域生长法示例,read_image(Image1,E:/,示例,/pellets.png),regiongrowing(Image1,Regio
17、ns2,3,3,10,100),select_shape(Regions2,SelectedRegions,area,and,0,62645.6),分水岭算法,1,、根据分水岭的构成来来考虑图像的分割。该算法是一种基于拓扑理论的分割方法。,2,、把图像中的每个像素点表示为海拔高度,每一个局部极小值及其影响区域成为集水盆,集水盆的边界形成分水岭。,3,、通过模拟浸入过程,在每个局部极小值表面,慢慢向外扩展,在两个集水盆汇合处形成分水岭。,分水岭算法,4,、分水岭计算过程:,(,1,)排序过程,将每个像素值的灰度级进行从低到高排序;,(,2,)淹没过程,从低到高实现淹没过程,对每个局部极小值在,h
18、阶高度的影响域采用先进先出结构进行判断和标注。,5,、分水岭表示的是输入图像的极大值点。为了得到图像的边缘信息,通常把梯度图像作为输入,6,、图像中的噪声以及表面细微变化会产生过度分割的现象。,分水岭算法,例:区域生长和分水岭算法示例,read_image(Image1,E:/,示例,/pellets.png),regiongrowing(Image1,Regions2,3,3,10,100),select_shape(Regions2,SelectedRegions,area,and,0,62645.6),gauss_filter(Image1,ImageGauss,9),watershe
19、ds(ImageGauss,Basins,Watersheds),watersheds_threshold(ImageGauss,Basins1,10),sobel_dir(ImageGauss,EdgeAmplitude,EdgeDirection,sum_abs,3),watersheds(EdgeAmplitude,Basins2,Watersheds1),watersheds_threshold(EdgeAmplitude,Basins3,10),select_shape(Basins3,SelectedRegions1,area,and,0,61397.7),regiongrowing(EdgeAmplitude,Regions,3,3,2,100),select_shape(Regions,SelectedRegions2,area,and,0,61980,),分水岭算法,例:区域生长和分水岭算法示例,






