一种快速超像素分割方法与流程

文档序号:15449491发布日期:2018-09-14 23:47阅读:3296来源:国知局

本发明涉及数字图像处理领域,具体是一种快速超像素分割方法;



背景技术:

超像素分割技术是一种图像预处理技术,它将图像中的像素根据其颜色、纹理等特征的相似程度进行聚类,将超像素代替像素作为最小处理单元,可以减少图像中的冗余信息,极大改善很多图像处理算法的速度,对数字图像处理领域的发展具有重要意义。

目前已有的超像素分割方法主要可以分为两类:自上而下的图割法和自下而上的聚类法,第一种方法通过迭代分割图像使能量函数最小化从而确定超像素,比较典型的方法如shi等人提出的normalizedcuts超像素分割方法,该方法用到的能量函数是根据图像的轮廓以及纹理特征设计,但该方法已被证明是一种np-hard问题,算法的复杂度较高,不适用于处理大尺寸图像;第二种方法的思想是首先初始化一定数量的超像素中心点,然后通过迭代更新聚类结果直至满足一定收敛条件,从而确定超像素,如achanta提出的一种局部迭代聚类算法slic,它首先在图像上初始化多个均匀分布的聚类中心,然后根据像素的颜色和空间距离对图像上的所有像素进行分类,然后不断更新聚类中心,重新聚类,直至满足终止条件来形成超像素。

目前已有的超像素分割方法为了保证较为精准的超像素分割效果,需要付出较大的时间代价,这些并不适用于那些对算法效率有较高要求的图像分析问题。



技术实现要素:

为了解决现有技术中存在的上述技术问题,本发明提出了一种快速超像素分割方法,它是一种自上而下的迭代分割方法,该方法通过分析区域像素集的颜色一致性来判断区域的可分割性。本发明包括如下步骤:

步骤1:根据公式(1)获得原始彩图对应的灰度图igray

其中,igray(x,y)表示图像igray上坐标为(x,y)的像素灰度,ir(x,y)表示图像ir上坐标为(x,y)的像素灰度,ig(x,y)表示图像ig上坐标为(x,y)的像素灰度,ib(x,y)表示图像ib上坐标为(x,y)的像素灰度;ir、ig、ib分别为原始彩色图像的红、绿、蓝通道图像;

步骤2:根据灰度图igray计算超像素区域集s,具体步骤如下:

步骤2.1:初始化待分割区域集d={d0},其中,d0=(0,0,igray.w,igray.h),igray.w、igray.h分别表示igray的宽度和高度;

步骤2.2:从待分割区域d中任意选取一个区域dt,记区域dt对应的两个颜色一致性参数分别为k1和k2;其中,k1等于图像igray上位于直线段l1上的所有像素的灰度均方差,k2等于图像igray上位于直线段l2上的所有像素的灰度均方差,l1为满足起点为(dt.x0,dt.y0)且终点为(dt.x0+dt.w-1,dt.y0+dt.h-1)的直线段,l2为满足起点为(dt.x0+dt.w-1,dt.y0)且终点为(dt.x01,dt.y0+dt.h-1)的直线段,dt.x0、dt.y0、dt.w、dt.h分别表示区域dt的起点横坐标、起点纵坐标、宽度、高度;

步骤2.3:若k1>z,则找到直线l1上对应梯度最大的像素点,记为分割点p,且记区域dt为一类分割区域;若k2>z,则找到直线l2上对应梯度最大的像素点,记为分割点p,且记区域dt为一类分割区域;否则若dt.w>f或dt.h>f,找到坐标位于的像素点,记为分割点p,且记区域dt为二类分割区域;否则区域dt为一个超像素区域,将其添加到超像素区域集s中;其中,位于直线l1上的像素梯度根据公式(2)进行计算,ci表示直线l1上坐标为(xi,yi)的像素梯度,位于直线l2上的像素梯度根据公式(3)进行计算,cj表示直线l2上坐标为(xj,yj)的像素梯度,z表示颜色一致性系数的最大阈值,o表示超像素区域边长的最大阈值;

其中,g(x,y)表示图像igray上坐标为(x,y)的像素的灰度值,(xi-1,yi-1)、(xi+1,yi+1)为直线l1上距离坐标(xi,yi)最近的两个坐标,(xj-1,yj-1)、(xj+1,yj+1)为直线l2上距离坐标(xj,yj)最近的两个坐标;

