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 亚像素边缘检测,一种亚像素边缘检测方法与流程相关推荐
- matlab预处理光谱数据,一种近红外光谱数据预处理方法与流程
本发明公开了属于近红外光谱分析技术领域,尤其涉及一种近红外光谱数据预处理的新方法,主要用于建立近红外定量和定性模型时对近红外光谱数据的预处理. 背景技术: 近红外光谱技术具有分析速度快.样本制作简单的 ...
- matlab火焰测温源程序,一种火焰测温方法与流程
本发明涉及一种测量火焰温度的方法. 背景技术: 火焰是气态的且正在发生剧烈氧化反应的燃料及各种中间产物及最终产物的混合物.在煤化工.化工领域,在高温.高压反应器(或气化炉)上,火焰检测器一般安装在气化 ...
- matlab 人头检测,一种人头检测的方法与流程
本发明属于图像处理技术领域,具体为一种人头检测的方法. 背景技术: 图像处理系统中,目标检测是一个普遍而重要的方面,人头检测更是应用广泛.CN103020706 A.一种基于运动目标检测与Haar特征 ...
- matlab换挡程序,一种基于MATLAB换挡过程中快速锁定分析数据的方法与流程
本发明涉及汽车变速器数据分析,特别的,涉及一种基于matlab换挡过程中快速锁定分析数据的方法. 背景技术: 自动变速器的核心功能是能根据驾驶员意图进行自动换挡,解放驾驶员的左脚:在自动变速器的使用过 ...
- matlab 电缆,一种基于Matlab的电缆绝缘自动化监测系统及使用方法与流程
本发明属于电缆绝缘测量技术领域,尤其是涉及一种基于Matlab的电缆绝缘自动化监测系统及使用方法. 背景技术: 电力系统当中,高压电缆担负着传输配送电能的任务,高压电缆运行的可靠性和安全性将直接决定着 ...
- 皮带撕裂检测matlab,一种皮带撕裂检测方法与流程
本发明涉及皮带检测技术领域,特别涉及一种皮带撕裂检测方法. 背景技术: 皮带运输系统是现代工业生产中运输物料的重要手段.在皮带运输过程中,如果出现皮带撕裂的情况,不仅影响物料的运输.造成浪费和污染,而 ...
- matlab处理afm图片,基于MATLAB的增大页岩AFM灰度图分辨率的方法与流程
本发明涉及岩石表面形貌探测 技术领域: :,具体是基于matlab的增大页岩afm灰度图分辨率的方法. 背景技术: ::原子力显微镜(afm)可以对各种样品进行纳米量级的物理性质包括表面形貌进行探测, ...
- 干电池电量采集_一种电池电量采集方法与流程
本发明涉及电池参数采集技术领域,尤其涉及一种电池电量采集方法. 背景技术: 目前,在使用电池的产品上,通常使用电量计来获取电池电量的精确数值.而由于电量计的成本较高,还有一些低成本的产品上,还会通过采 ...
- java游戏房间匹配_一种游戏房间匹配方法与流程
本发明涉及计算机技术领域,尤其涉及一种游戏房间匹配方法. 背景技术: 在目前的网络游戏中,游戏对象与游戏对象会通过互联网在线上进行竞技比赛,很多时候都需要多名玩家共同参与,现有的游戏对象的配对方法大多 ...
- 新息自适应卡尔曼滤波matlab代码,基于自适应卡尔曼滤波的弱信号跟踪方法与流程...
本发明涉及卫星导航接收机中在微弱信号下的跟踪技术,提供了一种基于自适应卡尔曼滤波的弱信号跟踪方法. 背景技术: 随着众多新的导航卫星系统的投入和运行,全球导航卫星系统(globalnavigation ...
最新文章
- oracle中 怎么替换,oracle如何替换字符串?
- pytorch loss inf
- leetcode算法题--下降路径最小和
- 【沟通交流】弱关系向强关系的转变
- 一篇RxJava友好的文章(一)
- 241. Different Ways to Add Parentheses
- Windows CE创建桌面快捷方式
- 软件定义存储相比传统存储系统的优势
- 如何使用pandas正确读取带有中文的cvs文件
- HDU 3441 Rotation
- Google Reader 干掉了 RSS!
- 监控三个指标 并不代表你能监控Tuxedo
- java 选取topn_取Oracle中实现TOPN,选取前几条记录
- PHP 面向对象的简单介绍
- javaweb(ssh)体育赛事网上售票系统案例
- knx ets5安装
- Flyme应用中心应用认领
- GUEST帐号“反客为主”
- 孙溟㠭篆刻艺术——“猛击一掌“
- subplot函数介绍
热门文章
- 如何使用Axure制作产品需求文档prd
- 物联网平台开发接口http/mqtt,支持部标808/1078协议对接
- 【HTML】Html页面跳转的5种方式
- 人工神经网络算法有哪些,人工神经网络算法优点
- 3DMax如何安装?3DMax2018软件安装图文教程全解
- 常用原型图绘制工具比较
- Topaz DeNoise AI 2.3.6汉化版|AI智能降噪插件Topaz DeNoise AI 2.3.6中文版
- Oracle创建临时表
- 数据质量六大评价标准
- java int转byte出现负数 byte转int的解决