一种图像边界提取方法和系统的利记博彩app
【技术领域】
[0001] 本发明涉及图像处理技术领域,特别是涉及一种图像边界提取方法和系统。
【背景技术】
[0002] 图片中灰度值变化比较剧烈的地方,就定义为边界。边界提取,指数字图像处理 中,对于图片轮廓的一个处理。一般认为边界提取是要保留图像的灰度变化剧烈的区域,这 从数学上看,最直观的方法就是微分(对于数字图像来说就是差分),在信号处理的角度来 看,也可以说是用高通滤波器,即保留高频信号。
[0003] 卡尼边界滤波器是富有盛名的图像边界提取算法,其主要包括如下几个步骤:去 噪声、获取梯度图像、计算梯度方向和强度、获取强与弱边界像素点,以及,边界连接。
[0004] 边界连接的标准做法是初始化一个栈,首先所有强边界像素点压入栈,然后出栈 第一个元素,判断其8个邻居是否存在弱边界像素点,如果存在,则将其置为强边界像素点 并压入栈。入过栈的元素不能再压入栈。重复这个过程直到栈为空。这个过程本质非常复 杂,对于每一个出栈的元素,需要计算其坐标,然后获得图像指针的偏移量,再取出其所有8 个邻居逐个判断,并进行相应的操作,致使边界连接的速度较慢。
【发明内容】
[0005] 本发明提供一种图像边界提取方法和系统,以解决现有的图像边界提取方案中, 边界连接的速度慢的问题。
[0006] 为了解决上述问题,本发明公开了一种图像边界提取方法,包括:
[0007] 获取到图像的每一个像素点的梯度强度和梯度方向;
[0008] 根据所述每一个像素点的梯度强度和梯度方向确定出所述图像的强边界像素点 和弱边界像素点;
[0009] 以行为单位,分别按照从上向下的顺序和从下向上的顺序,根据所述强边界像素 点和弱边界像素点确定得到第二卡尼边界像素点;
[0010] 依据所述强边界像素点和第二卡尼边界像素点,提取出所述图像的边界。
[0011] 相应地,本发明还公开了一种图像边界提取系统,包括:
[0012] 强度和方向获取模块,用于获取到图像的每一个像素点的梯度强度和梯度方向;
[0013] 强弱边界像素点确定模块,用于根据所述每一个像素点的梯度强度和梯度方向确 定出所述图像的强边界像素点和弱边界像素点;
[0014] 边界提取模块,用于以行为单位,分别按照从上向下的顺序和从下向上的顺序,根 据所述强边界像素点和弱边界像素点确定得到第二卡尼边界像素点,依据所述强边界像素 点和第二卡尼边界像素点,提取出所述图像的边界。
[0015] 与【背景技术】相比,本发明包括以下优点:
[0016] 在获取到图像的每一个像素点的梯度强度和梯度方向之后,根据每一个像素点的 梯度强度和梯度方向确定出图像的强边界像素点和弱边界像素点,再以行为单位,分别按 照从上向下的顺序和从下向上的顺序,根据强边界像素点和弱边界像素点确定得到第二卡 尼边界像素点,依据强边界像素点和第二卡尼边界像素点,提取出图像的边界,实现了边界 连接的并行化,提高了卡尼边界连接的速度。
【附图说明】
[0017] 图1是本发明实施例一中一种图像边界提取方法的步骤流程图;
[0018] 图2是本发明实施例二中一种图像边界提取方法的步骤流程图;
[0019] 图3是本发明实施例三中一种图像边界提取系统的结构示意图。
【具体实施方式】
[0020] 为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实 施方式对本发明作进一步详细的说明。
[0021] 下面通过列举几个具体的实施例详细介绍本发明提供的一种图像边界提取方法 和系统。
[0022] 实施例一
[0023] 详细介绍本发明实施例提供的一种图像边界提取方法。
[0024] 参照图1,示出了本发明实施例中一种图像边界提取方法的步骤流程图。
[0025] 步骤100,对图像进行低通滤波以去除噪声的影响。
[0026] 低通滤波一般选用高斯滤波器,它的表达式为
其中, (x,y)为像素点的坐标,G(x,y)为经过高斯滤波后的值,σ为标准偏差,它是一个二维滤波 器,但因为它是行列可分离的,所以可以通过行列分离的方式实现,即先进行一次水平高斯 低通滤波,其结果再经过一次垂直高斯滤波,即得到高斯滤波图像。当σ为时,5抽头 高斯滤波器可以表示为{1,13, 36, 13, 1}/64。去除噪声后的图像可以表示为第一步的结果 表不为Ιι (X,y)。
[0027] 步骤102,获取经过去除噪声之后的图像的每一个像素点的水平梯度图像和垂直 梯度图像。
[0028] 使用一个一维边界滤波器对低通滤波图像Mx,y)进行一次水平滤波得到水平 梯度图像Ih (X,y),然后再对h (X,y)进行一次垂直滤波得到垂直梯度图像Iv (X,y)。一 维边界滤波器可以选用高斯滤波器的导数,如当σ为·^时,5抽头高斯导数滤波器为 {-3, -29, 0, 29, 3}/32。本步骤也可以选用其他边界滤波器,如sobel滤波器等。
[0029] 步骤104,根据每一个像素点的水平梯度图像和垂直梯度图像确定得到每一个像 素点的梯度强度和梯度方向。
[0030] 获得图像梯度强度 Ig (X,y) = abs (Ih (X,y)) +abs (Iv (X,y))。如果 Ih (X,y)和 Iv(x,y)符号相反,那么设置sign(x,y) =0,否则设置sign(x,y) = 1。然后计算图像梯度 方向
[0031]
[0032] 在实际实现中,abs(Ih(x, y)) Xtan( π /8)可以计算为 abs(Ih(x, y)) X27146 > > 16,在x86体系结构下可以用一条指令完成;而abs(Ih(x, y)) Xtan(3 Jr /8)计算为 (abs(Ih(x,y))X27146 >> 16) + (abs(Ih(x,y)) << 1)。其中,〈〈是左移位,而》是右移 位。
[0033] 设置高阈值Th和低阈值T :。通常设置Th= 2XT :。初始化图像边界值IJx,y) 为4,或其他大于1的数。然后当一个像素点(x,y)的梯度强度在其梯度方向上为极值时, 设置
。一个像素点(x,y)的梯度强度在其梯度方向上为极大 值,即如果一个坐标为(X,y)的像素点是45度边界像素点,那么
且
;如果一个坐标为(X,y)的像素点是135度边界像素点,那么
;如果一个坐标为(X,y)的像素点是水 平边界像素点,那么_ _
;如果一个坐标为(x,y) 的像素点是垂直边界像素点,那么
[0034] 步骤106,根据每一个像素点的梯度强度和梯度方向确定出图像的强边界像素点 和弱边界像素点。
[0035] 其中,梯度强度大于一预设的低阈值,且梯度强度在梯度方向上是极大值的像素 点为弱边界像素点;梯度强度大于一预设的高阈值,且梯度强度在梯度方向上是极大值的 像素点为强边界像素点;所述预设的低阈值小于所述预设的高阈值。
[0036] 步骤108,以行为单位,分别按照从上向下的顺序和从下向上的顺序,根据所述强 边界像素点和弱边界像素点确定得到第二卡尼边界像素点;依据所述强边界像素点和第二 卡尼边界像素点,提取出所述图像的边界。
[0037] 所述步骤108可以分为如下两步执行,包括从上向下的顺序即从上向下连接部分 和从下向上的顺序即从下向上连接部分,其中,每步均分为垂直连接部分和水平连接部分。 通常,两步执行一次即可,也可以根据实际需要执行多次。
[0038] 首先介绍从上向下连接部分,它从第一行开始处理,然后第二行,一直到最后一行 结束。对于每一行的处理又分为两个部分,即首先对它执行垂直连接,然后对它执行水平连 接。
[0039] 垂直连接部分。首先针对当前行中的任意一个像素点,如果它的上相邻3个像 素点中存在至少一个为强边界像素点,且当前像素点是弱边界像素点,那么置当前像素点 为强边界像素点。此过程可以用单指令多数据流(Single Instruction Multiple Data, S頂D)指令并行实现。
[0040] 水平连接部分。针对当前行中任意一个弱边界像素点,如果它能在当前行中通过 连续的弱边界像素点连接到强边界像素点,那么置当前像素点为强边界像素点。此过程可 以通过长减法实现。先正向减法,对当前行从左向右进行连接;再逆向减法,从当前行从右 向左进行连接。长减法的工作原理举例如下:对于一个连续的图像边界值IJx,y)像素向 量vexe,让它和一个为1的向量比较,然后将为真的位置置为2,设此向量为vexn,然后用向 量vexe减去向量vexn,结果为向量vexr,将向