步骤2.4:若区域dt为一类分割区域,则以过分割点p的水平直线和垂直直线为区域分割线对区域dt进行分割,并将分割得到的四个子区域添加到集合d中;若区域dt为二类分割区域且dt.w>f,则以过分割点p的垂直直线为区域分割线对区域dt进行分割,并将分割得到的两个子区域添加到集合d中;若区域dt为二类分割区域且dt.h>f,则以过分割点p的水平直线为区域分割线对区域dt进行分割,并将分割得到的两个子区域添加到集合d中;

步骤2.5:将区域dt从集合d中剔除;若集合d不为空,返回步骤2.2执行;否则表示已经得到超像素区域集s。

本发明的优点是:不同于已有超像素方法全局性的像素分析过程,本发明仅根据分割图像对角线上的像素集对区域的可分割性进行分析,同时找到对角线上对应梯度值最大点作为图像的分割点进行图像分割,得到超像素集,该方法可以实现简单图像较好的图像分割效果,同时算法的效率较快,可以用于处理某些对图像分割精准度不高,但效率要求较高图像问题。

附图说明

图1:用于进行说明的实例图。

图2:图像最终的分割结果示意图。

具体实施方式

下面结合具体实例,对本发明(一种快速超像素分割方法)实施的过程进行详细的说明,且本实例中用来说明的图像如图1所示,且图像长度为155px,宽度为146px。

步骤1:根据公式(1)获得原始彩图对应的灰度图igray

其中,igray(x,y)表示图像igray上坐标为(x,y)的像素灰度,ir(x,y)表示图像ir上坐标为(x,y)的像素灰度,ig(x,y)表示图像ig上坐标为(x,y)的像素灰度,ib(x,y)表示图像ib上坐标为(x,y)的像素灰度;ir、ig、ib分别为原始彩色图像的红、绿、蓝通道图像;

步骤2:根据灰度图igray计算超像素区域集s,具体步骤如下:

步骤2.1:初始化待分割区域集d={d0},其中,d0=(0,0,igray.w,igray.h),igray.w、igray.h分别表示igray的宽度和高度;

步骤2.2:从待分割区域d中任意选取一个区域dt,记区域dt对应的两个颜色一致性参数分别为k1和k2;其中,k1等于图像igray上位于直线段l1上的所有像素的灰度均方差,k2等于图像igray上位于直线段l2上的所有像素的灰度均方差,l1为满足起点为(dt.x0,dt.y0)且终点为(dt.x0+dt.w-1,dt.y0+dt.h-1)的直线段,l2为满足起点为(dt.x0+dt.w-1,dt.y0)且终点为(dt.x01,dt.y0+dt.h-1)的直线段,dt.x0、dt.y0、dt.w、dt.h分别表示区域dt的起点横坐标、起点纵坐标、宽度、高度;

步骤2.3:若k1>z,则找到直线l1上对应梯度最大的像素点,记为分割点p,且记区域dt为一类分割区域;若k2>z,则找到直线l2上对应梯度最大的像素点,记为分割点p,且记区域dt为一类分割区域;否则若dt.w>f或dt.h>f,找到坐标位于的像素点,记为分割点p,且记区域dt为二类分割区域;否则区域dt为一个超像素区域,将其添加到超像素区域集s中;其中,位于直线l1上的像素梯度根据公式(2)进行计算,ci表示直线l1上坐标为(xi,yi)的像素梯度,位于直线l2上的像素梯度根据公式(3)进行计算,cj表示直线l2上坐标为(xj,yj)的像素梯度,z表示颜色一致性系数的最大阈值,o表示超像素区域边长的最大阈值;

其中,g(x,y)表示图像igray上坐标为(x,y)的像素的灰度值,(xi-1,yi-1)、(xi+1,yi+1)为直线l1上距离坐标(xi,yi)最近的两个坐标,(xj-1,yj-1)、(xj+1,yj+1)为直线l2上距离坐标(xj,yj)最近的两个坐标;

步骤2.4:若区域dt为一类分割区域,则以过分割点p的水平直线和垂直直线为区域分割线对区域dt进行分割,并将分割得到的四个子区域添加到集合d中;若区域dt为二类分割区域且dt.w>f,则以过分割点p的垂直直线为区域分割线对区域dt进行分割,并将分割得到的两个子区域添加到集合d中;若区域dt为二类分割区域且dt.h>f,则以过分割点p的水平直线为区域分割线对区域dt进行分割,并将分割得到的两个子区域添加到集合d中;

步骤2.5:将区域dt从集合d中剔除;若集合d不为空,返回步骤2.2执行;否则表示已经得到超像素区域集s。

根据如上步骤得到图1的分割结果如图2所示,图2中每个子区域代表一个超像素块。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1