一种三点联合的图像边缘检测方法_2

文档序号:9350730阅读:来源:国知局
0034] 图14a-图14c是JTED对实验2的三幅输入图像的边缘检测结果图。
【具体实施方式】
[0035] 参照图1,本发明的一种三点联合的图像边缘检测方法,包括以下具体步骤:
[0036] 步骤1,输入一幅待检测的图像,用Canny算子计算待检测图像中第n个像素点的 近似边缘方向角€,其中,ne{1,2, ...,N},N为待检测图像的像素点总数;本发明中,将 所述待检测图像中每个像素点的边缘,简称为边缘。
[0037]步骤1的具体子步骤为:
[0038]I. 1采用高斯滤波器平滑待检测图像,得到平滑后的图像;
[0039] 首先,设定X表示垂直于边缘方向的坐标,y表示平行于边缘方向的坐标,G(X)和 G(y)分别表示垂直于边缘方向和平行于边缘方向的高斯函数,G(X)和G(y)的表达式分别 为:
[0040]G(X) =exp(-X2/ (2 〇 2))
[0041] G(y)=exp (-y2/(2 〇 2))
[0042] 其中,〇为垂直于边缘方向的高斯函数G(X)的标准差,也是平行于边缘方向的高 斯函数G(y)的标准差;
[0043] 然后,根据垂直于边缘方向的高斯函数G(X)和平行于边缘方向的高斯函数G(y) 的表达式,计算得到高斯滤波器fI(;F(x,y)的表达式为:
[0044] fiGF(x, y) =G(x)G(y) = exp (-(x2+y2)/2〇2);
[0045] 最后,设定高斯滤波器的滤波窗口尺寸为MXM(M为奇数,一般取3、5、7、9等);计 算高斯滤波器在其滤波窗口内不同像素点的值,从而生成高斯滤波模板,并计算该高斯滤 波模板与所述待检测图像的卷积,得到平滑后的图像;
[0046] I. 2分别计算平滑后的图像中第n个像素点沿垂直于边缘方向和平行于边缘方向 的梯度值,并计算待检测图像中第n个像素点的近似边缘方向角罐;
[0047] 首先,分别给出垂直于边缘方向的核函数Ktix和平行于边缘方向的核函数K为:
[0049] 然后,分别计算垂直于边缘方向的核函数Kex、平行于边缘方向的核函数Ker^ 平滑后的图像的卷积,得到平滑后的图像中每个像素点分别沿垂直于边缘方向和平行 于边缘方向的梯度值,其中,平滑后的图像中第n个像素点沿垂直于边缘方向和平行于 边缘方向的梯度值分别为i和 <,则待检测图像中第n个像素点的近似边缘方向角
[0050] 在本发明实例中,参照图2a是一幅待检测的图像,参照图2b是用Canny算子计算 图2a的待检测图像中所有像素点的近似边缘方向角的示意图。
[0051] 步骤2,设定待检测图像的每个像素点均对应有一个大小为pXq的滤波窗口,且 所述待检测图像的每个像素点均为其对应的滤波窗口的中心像素点;构造三点联合边缘检 测算子f_ (x,y),并计算待检测图像中每个像素点对应的滤波窗口内所有像素点的值,生 成待检测图像中每个像素点对应的滤波模板,其中,待检测图像中第n个像素点对应的滤 波模板为FTn;将待检测图像中第n个像素点的近似边缘方向角劣的正负JT/20的角度范 围巧-+衫2〇;],等间隔地划分出K个方向,将待检测图像中第n个像素点对应的 滤波模板FTn以待检测图像的第n个像素点为中心沿所述K个方向进行旋转,得到待检测 图像中第n个像素点对应的K个旋转模板;计算待检测图像的第n个像素点沿所述K个方 向的梯度幅值,将其中最大的梯度幅值所对应的方向作为待检测图像中第n个像素点的真 实边缘方向角0n,其中,nG{1,2,...,沁,~为待检测图像的像素点总数。
[0052] 步骤2的具体子步骤为:
[0053] 2. 1生成待检测图像中每个像素点对应的滤波模板;
[0054] 首先,设计垂直边缘方向的滤波器为dG(x)/dx,其中,G(X)为垂直于边缘方向的 高斯函数,G(X) =exp(_xV(2 〇2)),X表示垂直于边缘方向的坐标,。为垂直于边缘方向 的尚斯函数G(X)的标准差;
[0055] 然后,构造平行于边缘方向的滤波器H(y):
[0057] 其中,y表示平行于边缘方向的坐标;
[0058] 需要说明的是:根据边缘的连续性,本发明通过所构造的平行于边缘方向的滤波 器H(y)计算待检测图像中三个相邻像素点的梯度值之和,判断待检测图像中三个相邻的 像素点是否都为待检测图像的边缘点;参照图3a-图3d,是常见的4种边缘结构图;参照图 4,是本发明构造的平行于边缘方向的滤波器的示意图;
[0059] 接着,构造三点联合边缘检测算子fjTED(x,y)为:
[0060]fjTED(x,y) = (dG(x)/dx)H(y);
[0061] 根据垂直于边缘方向的高斯函数G(x)和所构造的平行于边缘方向的滤波器 H(y),将三点联合边缘检测算子fITED(x,y)写为:
[0063] 最后,设定待检测图像的每个像素点均对应有一个大小为pXq的滤波窗口,且所 述待检测图像的每个像素点均为其对应的滤波窗口的中心像素点;利用所构造的三点联合 边缘检测算子f;TED(x,y)计算待检测图像中每个像素点对应的滤波窗口内所有像素点的 值,生成待检测图像中每个像素点对应的滤波模板,其中,待检测图像中第n个像素点对应 的滤波模板为FTn;
[0064] 2. 2根据待检测图像中每个像素点对应的滤波模板,构造待检测图像中每个像素 点对应的旋转模板;
[0065] 首先,设定待检测图像中第n个像素点对应的滤波模板FTn中的任意一个像素点 的坐标为(in+mx,jn+my),其中,(in,jn)为待检测图像的第n个像素点的坐标, 到(P-D/2之间的整数,!11,取_(q-l)/2到(q_l)/2之间的整数,则待检测图像中第n个像 素点对应的滤波模板的中心像素点的坐标为(in,jn);
[0066] 然后,将待检测图像中第n个像素点的近似边缘方向角武的正负31/20的角度范 围-#20,6 +#20],等间隔地划分出K个方向,将待检测图像中第n个像素点对应的 滤波模板FTn以待检测图像的第n个像素点为中心沿所述K个方向进行旋转,得到待检测 图像中第n个像素点对应的K个旋转模板,其中,第K个方向的旋转角度f为:
[0067] =0[-nj20+knl(
[0068]其中,K= 0,1,...,K_1;
[0069] 则待检测图像中第n个像素点对应的滤波模板FTn中的任意一个像素点的坐标 (in+mx,jn+my)沿第K个方向旋转后的坐标(i',)为:
[0071] 在本发明实例中,参照图5a是一个7*3的滤波模板,图5b是将图5a的滤波模板 旋转乾角度后的旋转模板;
[0072] 2. 3计算待检测图像的第n个像素点沿所述K个方向的梯度幅值,其中,待检测图 像的第n个像素点沿第K个方向的梯度幅值^ (in,jn)为:
[0074] 其中,fJTED(mx,my)是三点联合边缘检测算子,uQ(i',j')是所述待检测图像在 像素点(i',j')的灰度值;
[0075] 比较待检测图像的第n个像素点沿所述K个方向的梯度幅值,将其中最大的梯度 幅值所对应的方向作为待检测图像中第n个像素点的真实边缘方向角0 n。
[0076] 步骤3,设定与待检测图像中第n个像素点(in,jn)相邻的两个像素点分别为(in, jn_l)和(in,jn+l),分别计算与待检测图像中第n个像素点(in,jn)相邻的两个像素点(in, jn_l)和(in,j
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1