失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > matlab 亚像素边缘检测 一种亚像素边缘检测方法与流程

matlab 亚像素边缘检测 一种亚像素边缘检测方法与流程

时间:2023-06-09 05:37:34

相关推荐

matlab 亚像素边缘检测 一种亚像素边缘检测方法与流程

本发明涉及图像处理技术领域,尤其涉及一种亚像素边缘检测方法。

背景技术:

随着计算机视觉工业测量技术的发展,高精度的边缘检测和边缘定位技术应运而生。高效且精确的检测技术将极大突破图像采集设备的硬件限制,既能提高边缘检测的精度,也可以降低设备成本和能源消耗。

传统的计算机视觉工业测量中,通过提高采样速率的方法来提高图像边缘的精度,然而,采样速率无法无限提升,过高的采样速率不仅无法显著改善定位精度,而且增大了生产成本。随着数字图像处理技术的发展,产生了基于亚像素的边缘检测技术,在相同的硬件条件下,其定位误差低于一个像素,显著地提高了检测效率,但是现代工业的迅速发展,使得边缘定位对精度的要求越来越高,同时,复杂的边缘也加大了传统亚像素边缘检测技术的测量压力,其精度往往无法满足要求。

技术实现要素:

本发明的目的在于针对上述现有技术中的计算机视觉工业测量无法满足复杂边缘检测的问题,提出一种亚像素边缘检测方法,能够有效提高复杂边缘检测的精度。

一种亚像素边缘检测方法,包括:

获取原始灰度图像,并获取所述原始灰度图像的像素级粗边缘;

索引到所述像素级粗边缘的边缘点,并沿着梯度方向采用插值法扩展边缘;

对扩展后的边缘点进行亚像素检测,获得边缘的亚像素位置。

进一步地,采用Canny边缘检测方法获取所述原始灰度图像的像素级粗边缘。

进一步地,沿着梯度方向采用插值法扩展边缘,包括:

定位到边缘点N×N像素邻域,其中N为大于或等于1的整数;

计算所述像素邻域中心边缘点的梯度方向,并采用双线性插值法沿着边缘点的梯度方向对所述像素邻域进行插值。

进一步地,所述边缘点的梯度方向为Soble算子检测的梯度向量的方向;双向性插值的方向为水平方向和垂直方向的矢量和。

进一步地,所述水平方向的矢量和垂直方向的矢量的比值为所述边缘点梯度方向的正切值。

进一步地,对扩展后的边缘点进行亚像素检测,获得边缘的亚像素位置,包括:

采用Zernike多项式模板计算扩展后的边缘点的位置参数;

进行边缘参数尺度的恢复。

进一步地,所述Zernike多项式模板为计算图像Zernike矩的图像卷积模板,所述边缘参数尺度的恢复为使用Zernike单位圆模板计算后的基于模板效应的参数尺度恢复。

本发明提供的亚像素边缘检测方法,通过对边缘点邻域进行基于梯度方向的插值,扩展了复杂边缘中边缘与边缘的间隔,不仅亚像素边缘检测的精度大大提高,而且复杂边缘亚像素级定位能力也显著增强。

附图说明

图1为本发明提供的亚像素边缘检测方法一种实施例的流程图。

图2为本发明提供的亚像素边缘检测方法中绝对坐标系一种实施例的示意图。

图3a为本发明提供的亚像素边缘检测方法一种应用场景下的原始灰度图像。

图3b为本发明提供的亚像素边缘检测方法一种应用场景下采用Canny 边缘检测方法获得的图像。

图3c为采用常规亚像素边缘检测方法检测得到的亚像素边缘图像。

图3d为采用本发明提供的亚像素边缘检测方法获得的亚像素边缘图像。

具体实施方式

为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

参考图1,本实施例提供一种亚像素边缘检测方法,包括:

步骤S101,获取原始灰度图像,并获取所述原始灰度图像的像素级粗边缘;

步骤S102,索引到所述像素级粗边缘的边缘点,并沿着梯度方向采用插值法扩展边缘;

步骤S103,对扩展后的边缘点进行亚像素检测,获得边缘的亚像素位置。

进一步地,步骤S101中,采用Canny边缘检测方法获取所述原始灰度图像的像素级粗边缘,该像素级粗边缘为Canny检测的像素级单边缘二值图像。

进一步地,步骤S102中,沿着梯度方向采用插值法扩展边缘,包括:

步骤S1021,定位到边缘点N×N像素邻域,其中N为大于或等于1的整数;

步骤S1022,计算所述像素邻域中心边缘点的梯度方向,并采用双线性插值法沿着边缘点的梯度方向对所述像素邻域进行插值。

具体地,步骤S1021中,将处理对象定位到一个边缘点N×N像素邻域上,例如,可以使用一个7×7的模板跟踪边缘点,取出感兴趣区域。步骤S 1022中,计算基于该邻域中心边缘点的梯度方向,然后沿着该梯度的方向对该邻域进行插值。具体可以使用Sobel算子进行梯度方向估计,和使用双线性插值法进行梯度方向插值,插值后边缘的宽度明显变大,边缘与边缘之间的距离也跟着增大。边缘点的梯度方向为Soble算子检测的梯度向量的方向;双向性插值的方向为水平方向和垂直方向的矢量和,水平方向的矢量和垂直方向的矢量的比值为所述边缘点梯度方向的正切值。

进一步地,步骤S103中,对扩展后的边缘点进行亚像素检测,获得边缘的亚像素位置,包括:

采用Zernike多项式模板计算扩展后的边缘点的位置参数;

进行边缘参数尺度的恢复。

具体地,所述Zernike多项式模板为计算图像Zernike矩的图像卷积模板,所述边缘参数尺度的恢复为使用Zernike单位圆模板计算后的基于模板效应的参数尺度恢复。

参考图2,采用Zernike多项式模板计算扩展后的边缘点的位置参数,该位置参数包括亚像素边缘点距领域中心点的距离l和亚像素边缘点距领域中心点的角度φ,接下来进行边缘参数尺度的恢复,即将检测到的位置参数的坐标转换为图像的绝对坐标,由于在使用Zernike矩方法计算亚像素边缘位置的时候使用了若干个模板来获得边缘的位置信息,会出现模板效应,得到的亚像素边缘坐标是相对于邻域中心点的坐标,所以需要转化为图像的绝对坐标。绝对坐标系如图2所示,其中圆形区域是理想阶跃边缘的建模,阴影部分是边缘所在位置,h为背景灰度值,k为阶跃边缘高出背景的灰度差。

进行坐标转换的公式如下:

其中,l为亚像素边缘点距领域中心点的距离,φ为亚像素边缘点距领域中心点的角度,yt和xt为插值后N×N邻域垂直和水平方向扩展的倍数,两者的比值约为领域中心边缘点梯度方向的正切值。

参考图3a-图3d,图3a为原始图像,图3b为Canny边缘图像,图3c 为常规亚像素边缘检测方法检测到的亚像素边缘图像,图3d为采用本实施例提供的亚像素边缘检测方法处理后的亚像素边缘图像。可以看出,图3d 较图3c边缘提取更加完整,并且在复杂边缘处也表现出较好的亚像素检测效果。

本实施例提供的亚像素边缘检测方法,通过对边缘点邻域进行基于梯度方向的插值,扩展了复杂边缘中边缘与边缘的间隔,不仅亚像素边缘检测的精度大大提高,而且复杂边缘亚像素级定位能力也显著增强。

应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。

如果觉得《matlab 亚像素边缘检测 一种亚像素边缘检测方法与流程》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。