图像分割算法概述
图像分割算法图像分割指的是根据灰度、颜色、纹理和形状等特征把图像划分成若干互不交迭的区域,并使这些特征在同一区域内呈现出相似性,而在不同区域间呈现出明显的差异性。它是由图像处理到图像分析的关键步骤。图像分割方法主要分以下几类:基于阈值的分割;基于边缘的分割;基于区域的分割;一、基于阈值的分割(二值图像)阈值分割就是简单地用一个或几个阈值将图像的灰度直方图分成几个类,认为图像中灰度值在同一个灰度类内的像素属于同一个物体。阈值分割法主要有两个步骤:第一,确定进行正确分割的阈值;第二,将图像的所有像素的灰度级与阈值进行比较,以进行区域划分,达到目标与背景分离的目的。其基本原理的数学模型描述为:常见的阈值分割算法有:双峰法、最大类间方差法(OTSU)、迭代法、最大熵等。1.双峰法双峰法的基本思想:它认为图像由前景和背景组成,在灰度直方图上,前后二景都形成高峰,在双峰之间的最低谷处就是图像的阈值所在。适用范围:当前后景的对比较为强烈时,分割效果较好;否则基本无效。2.最大类间方差法(OTSU)最大类间方差法的基本思想:将待分割图像看作是由两类组成,一类是背景,一类是目标,用方差来衡量目标和背景之间的差别,使得目标和背景两类的类间方差最大的灰度级即认为是最佳阈值。最佳阈值分割公式:优点:选取出来的阈值非常理想,对各种情况的表现都较为良好。将目标误判为背景,或将背景误判为目标都将导致类间方差达不到最大值,换句话说就是分错的概率很小。缺点:类间方差法对噪音和目标大小十分敏感。迭代法迭代法基本思想:首先猜测一个初始阈值,然后再通过对图像的多次迭代计算对阈值进行改进的过程。重复地对图像进行阈值操作,将图像分割为对象类和背景类,然后来利用每一个类中的灰阶级别对阈值进行改进。 具体算法: 1.为全局阈值选择一个初始估计值T(图像的平均灰度)。 2.用T分割图像。产生两组像素:G1由灰度值大于T的像素组成,G2由小于等于T像素组成。 3.计算G1和G2像素的平均灰度值m1和m2; 4.计算一个新的阈值:T=(m1+m2)/2; 5.重复步骤2-4,直到连续迭代中的T值间的差小于一个预定义参数为止。最大熵法最大熵基本思想:熵是平均信息量的表征,根据信息论,熵的定义为:图像目标区域的熵:,图像背景区域的熵:其中:,最大熵法的最佳阈值公式:二、基于边缘的分割1.边缘的定义图像中灰度发生突变或不连续的微小区域(一组相连的像素集合),即是两个具有相对不同灰度值特性的区域的边界线。图像边缘有两个特征:方向和幅度。沿边缘走向,像素值变化比较平缓;沿垂直于边缘的走向,像素值则变化比较剧烈。一般常用一阶和二阶导数来描述和检测边缘。二阶微分:通过拉普拉斯来计算特点:二阶微分在亮的一边是正的,在暗的一边是负的。常数部分为零。用途:1)二次导数的符号,用于确定边上的像素是在亮的一边,还是暗的一边。2)0跨越(零交叉),确定边的准确位置。图像中的边缘可以通过对它们求导数来确定,而导数可利用微分算子来计算。梯度算子(Gradientoperators)函数f(x,y)在(x,y)处的梯度为一个向量:f=[f/x,f/y]T计算这个向量的大小为:|f|=mag(f)=[(f/x)2+(f/y)2]1/2近似为:|f||Gx|+|Gy|梯度的方向角为: (x,y)=arctan(Gy/Gx)对于数字图像来说,通常是利用差分来近似微分。(1)Roberts算子是一个交叉算子,其在点(i,j)的梯度幅值表示为:用卷积模板可表示为:其中,Sx和Sy分别为:(2)Sobel算子Sobel算子在点(i,j)的梯度幅值表示为:简化的卷积模板表示形式为:其中,sx和sy分别x方向和y方向梯度的模版形式:Gx=(z7+2z8+z9)-(z1+2z2+z3)Gy=(z3+2z6+z9)-(z1+2z4+z7)(3)Prewitt算子Prewitt算子在点(i,j)的梯度幅值表示为:简化的卷积模板表示形式为:其中,sx和sy分别x方向和y方向梯度的模版形式:Gx=(z7+z8+z9)-(z1+z2+z3)Gy=(z3+z6+z9)-(z1+z4+z7)(4)拉普拉斯二阶导数算子:也即有:同理有:所以有:对应的集中模板为:三、基于区域的分割此类方法是将图像按照相似性准则分成不同的区域,主要包括种子区域生长法、区域分裂合并法和分水岭法等几种类型。1.区域生长区域生长的基本思想是将具有相似性质的像素集合起来构成区域。具体先对每个需要分割的区域找一个种子像素作为生长的起点,然后将种子像素周围邻域中与种子像素有相同或相似性质的像素(根据某种事先确定的生长或相似准则来判定)合并到种子像素所在的区域中。将这些新像素当作新的种子像素继续进行上面的过程,直到再
原创力文档

文档评论(0)