图像分割算法综述

      图像分割就是把图像分红若干个特定的、具备独特性质的区域并提出感兴趣目标的技术和过程。现有的图像分割方法主要分如下几类:基于阈值的分割方法、基于区域的分割方法、基于边缘的分割方法以及基于特定理论的分割方法等。node

  1. 阈值法:全局阈值、自适应阈值、OTSU(直方图)
  2. 区域生长法
  3. 边缘检测
  4. 特征聚类:K-means
  5. 直方图

阈值分割

   灰度阈值分割法是一种最经常使用的并行区域技术,它是图像分割中应用数量最多的一类。算法

                                         

      其中,T为阈值;对于物体的图像元素,g(i,j)=1,对于背景的图像元素,g(i,j)=0函数

     因而可知,阈值分割算法的关键是肯定阈值,若是能肯定一个合适的阈值就可准确地将图像分割开来。阈值肯定后,将阈值与像素点的灰度值逐个进行比较,并且像素分割可对各像素并行地进行,分割的结果直接给出图像区域。工具

阈值分割的优势:是计算简单、运算效率较高、速度快。性能

人们发展了各类各样的阈值处理技术,包括全局阈值、自适应阈值、最佳阈值等等。优化

全局阈值spa

    全局阈值是指整幅图像使用同一个阈值作分割处理,适用于背景和前景有明显对比的图像。它是根据整幅图像肯定的:T=T(f)。可是这种方法只考虑像素自己的灰度值,通常不考虑空间特征,于是对噪声很敏感。经常使用的全局阈值选取方法有利用图像灰度直方图的峰谷法、最小偏差法、最大类间方差法、最大熵自动阈值法以及其它一些方法。.net

自适应阈值blog

    在许多状况下,物体和背景的对比度在图像中的各处不是同样的,这时很难用一个统一的阈值将物体与背景分开。这时能够根据图像的局部特征分别采用不一样的阈值进行分割。实际处理时,须要按照具体问题将图像分红若干子区域分别选择阈值,或者动态地根据必定的邻域范围选择每点处的阈值,进行图像分割。这时的阈值为自适应阈值。阈值的选择须要根据具体问题来肯定,通常经过实验来肯定。对于给定的图像,能够经过分析直方图的方法肯定最佳的阈值,例如当直方图明显呈现双峰状况时,能够选择两个峰值的中点做为最佳阈值。例如OTSU法。递归

边缘分割

      图像分割的一种重要途径是经过边缘检测,即检测灰度级或者结构具备突变的地方,代表一个区域的终结,也是另外一个区域开始的地方。这种不连续性称为边缘。不一样的图像灰度不一样,边界处通常有明显的边缘,利用此特征能够分割图像。图像中边缘处像素的灰度值不连续,这种不连续性可经过求导数来检测到。

      对于阶跃状边缘,其位置对应一阶导数的极值点,对应二阶导数的过零点(零交叉点)。所以经常使用微分算子进行边缘检测。经常使用的一阶微分算子有Roberts算子、Prewitt算子和Sobel算子,二阶微分算子有Laplace算子等。在实际中各类微分算子经常使用小区域模板来表示,微分运算是利用模板和图像卷积来实现。这些算子对噪声敏感,只适合于噪声较小不太复杂的图像。
因为边缘和噪声都是灰度不连续点,在频域均为高频份量,直接采用微分运算难以克服噪声的影响。所以用微分算子检测边缘前要对图像进行平滑滤波。LoG算子和Canny算子是具备平滑功能的二阶和一阶微分算子,边缘检测效果较好。其中loG算子是采用Laplacian算子求高斯函数的二阶导数,Canny算子是高斯函数的一阶导数,它在噪声抑制和边缘检测之间取得了较好的平衡。

缺点:基于边缘的分割方法其难点在于边缘检测时抗噪性和检测精度之间的矛盾。若提升检测精度,则噪声产生的伪边缘会致使不合理的轮廓;若提升抗噪性,则会产生轮廓漏检和位置误差

直方图法

   基于直方图的方法是很是有效的图像分割方法,由于他们一般只须要一个经过像素。在这种方法中,直方图是从图像中的像素的计算,并在直方图的波峰和波谷是用于定位图像中的簇。颜色和强度能够做为衡量。

     这种技术的一种改进是递归应用直方图求法的集群中的形象以分红更小的簇。重复此操做,使用更小的簇直到没有更多的集群的造成。

特征聚类法

     特征空间聚类法进行图像分割是将图像空间中的像素用对应的特征空间点表示,根据它们在特征空间的汇集对特征空间进行分割,而后将它们映射回原图像空间,获得分割结果。其中,K均值、模糊C均值聚类(FCM)算法是最经常使用的聚类算法。K均值算法先选K个初始类均值,而后将每一个像素纳入均值离它最近的类并计算新的类均值。迭代执行前面的步骤直到新旧类均值之差小于某一阈值。

    模糊C均值算法是在模糊数学基础上对K均值算法的推广,是经过最优化一个模糊目标函数实现聚类,它不像K均值聚类那样认为每一个点只能属于某一类,而是赋予每一个点一个对各种的隶属度,用隶属度更好地描述边缘像素亦此亦彼的特色,适合处理事物内在的不肯定性。利用模糊C均值(FCM)非监督模糊聚类标定的特色进行图像分割,能够减小人为的干预,且较适合图像中存在不肯定性和模糊性的特色。FCM算法对初始参数极为敏感,有时须要人工干预参数的初始化以接近全局最优解,提升分割速度。另外,传统FCM算法没有考虑空间信息,对噪声和灰度不均匀敏感。

