CN109635613B - 一种用于球体表面的二维码生成方法、系统及装置 - Google Patents

一种用于球体表面的二维码生成方法、系统及装置 Download PDF

Info

Publication number
CN109635613B
CN109635613B CN201811385161.1A CN201811385161A CN109635613B CN 109635613 B CN109635613 B CN 109635613B CN 201811385161 A CN201811385161 A CN 201811385161A CN 109635613 B CN109635613 B CN 109635613B
Authority
CN
China
Prior art keywords
dimensional code
spherical
point
boundary line
planar
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811385161.1A
Other languages
English (en)
Other versions
CN109635613A (zh
Inventor
梁早清
毛宜军
刘财兴
雷红涛
吴佳明
陈宏彪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
South China Agricultural University
Original Assignee
South China Agricultural University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by South China Agricultural University filed Critical South China Agricultural University
Priority to CN201811385161.1A priority Critical patent/CN109635613B/zh
Publication of CN109635613A publication Critical patent/CN109635613A/zh
Application granted granted Critical
Publication of CN109635613B publication Critical patent/CN109635613B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14172D bar codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/146Methods for optical code recognition the method including quality enhancement steps
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/146Methods for optical code recognition the method including quality enhancement steps
    • G06K7/1491Methods for optical code recognition the method including quality enhancement steps the method including a reconstruction step, e.g. stitching two pieces of bar code together to derive the full bar code

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Electromagnetism (AREA)
  • General Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Image Processing (AREA)

Abstract

本发明公开了一种用于球体表面的二维码生成方法、系统及装置,方法包括:获取平面二维码,并通过二维码生成工具获取平面二维码的编码内容;根据平面二维码的编码内容,计算平面二维码在目标球体表面的映射关系,进而得到球形二维码每个像素点的坐标;根据球形二维码每个像素点的坐标,调用二维码生成工具生成得到初步球形二维码;根据初步球形二维码,通过插值算法进行插值填充,得到最终球形二维码。本发明根据平面二维码与球形二维码的映射关系和插值填充算法,生成得到最终球形二维码在粘贴在球体表面后,能大大提到识别成功率,为使用条码标识球体提供了很好的帮助。本发明可广泛应用于二维码领域中。

Description

一种用于球体表面的二维码生成方法、系统及装置
技术领域
本发明涉及二维码技术领域,尤其涉及一种用于球体表面的二维码生成方法、系统及装置。
背景技术
二维条码,也称为二维码,是指在一维条码的基础上扩展出另一维具有可读性的条码,使用某种特定的黑白相间的几何图形图案按一定规律表示二进制数据,通过图像输入设备或光电扫描设备扫描后获取其中所包含的信息。常见的二维条码有:PDF417、QR码、Data Matrix、Code One等20余种,其中QR码(Quick Response Code快速响应矩阵码)是1994年9月由日本Denso Wave公司开发的一种矩阵式二维条码符号,源自发明者希望QR码可以让其内容快速被解码。QR码除具有一维条码及其它二维条码所具有的优点外,还具有超高速识读、数据密度大、可靠性高、占用空间小、高效表示中文汉字等特点,因而得到了广泛应用。
近几年,随着移动互联网的不断发展,各种智能终端设备和应用系统迅速普及,二维条码技术已广泛地应用到许多邻域,融入到人们的日常生活中,例如公共安全、产品防伪、工业生产、交通运输、网站链接、图书出版和生活用品、产品防伪、食品追溯等。
QR码的使用包含编码和解码两个互逆过程。编码的主要过程如下:(1)确定编码的字符类型,按相应的字符集转换成符号字符;(2)选择纠错等级;(3)将数据字符转换为二进制位流,根据数据类型,确定数据编码;(4)考虑到条形码部分损坏,确定纠错编码;(5)按需要将数据码字和纠错码字装配成最终序列,按次序放入分块中;(6)布置条形码图像的矩阵模块;(7)为了QR码的可靠识别,需添加掩模图形;(8)确定格式和版本信息。目前,标准的二维码可以直接使用网站或者应用工具的插件生成,特定需求的二维条码需要自行开发。在Java平台中,确定好二进制位流后,再利用Super Shareware公司提供的QRcode.jar或者Google公司提供的ZXing.jar包,能很方便的生成二维码。
二维条码解码基本过程如下:首先利用二维码上的三个方块定位,再通过二维码上的定位图形和分隔符确定二维码信息的图像。然后,灰度化二维码信息像素,去掉二维码信息像素的噪点;再二值化二维码信息像素,进行二维码译码和纠错,最终得到条码的信息。通用的读取设备例如二维扫描枪、手机的二维条码应用等都包含二维码的解码功能,这些工具可以读取粘贴在平面上的二维码。但在实际生活中,有很多物体是球形,例如篮球、足球等球类或者西红柿、白瓜等农产品,将二维码粘贴到这些物体表面后,条码会由平面变成曲面,使用通用的二维条码读取设备获取的条码会产生一定程度的扭曲变形,条码上代表数据信息的点的位置发生了偏移,并且这些偏移不是线性偏移,虽然通用的解码功能具有一定的纠错能力,但是这种纠错能力对于粘贴到球形表面的二维码纠错能力不足,当形变达到一定程度后,这些工具读取二维条码内容时间加长、或者读取结果不正确,甚至不能读取。
发明内容
为了解决上述技术问题,本发明的目的是提供一种能提高识别率的用于球体表面的二维码生成方法、系统及装置。
本发明所采取的技术方案是:
一种用于球体表面的二维码生成方法,包括以下步骤:
获取平面二维码,并通过二维码生成工具获取平面二维码的编码内容;
根据平面二维码的编码内容,计算平面二维码在目标球体表面的映射关系,进而得到球形二维码每个像素点的坐标;
根据球形二维码每个像素点的坐标,调用二维码生成工具生成得到初步球形二维码;
根据初步球形二维码,通过插值算法进行插值填充,得到最终球形二维码。
作为所述的一种用于球体表面的二维码生成方法的进一步改进,所述的根据平面二维码的编码内容,计算平面二维码在目标球体表面的映射关系,进而得到球形二维码每个像素点的坐标,这一步骤具体包括:
根据平面二维码的编码内容,得到平面二维码的像素点的坐标;
根据目标球体的参数,计算与平面二维码对应的球形二维码中每个像素点到中线的距离,得出映射关系;
以球形二维码的中心为原点,计算得到球形二维码每个像素点的坐标。
作为所述的一种用于球体表面的二维码生成方法的进一步改进,所述的球形二维码每个像素点的坐标的计算公式为:
Figure BDA0001872811330000031
其中,r表示目标球体的半径,l表示扫描摄像头距离目标球体表面的最短距离,m表示平面二维码的边长,x表示平面二维码的像素点的横坐标,y表示平面二维码的像素点的纵坐标,x″表示球形二维码的像素点的横坐标,y″表示球形二维码的像素点的纵坐标。
作为所述的一种用于球体表面的二维码生成方法的进一步改进,所述的根据初步球形二维码,通过插值算法进行插值填充,得到最终球形二维码,这一步骤具体包括:
建立水平界线列表、垂直界线列表和界线起始点列表;
从初步球形二维码的左上角开始,沿水平方向遍历像素点,依据预设的界线起始点判定列表中水平界线起始点的特征,获取所有的水平界线,并依次将水平界线添加到水平界线列表中,同时将所有的水平界线起始点添加到界线起始点列表中;
从界线起始点列表开始遍历,再依据预设的界线起始点判定列表中垂直界线起始点的特征,获取所有的垂直界线,并将构建的垂直界线添加到垂直界线列表中;
遍历所有的插值点,对每一个插值点,遍历像素点最近邻域点队列,获取最小点界距的界线,依据界线的类型插值进行判断,若该界线是水平界线,则该插值点的值为该点最近水平邻域点的值;反之,则该插值点取该点垂直邻域点的值,得到最终球形二维码。
本发明所采用的另一个技术方案是:
一种用于球体表面的二维码生成系统,包括:
获取单元,用于获取平面二维码,并通过二维码生成工具获取平面二维码的编码内容;
计算单元,用于根据平面二维码的编码内容,计算平面二维码在目标球体表面的映射关系,进而得到球形二维码每个像素点的坐标;
生成单元,用于根据球形二维码每个像素点的坐标,调用二维码生成工具生成得到初步球形二维码;
插值单元,用于根据初步球形二维码,通过插值算法进行插值填充,得到最终球形二维码。
作为所述的一种用于球体表面的二维码生成系统的进一步改进,所述的计算单元具体包括:
坐标获取单元,用于根据平面二维码的编码内容,得到平面二维码的像素点的坐标;
映射计算单元,用于根据目标球体的参数,计算与平面二维码对应的球形二维码中每个像素点到中线的距离,得出映射关系;
坐标计算单元,用于以球形二维码的中心为原点,计算得到球形二维码每个像素点的坐标。
作为所述的一种用于球体表面的二维码生成系统的进一步改进,所述的球形二维码每个像素点的坐标的计算公式为:
Figure BDA0001872811330000051
其中,r表示目标球体的半径,l表示扫描摄像头距离目标球体表面的最短距离,m表示平面二维码的边长,x表示平面二维码的像素点的横坐标,y表示平面二维码的像素点的纵坐标,x″表示球形二维码的像素点的横坐标,y″表示球形二维码的像素点的纵坐标。
作为所述的一种用于球体表面的二维码生成系统的进一步改进,所述的插值单元具体包括:
建立单元,用于建立水平界线列表、垂直界线列表和界线起始点列表;
水平界线列表构建单元,用于从初步球形二维码的左上角开始,沿水平方向遍历像素点,依据预设的界线起始点判定列表中水平界线起始点的特征,获取所有的水平界线,并依次将水平界线添加到水平界线列表中,同时将所有的水平界线起始点添加到界线起始点列表中;
垂直界线列表构建单元,用于从界线起始点列表开始遍历,再依据预设的界线起始点判定列表中垂直界线起始点的特征,获取所有的垂直界线,并将构建的垂直界线添加到垂直界线列表中;
插值填充单元,用于遍历所有的插值点,对每一个插值点,遍历像素点最近邻域点队列,获取最小点界距的界线,依据界线的类型插值进行判断,若该界线是水平界线,则该插值点的值为该点最近水平邻域点的值;反之,则该插值点取该点垂直邻域点的值,得到最终球形二维码。
本发明所采用的再一个技术方案是:
一种用于球体表面的二维码生成装置,包括:
存储器,用于存放程序;
处理器,用于执行所述程序,所述程序使得所述处理器执行所述的用于球体表面的二维码生成方法。
本发明的有益效果是:
本发明一种用于球体表面的二维码生成方法、系统及装置根据平面二维码与球形二维码的映射关系和插值填充算法,生成得到最终球形二维码在粘贴在球体表面后,能大大提到识别成功率,为使用条码标识球体提供了很好的帮助。
附图说明
图1是本发明一种用于球体表面的二维码生成方法的步骤流程图;
图2是本发明一种用于球体表面的二维码生成系统的模块方框图;
图3是本发明实施例的映射示意图。
具体实施方式
下面结合附图对本发明的具体实施方式作进一步说明:
参考图1,本发明一种用于球体表面的二维码生成方法,包括以下步骤:
获取平面二维码,并通过二维码生成工具获取平面二维码的编码内容;
根据平面二维码的编码内容,计算平面二维码在目标球体表面的映射关系,进而得到球形二维码每个像素点的坐标;
根据球形二维码每个像素点的坐标,调用二维码生成工具生成得到初步球形二维码;
根据初步球形二维码,通过插值算法进行插值填充,得到最终球形二维码。
进一步作为优选的实施方式,所述的根据平面二维码的编码内容,计算平面二维码在目标球体表面的映射关系,进而得到球形二维码每个像素点的坐标,这一步骤具体包括:
根据平面二维码的编码内容,得到平面二维码的像素点的坐标;
根据目标球体的参数,计算与平面二维码对应的球形二维码中每个像素点到中线的距离,得出映射关系;
以球形二维码的中心为原点,计算得到球形二维码每个像素点的坐标。
进一步作为优选的实施方式,所述的球形二维码每个像素点的坐标的计算公式为:
Figure BDA0001872811330000081
其中,r表示目标球体的半径,l表示扫描摄像头距离目标球体表面的最短距离,m表示平面二维码的边长,x表示平面二维码的像素点的横坐标,y表示平面二维码的像素点的纵坐标,x″表示球形二维码的像素点的横坐标,y″表示球形二维码的像素点的纵坐标。
进一步作为优选的实施方式,所述的根据初步球形二维码,通过插值算法进行插值填充,得到最终球形二维码,这一步骤具体包括:
建立水平界线列表、垂直界线列表和界线起始点列表;
从初步球形二维码的左上角开始,沿水平方向遍历像素点,依据预设的界线起始点判定列表中水平界线起始点的特征,获取所有的水平界线,并依次将水平界线添加到水平界线列表中,同时将所有的水平界线起始点添加到界线起始点列表中;
从界线起始点列表开始遍历,再依据预设的界线起始点判定列表中垂直界线起始点的特征,获取所有的垂直界线,并将构建的垂直界线添加到垂直界线列表中;
遍历所有的插值点,对每一个插值点,遍历像素点最近邻域点队列,获取最小点界距的界线,依据界线的类型插值进行判断,若该界线是水平界线,则该插值点的值为该点最近水平邻域点的值;反之,则该插值点取该点垂直邻域点的值,得到最终球形二维码。
其中,本发明提出的插值算法为改进的球形二维码插值算法——二维码枕型拉伸邻域填充算法。该算法的基本思想是:由于二维码是由一个个的矩形区域构成,球形二维码拉伸时,插值点的像素取值除了考虑最近邻域外,还要考虑插值点的方向性,这样才能更好地体现出插值点的实际取值。例如图3中,插值点1、2、3是像素点1左边的像素点和点3右边的像素点在水平方向的拉伸,这三个点的值应是黑色。而利用最近邻域插值算法,这三个点的值都被赋值了错误的值。同样的道理,插值点5、7、8也被赋予了错误的值。
在说明二维码枕型拉伸邻域填充算法之前,先定义本文后面用到的几个概念:
界线:平面二维码图像中深色和浅色区域交界的线段,每一条界线都有一个起点和终点,界线按照方向分为横向和纵向两种类型,分别称为水平界线和垂直界线。
点界距:平面二维码图像中像素点到界线的距离。分为以下两种情况:(1)点c在界线ab的投影点e在界线上:点界距就是点c到界线ab的距离,即ce的长度;(2)点d在界线ab的投影不在界线ab上,点界距为该点到界线2个端点距离的较小值,d点到界线ab的点解距是bd的长度。对于任意一个点来讲,如果该点最小邻域点在界线列表中,则这个点界距就是最小点界距。
每一条水平界线的起始点必定是不同垂直界线的起始点,同样的道理,每一条垂直界线的起始点必定是不同水平界线的起始点。另外,不同界线起始点的特征有不同的特征,所述界线起始点判定列表如下:
Figure BDA0001872811330000091
表1
参考图2,本发明一种用于球体表面的二维码生成系统,包括:
获取单元,用于获取平面二维码,并通过二维码生成工具获取平面二维码的编码内容;
计算单元,用于根据平面二维码的编码内容,计算平面二维码在目标球体表面的映射关系,进而得到球形二维码每个像素点的坐标;
生成单元,用于根据球形二维码每个像素点的坐标,调用二维码生成工具生成得到初步球形二维码;
插值单元,用于根据初步球形二维码,通过插值算法进行插值填充,得到最终球形二维码。
进一步作为优选的实施方式,所述的计算单元具体包括:
坐标获取单元,用于根据平面二维码的编码内容,得到平面二维码的像素点的坐标;
映射计算单元,用于根据目标球体的参数,计算与平面二维码对应的球形二维码中每个像素点到中线的距离,得出映射关系;
坐标计算单元,用于以球形二维码的中心为原点,计算得到球形二维码每个像素点的坐标。
进一步作为优选的实施方式,所述的球形二维码每个像素点的坐标的计算公式为:
Figure BDA0001872811330000101
其中,r表示目标球体的半径,l表示扫描摄像头距离目标球体表面的最短距离,m表示平面二维码的边长,x表示平面二维码的像素点的横坐标,y表示平面二维码的像素点的纵坐标,x″表示球形二维码的像素点的横坐标,y″表示球形二维码的像素点的纵坐标。
进一步作为优选的实施方式,所述的插值单元具体包括:
建立单元,用于建立水平界线列表、垂直界线列表和界线起始点列表;
水平界线列表构建单元,用于从初步球形二维码的左上角开始,沿水平方向遍历像素点,依据预设的界线起始点判定列表中水平界线起始点的特征,获取所有的水平界线,并依次将水平界线添加到水平界线列表中,同时将所有的水平界线起始点添加到界线起始点列表中;
垂直界线列表构建单元,用于从界线起始点列表开始遍历,再依据预设的界线起始点判定列表中垂直界线起始点的特征,获取所有的垂直界线,并将构建的垂直界线添加到垂直界线列表中;
插值填充单元,用于遍历所有的插值点,对每一个插值点,遍历像素点最近邻域点队列,获取最小点界距的界线,依据界线的类型插值进行判断,若该界线是水平界线,则该插值点的值为该点最近水平邻域点的值;反之,则该插值点取该点垂直邻域点的值,得到最终球形二维码。
本发明实施例中,参考图3,圆O是球形物体的横切面,圆心是点O,半径是r。B点是条码扫描设备的摄像头。C点是条码中心,也是条码贴在球形表面的中心点。D点是平面QR码上的任意一个像素点,A点是BD线与圆的交点,也是平面二维码D点映射球形二维码的映射点。AF是经过A点的圆的切线,与OB交点是F,摄像头距离球形表面距离l,CD的长度是a。
由于条码扫描相机必须将整个二维码放入取景框中,OB≥OF,且AF为圆的切线,故∠OAF=90°,因此,∠3≥∠OAF=90°。
根据图3可得:
Figure BDA0001872811330000121
根据正弦定理可知:
Figure BDA0001872811330000122
由于∠3≥90°,可得
Figure BDA0001872811330000123
由于三角形的内角和为π,故
∠1=π-∠2-∠3
结合公式1和公式2,得出
Figure BDA0001872811330000124
化简后得到:
Figure BDA0001872811330000125
因此,条码上任意一点距离条码中心的距离为
Figure BDA0001872811330000126
球形二维码任一点距离中心的偏移率α为:
Figure BDA0001872811330000127
通过上节的分析知道,球形二维码像素点沿着条码中心的反方向偏移,A(x,y)→A′(x′,y′),拉伸后A′距离O点是原来像素点A点距离O点的α倍。由公式6可知,A′点的坐标x′和y′分别是:
Figure BDA0001872811330000131
二维条码生成的算法是将条码的最左上角定义为坐标原点,横坐标从左到右,纵坐标从上到下,因此,坐标平移后A′点的坐标在新的坐标系下是:
Figure BDA0001872811330000132
将公式7带入公式8,可得到坐标变换后原平面二维码每一个像素点在球形二维码的坐标。
Figure BDA0001872811330000133
本发明实施例中,所述插值算法还可以采用最近邻域填充法,具体如下:
(1)初始化:像素点p(a,b)是最近邻域点,距离原像素点的距离是d。因为d2=a2+b2,其中a,b是距离像素点的距离,单位为像素点,是整数,所以d2也为整数。为减少计算量,本文使用距离平方队列。
(2)构造最近邻域点队列queue(p),初始化为空;
(3)构造最近邻域距离平方d2队列queue(d2):初始化时,d2=1,加入半径平方队列,根据情况依次递增;这个队列即为2个整数的平方和队列。
(4)获取距离d的像素点:横坐标a从0开始直到d,纵坐标从a开始直到d,a2+b2=d2,0≤a≤d,a≤b≤d,(a,b∈Z)。①a=0:将(0,-b)、(b,0)、(0,b)、(-b,0)这四个相对坐标依次添加到最近邻域点队尾;②a≠0∧a≠b:将(a,b)、(b,a)、(b,-a)、(a,-b)、(-a,-b)、(-b,-a)、(-b,a)、(-a,b)这八个相对坐标依次添加到最近邻域点队尾;③a≠0∧a=b,将(a,-a)、(a,a)、(-a,a)、(-a,-a)这四个相对坐标依次添加到最近邻域点队尾;④将d2添加到queue(d2)队尾。最终构造的queue(d2)是[1,2,4,5,8,9,10......],queue(p)是[(0,1),(1,0),(0,-1),(-1,0),(1,1),(1,-1),(-1,-1),(-1,1),(0,2),(2,0),(0,-2),(-2,0),(1,2),(2,1),(2,-1),(1,-2),(-1,-2),(-2,-1),(-2,1),(-1,2)......].
(5)遍历球形二维条码像素点,如果球形二维条码像素点是插值点,从最近邻域点队列中依次查找最近邻域点,并判断该点是不是插值点,如果不是,该点的值即为这个邻域点的值,并停止查找;如果遍历所有的邻域点还没有找到非邻域点,则将d2加1,返回步骤4,直到找到邻域点。
本发明一种用于球体表面的二维码生成装置,包括:
存储器,用于存放程序;
处理器,用于执行所述程序,所述程序使得所述处理器执行所述的用于球体表面的二维码生成方法。
从上述内容可知,本发明一种用于球体表面的二维码生成方法、系统及装置根据平面二维码与球形二维码的映射关系和插值填充算法,生成得到最终球形二维码在粘贴在球体表面后,能大大提到识别成功率,为使用条码标识球体提供了很好的帮助。
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

Claims (7)

1.一种用于球体表面的二维码生成方法,其特征在于,包括以下步骤:
获取平面二维码,并通过二维码生成工具获取平面二维码的编码内容;
根据平面二维码的编码内容,计算平面二维码在目标球体表面的映射关系,进而得到球形二维码每个像素点的坐标;
根据球形二维码每个像素点的坐标,调用二维码生成工具生成得到初步球形二维码;
根据初步球形二维码,通过插值算法进行插值填充,得到最终球形二维码;
所述的根据初步球形二维码,通过插值算法进行插值填充,得到最终球形二维码,这一步骤具体包括:
建立水平界线列表、垂直界线列表和界线起始点列表;
从初步球形二维码的左上角开始,沿水平方向遍历像素点,依据预设的界线起始点判定列表中水平界线起始点的特征,获取所有的水平界线,并依次将水平界线添加到水平界线列表中,同时将所有的水平界线起始点添加到界线起始点列表中;
从界线起始点列表开始遍历,再依据预设的界线起始点判定列表中垂直界线起始点的特征,获取所有的垂直界线,并将构建的垂直界线添加到垂直界线列表中;
遍历所有的插值点,对每一个插值点,遍历像素点最近邻域点队列,获取最小点界距的界线,依据界线的类型插值进行判断,若该界线是水平界线,则该插值点的值为该点最近水平邻域点的值;反之,则该插值点取该点垂直邻域点的值,得到最终球形二维码。
2.根据权利要求1所述的一种用于球体表面的二维码生成方法,其特征在于:所述的根据平面二维码的编码内容,计算平面二维码在目标球体表面的映射关系,进而得到球形二维码每个像素点的坐标,这一步骤具体包括:
根据平面二维码的编码内容,得到平面二维码的像素点的坐标;
根据目标球体的参数,计算与平面二维码对应的球形二维码中每个像素点到中线的距离,得出映射关系;
以球形二维码的中心为原点,计算得到球形二维码每个像素点的坐标。
3.根据权利要求2所述的一种用于球体表面的二维码生成方法,其特征在于:所述的球形二维码每个像素点的坐标的计算公式为:
Figure FDA0002942106780000021
其中,r表示目标球体的半径,l表示扫描摄像头距离目标球体表面的最短距离,m表示平面二维码的边长,x表示平面二维码的像素点的横坐标,y表示平面二维码的像素点的纵坐标,x″表示球形二维码的像素点的横坐标,y″表示球形二维码的像素点的纵坐标。
4.一种用于球体表面的二维码生成系统,其特征在于,包括:
获取单元,用于获取平面二维码,并通过二维码生成工具获取平面二维码的编码内容;
计算单元,用于根据平面二维码的编码内容,计算平面二维码在目标球体表面的映射关系,进而得到球形二维码每个像素点的坐标;
生成单元,用于根据球形二维码每个像素点的坐标,调用二维码生成工具生成得到初步球形二维码;
插值单元,用于根据初步球形二维码,通过插值算法进行插值填充,得到最终球形二维码;
所述的插值单元具体包括:
建立单元,用于建立水平界线列表、垂直界线列表和界线起始点列表;
水平界线列表构建单元,用于从初步球形二维码的左上角开始,沿水平方向遍历像素点,依据预设的界线起始点判定列表中水平界线起始点的特征,获取所有的水平界线,并依次将水平界线添加到水平界线列表中,同时将所有的水平界线起始点添加到界线起始点列表中;
垂直界线列表构建单元,用于从界线起始点列表开始遍历,再依据预设的界线起始点判定列表中垂直界线起始点的特征,获取所有的垂直界线,并将构建的垂直界线添加到垂直界线列表中;
插值填充单元,用于遍历所有的插值点,对每一个插值点,遍历像素点最近邻域点队列,获取最小点界距的界线,依据界线的类型插值进行判断,若该界线是水平界线,则该插值点的值为该点最近水平邻域点的值;反之,则该插值点取该点垂直邻域点的值,得到最终球形二维码。
5.根据权利要求4所述的一种用于球体表面的二维码生成系统,其特征在于:所述的计算单元具体包括:
坐标获取单元,用于根据平面二维码的编码内容,得到平面二维码的像素点的坐标;
映射计算单元,用于根据目标球体的参数,计算与平面二维码对应的球形二维码中每个像素点到中线的距离,得出映射关系;
坐标计算单元,用于以球形二维码的中心为原点,计算得到球形二维码每个像素点的坐标。
6.根据权利要求5所述的一种用于球体表面的二维码生成系统,其特征在于:所述的球形二维码每个像素点的坐标的计算公式为:
Figure FDA0002942106780000041
其中,r表示目标球体的半径,l表示扫描摄像头距离目标球体表面的最短距离,m表示平面二维码的边长,x表示平面二维码的像素点的横坐标,y表示平面二维码的像素点的纵坐标,x″表示球形二维码的像素点的横坐标,y″表示球形二维码的像素点的纵坐标。
7.一种用于球体表面的二维码生成装置,其特征在于,包括:
存储器,用于存放程序;
处理器,用于执行所述程序,所述程序使得所述处理器执行如权利要求1~3任一项所述的用于球体表面的二维码生成方法。
CN201811385161.1A 2018-11-20 2018-11-20 一种用于球体表面的二维码生成方法、系统及装置 Active CN109635613B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811385161.1A CN109635613B (zh) 2018-11-20 2018-11-20 一种用于球体表面的二维码生成方法、系统及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811385161.1A CN109635613B (zh) 2018-11-20 2018-11-20 一种用于球体表面的二维码生成方法、系统及装置

Publications (2)

Publication Number Publication Date
CN109635613A CN109635613A (zh) 2019-04-16
CN109635613B true CN109635613B (zh) 2021-05-25

Family

ID=66068780

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811385161.1A Active CN109635613B (zh) 2018-11-20 2018-11-20 一种用于球体表面的二维码生成方法、系统及装置

Country Status (1)

Country Link
CN (1) CN109635613B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110147865B (zh) * 2019-05-07 2022-05-03 北京印刷学院 二次曲面二维码的生成、识别方法,打印装置及移动终端

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101964045A (zh) * 2010-09-30 2011-02-02 西北工业大学 标刻在圆柱面产品上的数据矩阵码畸变校正方法
CN103020669A (zh) * 2012-11-20 2013-04-03 苏州阔地网络科技有限公司 一种二维码扩充的方法及系统
CN105760919A (zh) * 2016-02-06 2016-07-13 深圳市天朗时代科技有限公司 一种点阵二维码的编码和识别方法
CN106203226A (zh) * 2016-06-23 2016-12-07 北京印刷学院 一种球体表面的二维码的生成和采集方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100511271C (zh) * 2006-11-16 2009-07-08 深圳市天朗时代科技有限公司 二维码解码方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101964045A (zh) * 2010-09-30 2011-02-02 西北工业大学 标刻在圆柱面产品上的数据矩阵码畸变校正方法
CN103020669A (zh) * 2012-11-20 2013-04-03 苏州阔地网络科技有限公司 一种二维码扩充的方法及系统
CN105760919A (zh) * 2016-02-06 2016-07-13 深圳市天朗时代科技有限公司 一种点阵二维码的编码和识别方法
CN106203226A (zh) * 2016-06-23 2016-12-07 北京印刷学院 一种球体表面的二维码的生成和采集方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于物联网的农产品质量安全溯源系统;白红武等;《江苏农业学报》;20130430;第29卷(第2期);第415-420页 *

Also Published As

Publication number Publication date
CN109635613A (zh) 2019-04-16

Similar Documents

Publication Publication Date Title
Liu et al. Recognition of QR Code with mobile phones
Chai et al. Locating and decoding EAN-13 barcodes from images captured by digital cameras
EP2393035B1 (en) QR barcode decoding chip and decoding method thereof
CN102136058B (zh) 条形码图像识别方法
US8733649B2 (en) Data matrix decoding chip and decoding method thereof
EP2393038A1 (en) Matrix-type two-dimensional barcode decoding chip and decoding method thereof
CN105046184A (zh) 基于畸变图像校正的二维码解码方法和系统
JP2007317184A (ja) 二次元バーコード、その符号化方法及び復号化方法
Liu et al. Automatic recognition algorithm of quick response code based on embedded system
Lei et al. Design and decoding of an M-array pattern for low-cost structured light 3D reconstruction systems
CN105046183A (zh) 一种畸变qr码的解码方法和系统
CN109101855B (zh) 一种基于opencv的缺失定位框二维码识别方法
CN101908128B (zh) Aztec Code条码解码芯片及其解码方法
CN101882220B (zh) 一种基于动态模板的条码图像校正方法及校正点获取方法
Klimek et al. QR code detection using parallel lines
CN115511031A (zh) 一种扩容二维码、三维码解码方法、系统、设备和介质
CN113111674A (zh) Aztec码定位与解码方法、系统、设备及存储介质
CN109635613B (zh) 一种用于球体表面的二维码生成方法、系统及装置
CN104346596A (zh) 一种qr码的识别方法及识别装置
CN101882213B (zh) 一种条码图像采样方法
CN109977715B (zh) 基于轮廓识别的二维码识别方法及二维码
Han et al. L-split marker for augmented reality in aircraft assembly
CN101908144B (zh) 一种条码图像校正方法及校正点获取方法
CN109934036B (zh) 一种通过单一位置探测图形识读qr码的方法和系统
CN105046256A (zh) 基于畸变图像校正的qr码解码方法和系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant