一种二维码的生成方法和基于GPU的定位、解码方法技术

技术编号:24252307 阅读:49 留言:0更新日期:2020-05-22 23:57
本发明专利技术公开了一种二维码的生成方法和定位、解码方法,包括S1.设定编码位数M和图案位置的映射;S2.获得可行编码;S3.生成黑白二维码和基础编码,并保存。本发明专利技术生成的二维码,能够携带更多的信息,本发明专利技术的解码方法能够显著降低读码的延迟,可同时读多个任意位置、任意角度的二维码,具有较高的抗污损和抗干扰能力。同时,在光线条件较好时可具有较多的有效位数,在光线条件不好时仍然能够保证读到基础数据。

A method of two-dimensional code generation and GPU based location and decoding

【技术实现步骤摘要】
一种二维码的生成方法和基于GPU的定位、解码方法
本专利技术涉及图像识别
,具体涉及一种二维码的生成方法和基于GPU的定位、解码方法。
技术介绍
二维码是目前图像识别领域中的热点,二维码是一种通过按照某种规律排列的黑白相间图形来记录数据符号信息的编码形式。二维码在各个行业中广泛应用,且根据应用产生了多种不同形式的变种。对于AGV、设备自动定位和对准、拣选货物等应用,需要能够快速准确定位二维码位置的识别方法。工业自动化应用对二维码的识别还提出了稳定性的要求。此外对于电商、汽车制造等涉及大量零部件和SKU的应用而言,还需要让二维码可表达充分的信息。因此,优选的二维码方案需要同时做到可定位、稳定读取与高容量三个要求。然而现有的二维码识别技术仍存在以下一些问题:第一,解码存在较长的延迟,通常在50ms以上,实时性较低。第二,分辨率较低,因此只能用于近距离解码,且无法同时读多个码。第三,较难抵抗污损、破损等。第四,黑白编码能够较稳定地读取数据,但编码的有效位数较低;彩色编码允许更多的有效位数,然而要求扫码设备必须为彩色相机,使用黑白相机则无法读出任何内容。
技术实现思路
本专利技术的目的在于提供一种彩色二维码的生成方法和基于GPU的定位、解码方法,以解决上述
技术介绍
中提出的问题。所述基于GPU的彩色二维码快速定位和稳定解码的方法计算平台要求低,可选用芯片种类多,可以将典型读码延迟降低到3ms以下,可同时读多个任意位置角度放置的二维码,并计算出各个码在空间中的位姿。所生成的二维码图案使用遍历搜索方法进行优化,具有较高的抗污损和抗干扰能力,在光线条件较好时可具有较多的有效位数,在光线条件不好时仍然能够保证读到基础数据。为实现上述目的,本专利技术提供一种二维码的生成方法,包括以下步骤:1.一种二维码的生成方法,其特征在于,包括以下步骤:S1.设定编码位数M和图案位置的映射;S2.获得可行编码;S3.生成黑白二维码和基础编码,并保存;其中,所述二维码为长宽均为数量N个单位的正方形,所述二维码具有厚度为一个单位的外围,所述二维码内部为矩形棋盘格型图案。优选的,所述步骤S2包括:S21.对从0~2的M次方之间的数字X进行判断,对于数字X所对应的二维码进行旋转,解出对应的二进制编码Y,如果二进制编码Y是可行编码,则正在遍历的编码X是不可行编码;否则进入步骤S22;S22.判断数字X与可行编码集合中的可行编码的海明距离,如果存在海明距离小于第一阈值的可行编码,则X是不可行编码;否则进入步骤S23;S23.如果数字X中位值为1的位的数量小于第二阈值或大于第三阈值,则X是不可行编码;否则进入步骤S24;S24.数字X为可行编码,将数字X放入可行编码集。优选的,所述步骤S3包括:S31.设数字X的位值为1对应的格子为黑色,否则为白色;S32.对可行编码集中可行编码对应的黑白二维码图形进行编号,所述编号为基础编码;S33.保存所述黑白二维码和对应的所述基础编码。优选的,还包括步骤S4:扩展编码,并生成彩色二维码。优选的,所述步骤S4包括以下步骤:S41.对于所述黑白二维码,对黑色或白色格子数量大于等于N/2的格子进行编码扩展;S42.设定扩展编码的位数和进制,将所述黑白二维码的编码按所述进制进行转化;S43.为转化后的编码扩展错误纠正码;S44.将色相轮按进制等分,对所有待扩展格子进行上色,从而生成彩色二维码。根据本专利技术的另一方面,提出一种基于GPU的彩色二维码的定位、解码方法,使用一台装载了GPU单元的计算设备进行读码与解码计算,包括以下步骤:1)获取彩色二维码图片并传入GPU内存;2)使用GPU对彩色二维码图片做灰度梯度运算,分别求出X方向梯度和Y方向梯度;3)使用并行连通分量标记方法,连接梯度强度超过一个预设阈值且梯度方向角度基本一致的像素,同时统计出每个连通分量的像素数量;4)获取第二候选连通分量对;5)获取彩色二维码图片对应的所有四边形边框;6)对所述彩色二维码对应的四边形边框,进行线性插值的单应映射,生成待解码图案;7)根据待解码图案的黑白格获得对应的编码;8)若与待解码图案对应的编码海明距离最小的可行编码小于第四阈值,则该图案对应的可行编码为所述编码,否则该图案不是正确的二维码图案。优选的,所述步骤4)包含以下步骤:对连通分量进行排序,确定第1024个连通分量包含的像素个数S,并行地遍历所有连通分量,去除包含像素数量小于S的连通分量,从而获得第一候选连通分量;使用并行加法方法,对第一候选连通分量使用PCA方法拟合直线,并对所述第一候选连通分量的所有像素的梯度方向角度做平均,剔除PCA在两个方向上方差相近的连通分量,从而获得第二候选连通分量;使用GPU判断第二候选连通分量使用PCA方法拟合的直线是否和另一个第二候选连通分量使用PCA方法拟合的直线具备“可构成二维码”的性质,从而获取二维码图片上所有具有“可构成二维码”性质的第二候选连通分量对。优选的,所述步骤5)包含以下步骤:在第二候选连通分量对中确定一条直线A,利用GPU获取满足如下条件的直线B、C、D:a)和A相交且具有“可构成二维码”性质的直线B,直线B的编号大于A;b)和B相交且具有“可构成二维码”性质的直线C,直线C的编号大于A;c)和C相交且具有“可构成二维码”性质的直线D;d)D和A具备“可构成二维码”性质,直线D的编号大于B;所述A、B、C、D为二维码图片对应的四边形边框。优选的,还包括步骤9)对待解码图案对应的可行编码所对应的二维码图案中颜色数量居多的格子进行扩展编码解码。优选的,所述步骤9)包含以下步骤:S91获得二维码的色相数,确定各个待解码格子的色相,得到位数为待解码格子数量的多进制编码;S92解码,得到多进制扩展编码;S93将多进制编码转为二进制,得到扩展编码信息。与现有技术相比,本专利技术的有益效果和优点如下:1.典型读码的延迟显著降低,延迟缩短至3ms以下。2.计算平台要求低,可选用芯片种类多。3.可同时读多个任意位置、任意角度的二维码,并可以计算出各个码在空间中的三维位置和朝向。4.具有较高的抗污损和抗干扰能力。5.同时具有较高的有效位数和较高抗干扰能力。在光线条件较好是可具有较多的有效位数,在光线条件不好时仍然能够保证读到基础数据。附图说明图1为根据本专利技术一个实施例的获取黑白二维码的流程示意图;图2为根据本专利技术一个实施例的黑白二维码映射方案示意图;图3为根据本专利技术一个实施例的色相轮的示意图;图4为根据本专利技术一个实施例的待写入扩展信息编码的黑白二维码;图5为根据本专利技术一个实施例的彩色二维码的示意图;图本文档来自技高网...

【技术保护点】
1.一种二维码的生成方法,其特征在于,包括以下步骤:/nS1.设定编码位数M和图案位置的映射;/nS2.获得可行编码;/nS3.生成黑白二维码和基础编码,并保存;/n其中,所述二维码为长宽均为数量N个单位的正方形,所述二维码具有厚度为一个单位的外围,所述二维码内部为矩形棋盘格型图案。/n

【技术特征摘要】
20190826 CN 20191079300761.一种二维码的生成方法,其特征在于,包括以下步骤:
S1.设定编码位数M和图案位置的映射;
S2.获得可行编码;
S3.生成黑白二维码和基础编码,并保存;
其中,所述二维码为长宽均为数量N个单位的正方形,所述二维码具有厚度为一个单位的外围,所述二维码内部为矩形棋盘格型图案。


2.根据权利要求1所述的二维码的生成方法,其特征在于:所述步骤S2包括:
S21.对从0~2的M次方之间的数字X进行判断,对于数字X所对应的二维码进行旋转,解出对应的二进制编码Y,如果二进制编码Y是可行编码,则正在遍历的编码X是不可行编码;否则进入步骤S22;
S22.判断数字X与可行编码集合中的可行编码的海明距离,如果存在海明距离小于第一阈值的可行编码,则X是不可行编码;否则进入步骤S23;
S23.如果数字X中位值为1的位的数量小于第二阈值或大于第三阈值,则X是不可行编码;否则进入步骤S24;
S24.数字X为可行编码,将数字X放入可行编码集。


3.根据权利要求2所述的二维码的生成方法,其特征在于:所述步骤S3包括:
S31.设数字X的位值为1对应的格子为黑色,否则为白色;
S32.对可行编码集中可行编码对应的黑白二维码图形进行编号,所述编号为基础编码;
S33.保存所述黑白二维码和对应的所述基础编码。


4.根据权利要求1-3任一权利要求所述的二维码的生成方法,其特征在于:还包括步骤S4:扩展编码,并生成彩色二维码。


5.根据权利要求4所述的二维码的生成方法,其特征在于:所述步骤S4包括以下步骤:
S41.对于所述黑白二维码,对黑色或白色格子数量大于等于N/2的格子进行编码扩展;
S42.设定扩展编码的位数和进制,将所述黑白二维码的编码按所述进制进行转化;
S43.为转化后的编码扩展错误纠正码;
S44.将色相轮按进制等分,对所有待扩展格子进行上色,从而生成彩色二维码。


6.一种基于GPU的二维码的定位、解码方法,其特征在于:使用一台装载了GPU单元的计算设备进行读码与解码计算,包含以下步骤:
1)获取二维码图片并传入GPU内存;
2)使用GPU对二维码图片做灰度梯度运算,分别求出X方向梯度和Y方向梯度;
3)使用并行连通分量标记方法,连接梯度强度超...

【专利技术属性】
技术研发人员:刘诗聪
申请(专利权)人:上海懒书智能科技有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1