基于水流法的宽线检测算法

文档序号:10577394阅读:412来源:国知局
基于水流法的宽线检测算法
【专利摘要】本发明属于计算机数字图像处理技术领域,具体为一种基于水流法的宽线检测算法。其步骤为:构建地貌海拔图:将输入的彩色图像转化为灰度图像,采用导向滤波对灰度图像进行边缘保留的平滑处理,以图像灰度信息作为海拔数据构建地貌海拔图;水流法获取宽线响应图:计算平滑后图像的粗糙度图像,通过Otsu选取粗糙度较大的像素点作为候选水分子,在地貌海拔图上利用水流法得到宽线响应图,水流法坡阈值和几何阈值参数自适应选取;宽线提取:计算输入图像的暗度信息或明度信息来消除错误的线响应,通过一些形态学操作进行平滑处理,获得最终宽线检测结果。本发明方法能够检测出线的厚度,能自适应地检测出纹理形状、厚度各异的宽线,可极大的提高宽线检测的准确度。
【专利说明】
基于水流法的宽线检测算法
技术领域
[0001] 本发明属于计算机数字图像处理技术领域,具体涉及一种基于水流法的宽线检测 算法。
【背景技术】
[0002] 线检测已经被广泛应用在中医舌诊、生物特征检测和航拍图像中道路和河流检测 等。然而目前大多数线检测方法忽略了线厚度,对噪声敏感,难以适应纹理形状和厚度各异 的线检测。传统的边缘检测算法,如Canny算子,仅仅提取宽线的边缘,没有考虑线的厚度。 还有一些基于边缘的检测算法,把宽线看成由两条平行边缘组合成的目标,这种方法首先 在图像中找出所有边缘信息,然后通过分析这些边缘信息来找出需要的目标边缘,然而这 种方法忽略了线的厚度,线的厚度信息在许多应用中是非常有价值的。
[0003] -种流行的线检测算法是将线当作山脊或山谷,采用微分的几何性质来检测线。 然而二阶导数被使用,使得这种方法对噪声是敏感的。另一种广泛被使用的线检测算法为 基于区域估计的方法,如WLD线检测算子、LWF线检测算子。基于区域估计的线检测算法的目 标旨在提取出整个宽线。WLD线检测算子是基于各向同性的线响应核来提取出宽线。LWF线 检测算子是基于密度估计核来检测宽线。这种基于区域估计的线检测算法对噪声是鲁棒 的,由于没有采用微分几何性质。WLD线检测算子能提取出整个宽线,适应于不同厚度的宽 线检测。但是由于WLD线检测算子是基于圆形核的各向同性估计,易受周围相似灰度值的线 和区域的影响。LWF线检测算子具有实时和对噪声鲁棒的优势,然而它仅仅只能检测出小目 标,并且没有提供自适应地参数选择方法,使得它的通用性比较弱。
[0004] 为了解决这些问题,本发明提出了一种基于水流法的宽线检测算法。首先,导向滤 波被用来平滑输入的灰度图像,导向滤波具有边缘保留的优点;然后,以滤波后图像灰度信 息作为海拔数据构建地貌海拔图,在地貌海拔图上采用水流法得到宽线响应图。为了优化 水流法,预先通过计算图像的粗糙度信息来选取候选水分子像素;最后,采用暗度信息或明 度信息来消除错误线响应,一些形态学操作被用来提取最终的宽线检测结果。此外,本发明 也提出了 一种参数自适应选择的方法,以至于水流法是鲁棒的。

【发明内容】

