[发明专利]标在柱面上的AR码的鲁棒识别方法有效
申请号: | 201610870465.1 | 申请日: | 2016-09-30 |
公开(公告)号: | CN106407973B | 公开(公告)日: | 2019-04-02 |
发明(设计)人: | 王伟明;孙一杰;杨萌;何亚轩;张勇;闫德立;靳邵云;佀明华 | 申请(专利权)人: | 石家庄铁道大学 |
主分类号: | G06K9/20 | 分类号: | G06K9/20 |
代理公司: | 石家庄国域专利商标事务所有限公司 13112 | 代理人: | 胡澎 |
地址: | 050043 河*** | 国省代码: | 河北;13 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种标在柱面上的AR码的鲁棒识别方法,包括以下步骤:对AR码图像进行二值化,提取AR码二值化图像的轮廓,并将轮廓中的AR码区域图像进行摆正处理;对摆正的AR码区域进行弧形畸变检测并旋转,使凹弧边朝上,并将凹弧边拉直;利用局部自适应压缩算法将凸弧边拉直,得到一个轮廓为矩形的AR码区域;对AR码区域进行非线性划线识别。本发明解决了一些传统识别方法对AR码识别正确率不高以及当AR码产生弧形畸变的情况下无法正确识别的问题,提高了AR码识别的鲁棒性。 | ||
搜索关键词: | 柱面 ar 识别 方法 | ||
【主权项】:
1.一种标在柱面上的AR码的鲁棒识别方法,其特征是,包括以下步骤:1)采集标在柱面上的AR码,得到AR码区域图像I0;2)对AR码区域图像I0进行自适应阈值分割和形态学滤波,得到滤波后的二值化图像I1;3)检测滤波后的二值化图像I1的轮廓,在排除了图像中的非四个顶点、非凸四边形的轮廓和过小的轮廓之后,得到只含有AR码区域的轮廓,将只含有AR码区域轮廓以外的区域像素填充为代表“0”的纯黑色,做成遮罩图层,再将AR码区域图像I0拷贝进该遮罩图层中,得到只含有AR码区域的二值化图像I2;该图像中的AR码区域轮廓的四个顶点从左上角开始顺时针依次标记为c0、c1、c2、c3;4)对只含有AR码区域的二值化图像I2中的AR码区域轮廓进行摆正处理,具体方式是:4‑1、以只含有AR码区域的二值化图像I2的左上角顶点为坐标原点,建立直角坐标系,求出连接c0点与c2点的直线L1以及连接c1点与c3点的直线L2,进而求出该两条直线的交点Q的坐标;4‑2、求出只含有AR码区域的二值化图像I2中AR码区域轮廓的最佳外接矩形:以只含有AR码区域的二值化图像I2中AR码区域轮廓的四个顶点c0、c1、c2、c3中距离交点Q最远的一个点为基点,在该基点所在的直线上按以下条件求出距离该点为h像素的两个点:R=n×l(l≥10)R/n≤h≤3R/n其中,n为AR码总行数,l为AR码每一行的平均宽度,R为AR码的总宽度;4‑3、将上述两点中距交点Q较远的一个点标记为A0,设A0点到交点Q的距离为L,求出直线L1和直线L2上距离交点Q为L的其余三个点的坐标,这三个点按逆时针方向分别标记为A1、A2、A3;连接A0、A1、A2、A3这四个点,构成一个矩形A;4‑4、将矩形A透视变换到与该矩形面积相同的一个正方形区域中,具体方式是:以矩形A的A0、A1、A2、A3这四个点的坐标值构成透视变换前的矩阵,以与矩形A面积相等的正方形的四个角点A0’、A1’、A2’、A3’的坐标值构成透视变换后的矩阵,以透视变换前的矩阵和透视变换后的矩阵为变换参数,利用透视变换函数进行透视变换,从而得到AR码被摆正的二值化图像I3;5)对AR码被摆正的二值化图像I3中AR码区域轮廓是否存在弧形畸变和凹弧边进行检测,具体方式是:对AR码被摆正的二值化图像I3进行AR码区域轮廓检测,并以AR码被摆正的二值化图像I3的左上角为坐标原点,AR码区域轮廓的四个顶点自左上角开始,沿逆时针方向分别记做d0、d1、d2、d3,求出d0点与d3点连线的中点横坐标值x;自点(x,0)开始,从上往下扫描AR码被摆正的二值化图像I3上的像素,当扫描到像素值为0时,记下该点的纵坐标值y,将该点的y值与d0点和d3点的y值进行比较,若该点的y值大于d0点与d3点中y值的较大者,则判定d0点与d3点所对应的位于图像最上端的一条边是具有弧形畸变的凹弧边,位于图像最下端的一条边就是与该凹弧边相对应的凸弧边;若该点的y值小于d0点与d3点中y值的较小者,则判定d0点与d3点所对应的位于图像最上端的一条边不是凹弧边;之后,将AR码被摆正的二值化图像I3逆时针旋转90°,重复步骤5),继续进行AR码区域轮廓的检测;如果在旋转检测三次之后均未检测到AR码区域轮廓的凹弧边,则判定所采集到的AR码区域图像I0中的AR码没有发生弧形畸变,直接转到步骤8),对其进行非线性划线识别操作;6)对检测到有弧形畸变的AR码上的凹弧边进行拉直处理,具体方式是:将AR码被摆正的二值化图像I3上端凹弧边的两个顶点的纵坐标值中较小的y值记作TopY03,并作为凹弧边的上拉高度;自AR码被摆正的二值化图像I3的左边界到右边界,从上到下,以一个像素为步长,进行连续扫描;当扫描到像素值为0时,记下该点处的纵坐标值y,将该点处的y值标记为TopY,在此步长内的所有像素向上位移一个TopY03–TopY的距离;遍历整个AR码被摆正的二值化图像I3后,AR码区域轮廓的凹弧边即被拉直,得到AR码凹弧边被拉直的二值化图像I4;7)对AR码凹弧边被拉直的二值化图像I4中的凸弧边进行拉直处理,具体方式是:自AR码凹弧边被拉直的二值化图像I4的左边界到右边界,从下到上,以一个像素为步长,进行连续扫描;当扫描到像素值为0时,记下该点处的纵坐标值y,并与步骤6)中的TopY03做差,得到每一像素列的一个高度值,记做M;而AR码被摆正的二值化图像I3中AR码区域轮廓中的d1点和d2点的纵坐标值中较小的y值记做S,利用以下计算公式:M‑S=kM/k=pm modp=0对AR码凹弧边被拉直的图像I4按照单位像素步长,使用上述计算公式确定被抽掉的点,并进行像素抽取,同时将后面的所有像素上移填补间隙;遍历整个AR码凹弧边被拉直的图像I4后,该图像中的凸弧边即被拉直,得到一个轮廓为矩形的修正的二值化图像I5;8)对修正的二值化图像I5进行非线性划线识别处理,具体方式是:8‑1、提取修正的二值化图像I5中的AR码区域轮廓,并对AR码区域轮廓内的区域进行透视变换,透视变换方式为:以提取到的AR码区域轮廓的四个顶点坐标值为透视变换前的矩阵,以R×R像素大小的正方形空白图像的四个角点坐标值为透视变换后的矩阵,利用透视变换函数,以透视变换前的矩阵和透视变换后的矩阵为变换参数,利用透视变换函数进行透视变换,得到一个R×R像素大小的、完全被AR码填充的二值化图像I6;其中,R为AR码的总宽度,其取值为:R=n×l(l≥10);式中,n为AR码的总行数,l为AR码每一行的平均宽度;8‑2、扫描被AR码填充的二值化图像I6中AR码的最上面一行和最下面一行,得到AR码最上面一行的宽度值Y1和最下面一行的宽度值Y2,AR码最上面一行对应的行数记为X1,AR码最下面一行对应的行数为记为X2;若Y1–R/n
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于石家庄铁道大学,未经石家庄铁道大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610870465.1/,转载请声明来源钻瓜专利网。