欢迎光临小豌豆知识网!
当前位置:首页 > 建筑技术 > 门窗钥匙> 一种汽车钥匙牙花编码识别方法独创技术8684字

一种汽车钥匙牙花编码识别方法

2021-02-02 12:53:23

一种汽车钥匙牙花编码识别方法

  技术领域

  本发明属于图像处理技术领域,特别涉及一种汽车钥匙牙花编码识别方法。

  背景技术

  汽车钥匙是司机进入汽车、发动汽车的重要工具,即使在配备无钥匙进入/启动的汽车上,机械钥匙也会作为备用钥匙作为其整体的一部分。而钥匙的牙花编码记录也是钥匙信息记录、备份、复制等步骤中重要的一步操作。当前针对钥匙编码的识别主要以机械夹具辅助读取或熟练工肉眼读取为主,实际操作缓慢,效率过低,不利于大范围推广。

  公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。

  发明内容

  本发明的目的在于提供一种汽车钥匙牙花编码识别方法,从而克服上述现有技术中的缺陷。

  为实现上述目的,本发明提供了一种汽车钥匙牙花编码识别方法,其步骤为:

  (1)拍摄目标钥匙图像:钥匙水平放置于桌面,从钥匙上方拍摄,钥匙方向与镜头底边水平方向的倾斜角度不超过30°:

  (2)图像预处理:对图像进行尺度归一化和去噪处理:

  (3)钥匙齿形区域定位:采用边缘检测初步提取出钥匙边界,然后采用直线检测来探测钥匙边缘位置;使用边界横向增强、纵向抑制的方式,来确定钥匙的上/下边界;使用边界横向抑制、纵向增强的方式,来确定钥匙的左/右边界;根据钥匙边界位置,将钥匙机器内部压花进行初步定位:

  (4)钥匙牙花边界提取:采用边缘检测的方法初步提取牙花上下边界的距离,在牙花的最里端,使用圆检测的方法,预估钥匙生产时所使用钻头的尺寸,即圆形滑动窗口的尺寸,并结合实际牙花上下边界距离,对圆形滑动窗口的尺寸进行修正;

  (5)自动读取钥匙编码:使用步骤(4)所预估的钻头尺寸,采用圆形滑动窗口的方式,从内到外模拟出牙花生成的整个过程,并以钻头中心为基准点,定位出所对应的编码变化情况。

  优选地,技术方案中,步骤(3)中,边缘检测的方法为:采用Sobel算子对全图进行卷积,对水平和垂直两个方向分别计算,得到两个方向的边缘梯度环境;将水平方向的计算所得梯度图减去垂直方向所得梯度图,并设置阈值筛取,从而得到横向增强、纵向抑制的上下边界初始图;将垂直方向的计算所得梯度图减去水平方向所得梯度图,并设置阈值筛取,从而得到纵向增强、横向抑制的左右边界初始图。

  优选地,技术方案中,步骤(3)中,直线检测的方法为:在边缘检测得到两个方向的边缘梯度环境后,使用霍夫变换的方式检测图中直线位置,分别求得水平边界、垂直边界所在位置。

  优选地,技术方案中,步骤(4)中,圆检测方法为:检测出牙花最里端圆形部分的半径大小,并定位下一步中所使用圆形滑动窗口的起始点。

  优选地,技术方案中,步骤(5)中,以钻头中心为基准点,将圆形窗从内到外逐渐移动,并根据圆形窗和牙花上下边缘的重合情况,跟随牙花边缘保持移动,然后根据钻头中心所行走的轨迹,定位出所对应的编码变化情况。

  与现有技术相比,本发明具有如下有益效果:

  本发明以机器视觉为技术手段,除拍摄目标钥匙的图像外,无需其他人工干预,识别过程由计算机自动完成,方便有效。

  附图说明

  图1为本发明汽车钥匙牙花编码识别方法流程示意图;

  图2为本发明汽车钥匙牙花编码识别效果图;

  图3为本发明边缘检测垂直方向的计算所得梯度图;

  图4为本发明边缘检测水平方向的计算所得梯度图;

  图5为本发明边缘检测纵向增强、横向抑制的左右边界初始图;

  图6为本发明边缘检测横向增强、纵向抑制的上下边界初始图;

  图7为本发明直线检测垂直边界示意图;

  图8为本发明直线检测水平边界示意图;

  图9为本发明纹理整体位置效果图;

  具体实施方式

  下面对本发明的具体实施方式进行详细描述,但应当理解本发明的保护范围并不受具体实施方式的限制。

  除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。

  实施例1

  如图1所示,一种汽车钥匙牙花编码识别方法,其步骤为:

  (1)拍摄目标钥匙图像,钥匙水平放置于桌面,保证光线良好,从钥匙上方拍摄,钥匙在镜头中尽量保持水平,与镜头底边水平方向的倾斜角度不超过30°,如图2所示:

  (2)图像预处理:在Visual Studio中对图像进行尺度归一化和去噪处理:

  (3)钥匙齿形区域定位:采用边缘检测初步提取出钥匙边界,然后采用直线检测来探测钥匙边缘位置;检测时,钥匙的上下边界和左右边界分开检测:使用边界横向增强、纵向抑制的方式,来消除纵向边界的影响,然后确定钥匙的上/下边界;使用边界横向抑制、纵向增强的方式,来消除横向边界的影响,然后确定钥匙的左/右边界,根据钥匙的边界位置,将钥匙及其内部牙花进行初步定位:

  边缘检测的方法为:采用Sobel算子对全图进行卷积,对水平和垂直两个方向分别计算,得到两个方向的边缘梯度环境,如图3所示的垂直方向梯度图,如图4所示的水平方向梯度图;将垂直方向梯度图减去水平方向梯度图,并设置阈值(≥20)筛取,消除水平方向分量,从而得到纵向增强、横向抑制的左右边界初始图,如图5所示;将水平方向梯度图减去垂直方向梯度图,并设置阈值(≥20)筛取,消除垂直方向分量,从而得到横向增强、纵向抑制的上下边界初始图,如图6所示;

  直线检测的方法为:在边缘检测得到两个方向的边缘梯度环境后,使用霍夫变换的方式检测图中直线位置;对图5进行霍夫变换检测直线位置,得到垂直边界,通过红线标出所在位置,如图7所示;对图6进行霍夫变换检测直线位置,得到水平边界,通过红线标出所在位置,如图8所示;将图7中的垂直边界位置和图8中的水平边界位置叠加到原图像中,确定纹理的整体位置,如图9所示;

  (4)钥匙牙花边界提取:采用边缘检测的方法初步提取牙花上下边界的距离,在牙花的最里端,使用圆检测的方法,检测出牙花最里端圆形部分的半径大小,并定位下一步中所使用圆形滑动窗口的起始点,结合所得牙花上下边界距离,和牙花最里端圆检测结果,确定出钥匙生产时所使用钻头的尺寸,即圆形滑动窗口的尺寸;

  (5)自动读取钥匙编码:使用步骤(4)所预估的钻头尺寸,采用圆形滑动窗口的方式,从内到外模拟出牙花生成的整个过程,并以钻头中心为基准点,将圆形窗从内到外逐渐移动,并根据圆形窗和牙花上下边缘的重合情况,跟随牙花边缘保持移动,然后根据钻头中心所行走的轨迹,定位出所对应的编码变化情况。

  整套算法的处理过程在Visual Studio上以C++的代码形式完成后,编译成exe文件的形式进行现场操作。在其他实际应用场景中,也可采用其他编程方式复现。

  前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。

《一种汽车钥匙牙花编码识别方法.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)