[0005] 本发明的目的在于克服以上技术中的缺陷,提供一种鲁棒的、准确的、适应性强的 基于水流法的宽线检测算法。
[0006] 本发明提出的宽线检测算法,是基于水流模型和地貌海拔模型的宽线提取的方 法。灰度图像中每个候选像素点作为一个水分子。水分子总是往海拔低的方向流动,当水分 子遇到暗沟时,将停止流动。暗沟可以储藏水,当暗沟储满水后,即暗沟被填平了,再有水分 子流经时,将不会被储藏而直接流过,当图像中没有余留暗沟时,水分子将流出图像。本发 明提出的方法能检测出线的厚度,对噪声鲁棒,能够适应纹理形状和厚度各异的线检测。
[0007] 本发明提出的宽线检测算法,是一种基于水流模型和地貌海拔模型的宽线提取的 方法,其具体步骤如下:
[0008] (1)、构建地貌海拔图;
[0009] (2)、水流法获取宽线响应图;
[0010] (3)、宽线提取。
[0011] 上述步骤(1)所述的构建地貌海拔图,其具体步骤如下:
[0012] (11)、输入原始彩色图像,将其转化为灰度图像;
[0013] (12)、采用导向滤波对灰度图像进行边缘保留的平滑处理,获得滤波后的图像I;
[0014] (13)、以图像灰度信息作为海拔数据构建地貌海拔图I;
[0015] 上述步骤(2)所述的水流法获取宽线响应图,其具体步骤如下:
[0016] (21)、计算平滑后图像I的粗糙度图像,通过Otsu选取候选水分子像素,其具体步 骤如下:
[0017] (211)、计算平滑后灰度图像I的粗糙度信息:在图像I上,对于每一个像素 k,它的 粗糙度Rk是以像素 k为中心的局部窗口 Wk内像素灰度值的标准方差〇k:
[0018] Rk = 〇k
[0019] 其中,局部窗口 wk的半径r,为了完全检测出整个宽线,需要满足:r要大于线的宽 度w-半,即:r>w/2;
[0020] (212)、利用Otsu对粗糙度图像进行二值化处理,选取粗糙度较大的(二值化图像 中白色的)像素作为候选水分子;
[0021] (22)、在地貌海拔图I上采用水流法得到宽线响应图L,其具体步骤如下:
[0022] (221)、在地貌海拔图I,采用水流法得到暗线响应图L,其具体步骤如下:
[0023] (2211)、采用8邻域系统;
[0024] (2212)、定义水流模型参数和变量,其具体步骤如下:
[0025] (22121)、定义当前水分子像素(XQ,yQ)和其8邻域像素间的灰度差值为D[8] :
[0026] D[i] = I(xo,yo)-I(xi,yi), Vi e 13
[0027] 其中,(Xl,yi)为当前水分子像素8邻域系统中i方向上的像素坐标,Ω为当前像素8 邻域方向集合,BP:
[0028] Ω ={Northwest,North,Northeast,East, Southeast, South, Southwest,West};
[0029] (22122)、确定当前水分子像素(xo,yo)的流动方向:
[0030]
[0031] (22123)、确定当前水分子像素(XQ,yQ)与其8邻域的最大差值:
[0032]
[0033] (22124)、确定当前水分子像素(XQ,yQ)与其8邻域差值的最大绝对值:
[0034]
[0035] (2213 )、水流法获得暗线响应图L,它的灰度值初始化为0,定义坡阈值为T,对每个 候选水分子像素独立执行如下水流算法,水流算法的具体步骤如下:
[0036] (22131)、如果md<T且当前水分子像素(XQ,yQ)未流到地貌海拔图I的边界,那么检 测到当前水分子像素遇到暗沟,停止流动,并填补暗沟,为一个暗线响应点:
[0037] 填补暗沟:I(xq,y〇) = I(xq,y〇)+mad,
[0038] 更新暗线响应图 L:L(XQ,yo) =L(xo,yo)+mad;
[0039] (22132)、否则如果当前水分子像素(XQ,yo)流动地貌海拔图I边界,那么直接流出 地貌海拔图I;
[0040] (22133)、否则当前水分子像素(XQ,yQ)继续朝着其8邻域灰度差值最大的方向流 动,即f方向;
[0041] (222)、在地貌海拔图I,采用水流法得到明线响应图L,其具体步骤如下:
[0042] (2221)、采用水流法,假设水分子总是往海拔高的方向流动;
[0043] (2222)、与暗线检测方法类似,不同点主要体现在以下两方面:
[0044] (22221)、当前水分子像素(XQ,yQ)与其8邻域像素的灰度差值调整为:
[0045] D |.t] = /(x,·, yL) - I(x0, v〇), Vi G /2
[0046] (22222)、消除亮脊区域:I(xo,yo) = I(xq,yo)_mad
[0047] (23)、坡阈值T和几何阈值g参数自适应选取,其具体步骤如下:
[0048] (231)、采用统计学方法对坡阈值T进行自适应选择:为了检测宽线,须满足TS0, 首先求出每个候选水分子像素与其8邻域内灰度差值的绝对值的最大值mad,然后采用直方 图进行统计分析,直方图的横纵坐标分别为mad值i和其相应的像素数η,设置T:
[0049]
[0050] ,Nc为候选水分子像素的总数;
[0051] (232)、采用统计学方法对几何阈值g进行自适应选择:几何阈值g用来消除线响应 图中较暗的噪声点和线外围较暗的环带区域,利用线响应图L非零像素来创建二维直方图, 直方图的横纵坐标分别为灰度值i和其相应的像素数n,舍去30%灰度较低的像素,得到g:
[0052]
[0053] 丨为线响应图L中非零像素的总数;
[0054]上述步骤(3)所述的宽线提取,其具体步骤如下:
[0055] (31)、对于暗线检测,计算滤波后图像的暗度信息,消除错误的线响应,其具体步 骤如下:
[0056] (311)、暗度计算:在滤波后的图像I上,对于每一个像素 X,它的暗度是以像素 X为 中心的局部窗口 WX内像素灰度值的最小值:
[0057]
[0058] 其中局部窗口 Wx的半径r;
[0059] (312)、采用Otsu对暗度图像进行二值化处理;
[0060] (313 )、结合暗度二值化图像来消除暗线响应图L中错误的线响应;
[0061] (32)、对于明线检测,计算滤波后图像的明度信息,消除错误的线响应,其具体步 骤如下:
[0062] (321)、明度计算:在滤波后的图像I上,对于每一个像素 X,它的明度是以像素 X为 中心的局部窗口 WX内像素灰度值的最大值:
[0063]
[0064] 其中局部窗口 wx的半径r;
[0065] (322)、采用Otsu对明度图像进行二值化处理;
[0066] (323 )、结合明度二值化图像来消除明线响应图L中错误的线响应;
[0067] (33)、对线响应进行一些形态学操作,获得最终宽线检测结果。
[0068] 与现有技术相比,本发明的有益效果为:
[0069] 1、本发明提出了一个新颖的基于水流模型的方法来鲁棒的提取宽线目标,极大的 提高了宽线检测的准确度;
[0070] 2、本发明提出的基于水流法的宽线检测算法能够检测出线的厚度,能自适应地检 测出纹理形状、厚度各异的宽线;
[0071] 3、本发明提出了一种模型参数自适应选择的方法,使得宽线检测算法是鲁棒的;
[0072] 4、本发明有助于提高宽线检测应用的准确率,如中医舌裂纹检测,航拍图像道路 和河流检测,树枝和树叶纹理检测、掌纹检测、卡通图像纹理检测和生物特征纹理检测等应 用。
【附图说明】
[0073] 图1为本发明的基于水流法的宽线检测算法的总流程框图。
[0074] 图2为图1中步骤(1)所述的地貌海拔图构建的流程图。
[0075] 图3为图1中步骤(2)所述的水流法获取宽线响应图的流程图。
[0076] 图4为图1中步骤(3)所述的宽线提取的流程图。
[0077] 图5为本发明的基于水流法的宽线检测算法在不同应用下的宽线检测结果。
【具体实施方式】
[0078]下面结合附图和实施例对本发明作进一步详细说明。
[0079] 参照图1,本发明的基于水流法的宽线检测算法,其具体步骤如下:
[0080] (1 )、地貌海拔图构建,如图2所示,其具体步骤如下:
[0081] (11)、输入原始彩色图像如图5(a),将其转化为灰度图像;
[0082] (12)、采用导向滤波对灰度图像进行边缘保留的平滑处理,获得滤波后的图像I: 以灰度图像作为导向图对其采用导向滤波进行平滑处理,导向滤波的两个参数设置:局部 窗口半径r = 5,正则系数e =〇.〇〇1;
[0083] (13)、以图像灰度信息作为海拔数据构建地貌海拔图I:滤波后灰度图像I的灰度 信息作为海拔数据,灰度越高海拔越高,灰度越低海拔越低;
[0084] (2)、水流法获取宽线响应图,如图3所示,其具体步骤如下:
[0085] (21)、计算平滑后图像I的粗糙度图像,通过Otsu选取候选水分子像素,其具体步 骤如下:
[0086] (211)、计算平滑后灰度图像I的粗糙度信息:在图像I上,对于每一个像素 k,它的 粗糙度Rk是以像素 k为中心的局部窗口 Wk内像素灰度值的标准方差〇k:
[0087] 其中局部窗口 wk的半径r,为了完全检测出整个宽线,需要满足:r要大于线的宽度 w-半,即:r>w/2,在实验中,可以设置一个较大的r,即:r = 9;
[0088] (212)、利用Otsu对粗糙度图像进行二值化处理,选取粗糙度较大的(二值化图像 中白色的)像素作为候选水分子;
[0089] (22)、在地貌海拔图I上采用水流法得到宽线响应图L,其具体步骤如下:
[0090] (221)、在地貌海拔图I,采用水流法得到暗线响应图L,其具体步骤如下:
[0091] (2211)、采用8邻域系统;
[0092] (2212)、定义水流模型参数和变量,其具体步骤如下:
[0093] (22121)、定义当前水分子像素(XQ,yQ)和其8邻域像素间的灰度差值为D[8] :
[0094] D Li] = l(x0, y0) - / (xb y;), ¥? G Ω
[0095] 其中,(Xl,yi)为当前水分子像素8邻域系统中i方向上的像素坐标,Ω为当前像素8 邻域方向集合,BP:
[0096] Ω ={Northwest,North,Northeast,East, Southeast, South, Southwest,West};
[0097] (22122)、确定当前水分子像素(XQ,yQ)的流动方向:
[0098] f = argmaxD[i]
[0099] (22123)、确定当前水分子像素(XQ,yQ)与其8邻域的最大差值:
[0100] md = maxD[i]
[0101] (22124)、确定当前水分子像素(XQ,yQ)与其8邻域差值的最大绝对值:
[0102] mad = rpgx
[0103] (2213)、水流法获得暗线响应图L,它的灰度值初始化为0,定义坡阈值为T,对每个 候选水分子像素独立执行如下水流算法,水流算法的具体步骤如下:
[0104] (22131)、如果md<T且当前水分子像素(XQ,yQ)未流到地貌海拔图I的边界,那么检 测到当前水分子像素遇到暗沟,停止流动,并填补暗沟,为一个暗线响应点:
[0105] 填补暗沟:I(xq,y〇) = I(xq,y〇)+mad,
[0106] 更新暗线响应图 L: L(xq,yo) =L(xq,yo)+mad;
[0107] (22132)、否则如果当前水分子像素(xo, yo)流动地貌海拔图I边界,那么直接流出 地貌海拔图I;
[0108] (22133)、否则当前水分子像素(XQ,yQ)继续朝着其8邻域灰度差值最大的方向流 动,即f方向;
[0109] (222)、在地貌海拔图I,采用水流法得到明线响应图L,其具体步骤如下:
[0110] (2221)、采用水流法,假设水分子总是往海拔高的方向流动;
[0111] (2222)、与暗线检测方法类似,不同点主要体现在以下两方面:
[0112] (22221)、当前水分子像素(X〇,yQ)与其8邻域像素的灰度差值调整为:
[0113] Dltj = KxllJd - i(xa,y〇), Vi e Ω
[0114] (22222)、消除亮脊区域:I(x0,yo) = I(x0,yo)_mad
[0115] (23)、坡阈值T和几何阈值g参数自适应选取,其具体步骤如下:
[0116] (231)、采用统计学方法对坡阈值T进行自适应选择:为了检测宽线,须满足TS0, 首先求出每个候选水分子像素与其8邻域内灰度差值的绝对值的最大值mad,然后采用直方 图进行统计分析,直方图的横纵坐标分别为mad值i和其相应的像素数η,设置T:
[0117] Τ = _Τ。
[0118] 其
为候选水分子像素的总数;
[0119] (232)、采用统计学方法对几何阈值g进行自适应选择:几何阈值g用来消除线响应 图中较暗的噪声点和线外围较暗的环带区域,利用线响应图L非零像素来创建二维直方图, 直方图的横纵坐标分别为灰度值i和其相应的像素数n,舍去30%灰度较低的像素,得到g:
[0120]
[0121] ,N为线响应图L中非零像素的总数;
[0122] (3)、宽线提取,如图4所示,其具体步骤如下:
[0123] (31)、对于暗线检测,计算滤波后图像的暗度信息,消除错误的线响应,其具体步 骤如下:
[0124] (311)、暗度计算:在滤波后的图像I上,对于每一个像素 X,它的暗度是以像素 X为 中心、的??·??窗* I~I Wv出Y兔查1 i//瘡^吉?Α福? /丨、Y吉.
[0125]
[0126] 其中局部窗口Wx的半径r,在实验中,设置r = 7;
[0127] (312)、采用Otsu对暗度图像进行二值化处理;
[0128] (313)、结合暗度二值化图像来消除暗线响应图L中错误的线响应;
[0129] (32)、对于明线检测,计算滤波后图像的明度信息,消除错误的线响应,其具体步 骤如下:
[0130] (321)、明度计算:在滤波后的图像I上,对于每一个像素 X,它的明度是以像素 X为 中心的局部窗口 WX内像素灰度倌的最大倌:
[0131]
[0132] 其中局部窗口 Wx的半径1~,在实验中,设置r = 7;
[0133] (322)、采用Otsu对明度图像进行二值化处理;
[0134] (323 )、结合明度二值化图像来消除明线响应图L中错误的线响应;
[0135] (33)、对线响应进行一些形态学操作,获得最终宽线检测结果,如图5(b)所示。
【主权项】
1. 一种基于水流法的宽线检测算法,其特征在于,具体步骤如下: (1)、构建地貌海拔图; (2 )、水流法获取宽线响应图; (3)、宽线提取; 其中: 步骤(1)所述的构建地貌海拔图,具体过程如下: (11 )、输入原始彩色图像,将其转化为灰度图像; (12) 、采用导向滤波对灰度图像进行边缘保留的平滑处理,获得滤波后的图像/; (13) 、W图像灰度信息作为海拔数据构建地貌海拔图/; 步骤(2)所述的水流法获取宽线响应图,具体过程如下: (21) 、计算平滑后图像/的粗糖度图像,通过化SU选取候选水分子像素; (22) 、在地貌海拔图/上采用水流法得到宽线响应图 (23) 、坡阔值巧日几何阔值察参数自适应选取; 步骤(3)所述的宽线提取,具体过程如下: (31) 、对于暗线检测,计算滤波后图像的暗度信息,消除错误的线响应; (32) 、对于明线检测,计算滤波后图像的明度信息,消除错误的线响应; (33) 、对线响应进行一些形态学操作,获得最终宽线检测结果。2. 根据权利要求1所述的基于水流法的宽线检测算法,其特征在于,步骤(2)中所述计 算平滑后图像f的粗糖度图像,通过化SU选取候选水分子像素,其具体过程如下: (211) 、计算平滑后灰度图像/的粗糖度信息:在图像/上,对于每一个像素 A,它的粗糖 度是W像素巧3中必的局部窗0??内像素灰度值的标准方差馬: 技k 二 〇k 其中,局部窗口 $攝的半径r,为了完全检测出整个宽线,需要满足:r要大于线的宽度i 一半,即:Γ >陆7'2; (212) 、利用化SU对粗糖度图像进行二值化处理,选取粗糖度较大的像素作为候选水分 子。3. 根据权利要求1所述的基于水流法的宽线检测算法,其特征在于,步骤(2)中所述在 地貌海拔图/上采用水流法得到宽线响应图^其具体过程如下: (221) 、在地貌海拔图/,采用水流法得到暗线响应图 (222) 、在地貌海拔图/,采用水流法得到明线响应图Z。4. 根据权利要求3所述的基于水流法的宽线检测算法,其特征在于,步骤(221)中所述 在地貌海拔图/,采用水流法得到暗线响应图^其具体过程如下: (2211) 、采用8邻域系统; (2212) 、定义水流模型参数和变量; (2213 )、水流法获得暗线响应图Z,它的灰度值初始化为0,定义坡阔值为Γ,对每个候选 水分子像素独立执行水流算法; 其中,所述定义水流模型参数和变量的具体过程如下: (22121) 、定义当前水分子像素替%>觀)和其8邻域像素间的灰度差值为i:其中,撼为当前水分子像素8邻域系统中坊向上的像素坐标J为当前像素8邻域方 向集合,即: 二、-奸,巧〇;-化 iVorifo?打化按船 (22122) 、确定当前水分子像素轉φ装的流动方向:(22123) 、确定当前水分子像素(.抑,>'e)与其8邻域的最大差值:(22124 )、确定当前水分子像素{x〇>.转)与其8邻域差值的最大绝对值:所述水流法的具体过程如下: (22131) 、如果wd、;、T且当前水分子像素 G锦,>'〇)未流到地貌海拔图I的边界,那么检测 到当前水分子像素遇到暗沟,停止流动,并填补暗沟,为一个暗线响应点: 填补暗沟:/ (%,况)'心K尤召.,於)牛巧'说校;, 更新暗线响应图i:克動龄觀;裏:耗幻,狗;3率絳游i; (22132) 、否则如果当前水分子像素知),妍)流动地貌海拔图!边界,那么直接流出地貌 海拔图if; (22133 )、否则当前水分子像素〇旬,於,)继续朝着其8邻域灰度差值最大的方向流动,即f 方向。5. 根据权利要求3所述的基于水流法的宽线检测算法,其特征在于,步骤(222)中所述 在地貌海拔图/,采用水流法得到明线响应图^其具体过程如下: (2221) 、采用水流法,假设水分子总是往海拔高的方向流动; (2222) 、与暗线检测方法类似,不同点主要体现在如下两方面: (22221)、当前水分子像素与其8邻域像素的灰度差值调整为:(2222別、消除亮脊K域:.Π :龙奔,幻)? /(友白>y(;)…m抹茲。6. 根据权利要求1所述的基于水流法的宽线检测算法,其特征在于,步骤(2)中所述坡 阔值巧日几何阔值潑参数自适应选取,其具体过程如下: (231)、采用统计学方法对坡阔值f进行自适应选择:为了检测宽线,须满足r盛CI,首先 求出每个候选水分子像素与其8邻域内灰度差值的绝对值的最大值mad,然后采用直方图进 行统计分析,直方图的横纵坐标分别为mad值i和其相应的像素数η,设置Γ: Τ 二"To 其中:海e为候选水分子像素的总数; (232)、采用统计学方法对几何阔值該进行自适应选择:几何阔值潑用来消除线响应图 中较暗的噪声点和线外围较暗的环带区域,利用线响应图非零像素来创建二维直方图,直 方图的横纵坐标分别为灰度值i和其相应的像素数n,舍去30%灰度较低的像素,得到综: 鞋万排3 其中:Λ劝线响应图Z中非零像素的总数。7. 根据权利要求1所述的基于水流法的宽线检测算法,其特征在于,步骤(3)中所述对 于暗线检测,计算滤波后图像的暗度信息,消除错误的线响应,其具体过程如下: (311 )、暗度计算:在滤波后的图像/上,对于每一个像素 X,它的暗度是W像素 X为中屯、 的局部窗口觀内像素灰度值的最小值:其中,局部窗口微的半径r; (312) 、采用化SU对暗度图像进行二值化处理; (313) 、结合暗度二值化图像来消除暗线响应图Z中错误的线响应。8. 根据权利要求1所述的基于水流法的宽线检测算法,其特征在于,步骤(3)中所述对 于明线检测,计算滤波后图像的明度信息,消除错误的线响应,其具体过程如下: (321 )、明度计算:在滤波后的图像/上,对于每一个像素 X,它的明度是W像素 X为中屯、 的局部窗口拌灰内像素灰度值的最大值:其中,局部窗口嚇的半径r; (322) 、采用化SU对明度图像进行二值化处理; (323) 、结合明度二值化图像来消除明线响应图i中错误的线响应。
【文档编号】G06K9/46GK105938556SQ201610255819
【公开日】2016年9月14日
【申请日】2016年4月22日
【发明人】张文强, 胡洋洋, 路红, 张睿, 郑骁庆, 张超, 王 华, 薛向阳
【申请人】复旦大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1