聚类方法应注意几个问题:

(1)聚类的类数如何肯定。

(2)怎样肯定聚类的有效性准则。

(3)聚类中心的位置和特性事先不清楚时,如何设置初始值。

(4)运算的开销。

基于区域生长的分割方法

(1)区域生长

      区域生长的基本思想是将具备类似性质的像素集合起来构成区域。具体先对每一个须要分割的区域找一个种子像素做为生长的起点,而后将种子像素周围邻域中与种子像素有相同或类似性质的像素(根据某种事先肯定的生长或类似准则来断定)合并到种子像素所在的区域中。将这些新像素看成新的种子像素继续进行上面的过程,直到再没有知足条件的像素可被包括进来。这样一个区域就长成了。  例如:分水岭算法,浸水填充。

(2)区域分裂合并

      区域生长是从某个或者某些像素点出发,最后获得整个区域,进而实现目标提取。分裂合并差很少是区域生长的逆过程:从整个图像出发,不断分裂获得各个子区域,而后再把前景区域合并,实现目标提取。分裂合并的假设是对于一幅图像,前景区域是由一些相互连通的像素组成的,所以,若是把一幅图像分裂到像素级,那么就能够断定该像素是否为前景像素。当全部像素点或者子区域完成判断之后,把前景区域或者像素合并就可获得前景目标。基于图的分割其实也是这种思想。

不足:基于区域的分割方法每每会形成图像的过分分割

基于图的图像分割

    图像(image)的图表示是指将图像(image)表达成图论中的图(graph)。具体说来就是,把图像中的每个像素点当作一个顶点vi ∈ V(node或vertex),像素点之间的关系对(能够本身定义其具体关系,通常来讲是指相邻关系)构成图的一条边ei ∈ E,这样就构建好了一个图 G = (V,E)。图每条边的权值是基于像素点之间的关系,能够是像素点之间的灰度值差。

       是由顶点集V(vertices)和集E(edges)组成,表示为G=(V, E),每一个像素点表明图的一个顶点vi ∈ V ,相邻的两个像素点构成一条边(vi, vj) ∈ E,像素颜色值的差别构成边(vi, vj)的权值w((vi, vj)),初始化时每个像素点都是一个顶点,而后逐渐合并获得一个区域,确切地说是链接这个区域中的像素点的一个MST。

最小生成树(MST):给定须要链接的顶点,选择边权之和最小的树。

基于小波变换的分割方法?

      小波变换是近年来获得普遍应用的数学工具,它在时域和频域都具备良好的局部化性质,而且小波变换具备多尺度特性,可以在不一样尺度上对信号进行分析,所以在图像处理和分析等许多方面获得应用。

      基于小波变换的阈值图像分割方法的基本思想是首先由二进小波变换将图像的直方图分解为不一样层次的小波系数,而后依据给定的分割准则和小波系数选择阈值门限,最后利用阈值标出图像分割的区域。整个分割过程是从粗到细,由尺度变化来控制,即起始分割由粗略的L2(R)子空间上投影的直方图来实现,若是分割不理想,则利用直方图在精细的子空间上的小波系数逐步细化图像分割。分割算法的计算会与图像尺寸大小呈线性变化。

基于数学形态学的分割方法

     数学形态学是一种非线性滤波方法,能够用于抑制噪声、特性提取、边缘检测、图像分割等图像处理问题。数学形态学首先被用来处理二值图像,后来也被用来处理灰度图像,数学形态学的特色是能将复杂的形状进行分解,并将有意义的形状份量从无用的信息中提取出来。

    它的基本思想是利用一个称为结构元素的探针来收集图像的信息,当探针在图像中不断的移动时,不只可根据图像各个部分间的相互关系来了解图像的结构特征,并且利用数学形态学基本运算还能够构造出许多很是有效的图像处理与分析方法。其基本的形态运算是腐蚀与膨胀。腐蚀具备使目标缩小、目标内孔增大以及外部孤立噪声消除的效果;而膨胀是将图像中与目标物体接触的全部背景点合并到物体中的过程,结果是使目标增大、孔径缩小,能够增补目标中的空间,使其造成连通域。数学形态学中另外一对基本运算方法是开运算和闭运算。开运算具备消除图像是细小物体,并在物体影响纤细处分离物体和平滑较大物体边界的做用;闭运算具备填充物体影像内细小空间, 接邻近物体和平滑边界的做用。

数学形态学应用于图像分割,具备定位效果好、分割精度高、抗噪声性能好的特色。同时这种方法也有着自身的局限性:因为在图像处理的前期工做中,采用数学形态学的开(闭)运算,进行图像处理后,依然存在大量与目标不符的短线和孤立点;因为预处理工做的不完全,还须要进行一系列的基于点的开(闭)运算,所以运算速度明显降低。如何将数学形态学与其它方法综合运用以克服这些缺陷,将是数学形态学之后的工做方向。

from:https://blog.csdn.net/yangleo1987/article/details/53173753/

from:https://blog.csdn.net/u012116229/article/details/44774975