[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN113111674A - Aztec码定位与解码方法、系统、设备及存储介质 - Google Patents

Aztec码定位与解码方法、系统、设备及存储介质 Download PDF

Info

Publication number
CN113111674A
CN113111674A CN202110390575.9A CN202110390575A CN113111674A CN 113111674 A CN113111674 A CN 113111674A CN 202110390575 A CN202110390575 A CN 202110390575A CN 113111674 A CN113111674 A CN 113111674A
Authority
CN
China
Prior art keywords
aztec code
identified
image
code
aztec
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.)
Pending
Application number
CN202110390575.9A
Other languages
English (en)
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.)
Guangdong OPT Machine Vision Co Ltd
Original Assignee
Guangdong OPT Machine Vision Co Ltd
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 Guangdong OPT Machine Vision Co Ltd filed Critical Guangdong OPT Machine Vision Co Ltd
Priority to CN202110390575.9A priority Critical patent/CN113111674A/zh
Publication of CN113111674A publication Critical patent/CN113111674A/zh
Pending legal-status Critical Current

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/1439Methods for optical code recognition including a method step for retrieval of the optical code
    • G06K7/1443Methods for optical code recognition including a method step for retrieval of the optical code locating of the code in an image
    • 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/1439Methods for optical code recognition including a method step for retrieval of the optical code
    • G06K7/1452Methods for optical code recognition including a method step for retrieval of the optical code detecting bar code edges
    • 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

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 Analysis (AREA)

Abstract

本发明公开了一种Aztec码定位与解码方法、系统、设备及存储介质,其中方法包括:对获取的包含待识别Aztec码的图像进行边缘检测,得到边缘轮廓图像;对边缘轮廓图像进行轮廓筛选,判断待识别的Aztec码的类型;根据待识别的Aztec码的类型所对应的结构特点计算待识别的Aztec码的特征信息;根据待识别的Aztec码的特征信息,通过最小二乘法拟合出待识别Aztec码的四条边;对拟合出的四条边进行求交点,得到待识别Aztec码的码区的四个顶点的坐标,并确定待识别图像的Aztec码的码区的透视变换矩阵并对待识别的Aztec码进行透视变换矫正,然后进行自适应二值化处理并进行解码。本发明可以快速准确地对复杂情况下的Aztec码进行定位识别并解码,具有较强的鲁棒性,提高了解码的效率和成功率。

Description

Aztec码定位与解码方法、系统、设备及存储介质
技术领域
本发明涉及机器视觉算法技术领域,尤其涉及一种Aztec码定位与解码方法、系统、设备及存储介质。
背景技术
二维码(two dimension code),又称二维条码,它是用特定的几何图形按一定规律在平面(二维方向)上分布的黑白相间的图形,是所有信息数据的一把钥匙。在现代商业活动中,可实现的应用十分广泛,如:产品防伪/溯源、广告推送、网站链接、数据下载、商品交易、定位/导航、电子凭证、车辆管理、信息传递、名片交流、wifi共享等等。
近几年,随着工业4.0的不断推进,利用二维码对工业产品及零部件进行标识,实现对产品及零部件的生成追踪,装配管理,生命周期维护等已经成为自动化工业的行业标准。同时,二维码在仓储物流、文件管理、票务信息存储和处理等方面的应用使得这些领域的便捷性有了显著的提升。
Aztec码(Aztec Code,阿兹特克码)是众多二维码中的一种,由Andrew Longacre,Jr.和Robert Hussey于1995年设计发明,它的命名主要是因为条码中央的定位器有点像从高空鸟瞰Aztec(阿兹特克)金字塔,因此得名。由于它具备优秀的数据压缩能力、强大的纠错能力及更快的读取速度,因此非常受到工业及文件信息管理等行业的青睐。
目前,在实际使用时人们发现,如果Aztec码图像出现仿射变形、透视变形、码区被遮挡或者码区缺失、光照不均等复杂情况,则常规的定位与解码算法无法满足其需求,从而不能快速准确地对Aztec码进行定位识别并解码。
因此,研究出一种针对复杂情况下的Aztec码快速定位与解码算法具有重要的意义。
以上信息作为背景信息给出只是为了辅助理解本公开,并没有确定或者承认任意上述内容是否可用作相对于本公开的现有技术。
发明内容
本发明提供一种Aztec码定位与解码方法、系统、设备及存储介质,以解决现有技术的不足。
为实现上述目的,本发明提供以下的技术方案:
第一方面,本发明实施例提供一种Aztec码定位与解码方法,所述方法包括:
对获取的包含待识别Aztec码的图像进行边缘检测,得到边缘轮廓图像;
对所述边缘轮廓图像进行轮廓筛选,建立轮廓树,并将根据所述轮廓树以及Aztec码的类型特征判断待识别的Aztec码的类型;
根据待识别的Aztec码的类型所对应的结构特点计算待识别的Aztec码的特征信息,所述特征信息包括模块大小Module size、符号大小Symbol size、方向信息Orientation message、数据层数Layers以及码字块的个数Data blocks;
根据待识别的Aztec码的特征信息在待识别的Aztec码图像的四条外边上分别使用多条扫描线进行扫描,得到每条扫描线上的梯度峰值点,对每条扫描线上的梯度峰值点采用RANSAC算法进行异常点排除,并通过最小二乘法拟合出待识别Aztec码的四条边;
对拟合出的四条边进行求交点,得到待识别Aztec码的码区的四个顶点的坐标,根据四个顶点的坐标确定待识别图像的Aztec码的码区的透视变换矩阵并对待识别的Aztec码进行透视变换矫正;
对透视变换矫正后的待识别的Aztec码进行自适应二值化处理,得到自适应二值化图像;
将所述自适应二值化图像转换成解码所需要的类型的数据并进行解码,得到解码结果。
进一步地,所述Aztec码定位与解码方法中,对所述边缘轮廓图像进行轮廓筛选,建立轮廓树,并将根据所述轮廓树以及Aztec码的类型特征判断待识别的Aztec码的类型的步骤包括:
对所述边缘轮廓图像进行轮廓筛选,建立轮廓树,并将符合预设条件的父轮廓记录在所述轮廓树中;
根据所述轮廓树中符合预设条件的父轮廓的数量以及Aztec码的类型特征判断待识别的Aztec码的类型。
进一步地,所述Aztec码定位与解码方法中,所述对获取的包含待识别Aztec码的图像进行边缘检测,得到边缘轮廓图像的步骤包括:
对获取的包含待识别Aztec码的图像进行灰度化和滤波去噪处理,得到预处理后图像;
采用Canny边缘检测算法对所述预处理后图像进行边缘检测,得到边缘轮廓图像。
进一步地,所述Aztec码定位与解码方法中,所述对透视变换矫正后的待识别的Aztec码进行自适应二值化处理,得到自适应二值化图像的步骤包括:
提取并分割出透视变换矫正后的待识别的Aztec码的码区图像,并进行自适应二值化处理,得到自适应二值化图像。
第二方面,本发明实施例提供一种Aztec码定位与解码系统,所述系统包括:
边缘检测模块,用于对获取的包含待识别Aztec码的图像进行边缘检测,得到边缘轮廓图像;
类型识别模块,用于对所述边缘轮廓图像进行轮廓筛选,建立轮廓树,并将根据所述轮廓树以及Aztec码的类型特征判断待识别的Aztec码的类型;
信息计算模块,用于根据待识别的Aztec码的类型所对应的结构特点计算待识别的Aztec码的特征信息,所述特征信息包括模块大小Module size、符号大小Symbol size、方向信息Orientation message、数据层数Layers以及码字块的个数Data blocks;
边线拟合模块,用于根据待识别的Aztec码的特征信息在待识别的Aztec码图像的四条外边上分别使用多条扫描线进行扫描,得到每条扫描线上的梯度峰值点,对每条扫描线上的梯度峰值点采用RANSAC算法进行异常点排除,并通过最小二乘法拟合出待识别Aztec码的四条边;
码区矫正模块,用于对拟合出的四条边进行求交点,得到待识别Aztec码的码区的四个顶点的坐标,根据四个顶点的坐标确定待识别图像的Aztec码的码区的透视变换矩阵并对待识别的Aztec码进行透视变换矫正;
图像处理模块,用于对透视变换矫正后的待识别的Aztec码进行自适应二值化处理,得到自适应二值化图像;
图像解码模块,用于将所述自适应二值化图像转换成解码所需要的类型的数据并进行解码,得到解码结果。
进一步地,所述Aztec码定位与解码系统中,所述类型识别模块具体用于:
对所述边缘轮廓图像进行轮廓筛选,建立轮廓树,并将符合预设条件的父轮廓记录在所述轮廓树中;
根据所述轮廓树中符合预设条件的父轮廓的数量以及Aztec码的类型特征判断待识别的Aztec码的类型。
进一步地,所述Aztec码定位与解码系统中,所述边缘检测模块具体用于:
对获取的包含待识别Aztec码的图像进行灰度化和滤波去噪处理,得到预处理后图像;
采用Canny边缘检测算法对所述预处理后图像进行边缘检测,得到边缘轮廓图像。
进一步地,所述Aztec码定位与解码系统中,所述图像处理模块具体用于:
提取并分割出透视变换矫正后的待识别的Aztec码的码区图像,并进行自适应二值化处理,得到自适应二值化图像。
第三方面,本发明实施例提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上述任一方面所述的Aztec码定位与解码方法。
第四方面,本发明实施例提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令由计算机处理器执行,以实现如上述任一方面所述的Aztec码定位与解码方法。
与现有技术相比,本发明实施例具有以下有益效果:
本发明实施例提供的一种Aztec码定位与解码方法、系统、设备及存储介质,可以快速准确地对复杂情况下的Aztec码进行定位识别并解码,具有较强的鲁棒性,提高了解码的效率和成功率,适于大范围推广应用。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例一提供的一种Aztec码定位与解码方法的流程示意图;
图2是本发明实施例一中预处理后图像的示意图;
图3是本发明实施例一中边缘轮廓图像的示意图;
图4是本发明实施例一中compact型Aztec码的示意图;
图5是本发明实施例一中full-range型Aztec码的示意图;
图6是本发明实施例一中显示出探测图形的最外层的内边框以及内层的边框的示意图;
图7是本发明实施例一中读取到的待识别Aztec码的特征信息的示意图;
图8是本发明实施例一中四条边上的扫描线的扫描过程的示意图;
图9是本发明实施例一中拟合出的Aztec码的四条边的示意图;
图10是本发明实施例一中对待识别的Aztec码进行透视变换矫正的示意图;
图11是本发明实施例一中Aztec码的码区的灰度图像示意图;
图12是本发明实施例一中Aztec码的码区的二值图像示意图;
图13是本发明实施例一中解码结果的示意图;
图14是本发明实施例二提供的一种Aztec码定位与解码系统的功能模块示意图;
图15是本发明实施例三提供的一种计算机设备的结构示意图。
具体实施方式
为使得本发明的目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在本发明的描述中,需要理解的是,当一个组件被认为是“连接”另一个组件,它可以是直接连接到另一个组件或者可能同时存在居中设置的组件。当一个组件被认为是“设置在”另一个组件,它可以是直接设置在另一个组件上或者可能同时存在居中设置的组件。
此外,术语“长”“短”“内”“外”等指示方位或位置关系为基于附图所展示的方位或者位置关系,仅是为了便于描述本发明,而不是指示或暗示所指的装置或原件必须具有此特定的方位、以特定的方位构造进行操作,以此不能理解为本发明的限制。
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。
实施例一
有鉴于现有的Aztec码识别技术在复杂情况下无法进行的缺陷,本发明人基于从事该领域多年丰富的实务经验及专业知识,并配合学理的运用,积极加以研究创新,以期创设一种切实可行的Aztec码识别技术,使其更具有实用性。在经过不断的研究、设计并反复试作及改进后,终于创设出确具实用价值的本发明。
请参阅图1,图1是本发明实施例公开的一种Aztec码定位与解码方法的流程示意图,该方法适用于对复杂情况下Aztec码进行识别的场景,该方法由Aztec码定位与解码系统来执行,该系统可以由软件和/或硬件实现,集成于计算机设备的内部。如图1所示,该Aztec码定位与解码方法可以包括以下步骤:
S101、对获取的包含待识别Aztec码的图像进行边缘检测,得到边缘轮廓图像。
优选的,所述步骤S101进一步包括:
对获取的包含待识别Aztec码的图像进行灰度化和滤波去噪处理,得到预处理后图像(如图2所示);
采用Canny边缘检测算法对所述预处理后图像进行边缘检测,得到边缘轮廓图像(如图3所示)。
需要说明的是,所述步骤S101还可以进一步包括如下步骤:
步骤一:对获取的包含待识别Aztec码的彩色图像采用加权平均值法进行灰度化,加权平均值法的公式为:
Gray=(0.299xR+0.587xG+0.114xB);
然后将灰度化后的图像进行滤波去噪处理,此算法的滤波核大小为3x3,用于去除掉一定的噪声干扰;
步骤二:使用Canny边缘检测算法,用一个高斯滤波器平滑滤波处理后的图像,计算梯度幅值图像与角度图像,然后对梯度幅值图像应用非最大抑制,最后用双阈值处理和连接分析来检测并连接边缘,其中高斯函数与计算梯度幅值的公式如下:
Figure BDA0003016560360000081
Figure BDA0003016560360000082
S102、对所述边缘轮廓图像进行轮廓筛选,建立轮廓树,并将根据所述轮廓树以及Aztec码的类型特征判断待识别的Aztec码的类型。
需要说明的是,Aztec码共有两种类型,即compact型与full-range型,其中compact型的Aztec码中的探测图形(Finder pattern)的模块序列按深色-浅色-深色-浅色-深色的顺序构成(如图4所示),各元素的相对宽度的比例是1:1:1:1:1,compact型的Aztec码的核心符号(core symbol)的模块大小为11x11;其中full-range型的Aztec码中的探测图形(Finder pattern)的模块序列按深色-浅色-深色-浅色-深色-浅色-深色的顺序构成(如图5所示),各元素的相对宽度的比例是1:1:1:1:1:1:1,full-range型的Aztec码的核心符号(core symbol)的模块大小为15x15。
其中,Aztec码的方向图形(Orientation Pattern)位于探测图形(Finderpattern)的四个角上,每个角上的方向图形(Orientation Pattern)占3个模块的大小,且方向图形(Orientation Pattern)的左上角的3个模块都为黑色模块,左下角的3个模块都为白色模块,右上角的3个模块由2个黑色模块和1个白色模块组成,右下角的3个模块由1个黑色模块和2个白色模块组成。
优选的,所述步骤S102进一步包括:
对所述边缘轮廓图像进行轮廓筛选,建立轮廓树,并将符合预设条件的父轮廓记录在所述轮廓树中。
根据所述轮廓树中符合预设条件的父轮廓的数量以及Aztec码的类型特征判断待识别的Aztec码的类型。
需要说明的是,所述步骤S102还可以进一步包括如下步骤:
步骤一:对步骤S101后的图像进行轮廓筛选操作,定位出Azter码的探测图形(Finder pattern)中的轮廓的最外层的内边框以及内层的边框(如图6所示),对得到的轮廓的面积大小以及轮廓中嵌套轮廓的数量进行筛选,再筛选出轮廓树中具有两个及两个以上子轮廓的父轮廓并记录下符合条件的父轮廓的数量,最后将筛选后符合条件的父轮廓记录在轮廓树中;
步骤二:根据符合条件的父轮廓的数量及Aztec码的两种类型的类型特征来判断待识别的Aztec码的类型是compact型还是full-range型。
当两个轮廓嵌套起来类似同心圆时,相对外面的轮廓我们定义为父轮廓,相对里面的轮廓我们定义为子轮廓。
S103、根据待识别的Aztec码的类型所对应的结构特点计算待识别的Aztec码的特征信息。
其中,所述特征信息包括模块大小Module size、符号大小Symbol size、方向信息Orientation message、数据层数Layers以及码字块的个数Data blocks,读取到的信息的结果如图7所示。
优选的,所述步骤S103进一步包括:
步骤一:利用步骤S102中得到的待识别的Aztec码所属类型锁对应的结构特点去计算待识别的Aztec码的探测图形(Finder pattern)的透视变换矩阵;
步骤二:使用步骤一中所得到的透视变换矩阵结合Aztec码的方向图形(Orientation pattern)的放置规则去判断出待识别的Aztec码的正确方向信息;
步骤三:利用上述步骤中得到的待识别的Aztec码的类型信息、方向信息以及探测图形(Finder pattern)的透视变换矩阵并结合Aztec码的模式消息(Mode message)的放置规则来计算出待识别的Aztec码的模式消息(Mode message)中每个模块的坐标;
步骤四:解码步骤三中得到的待识别的Aztec码的模式消息(Mode message),得到数据层数Layers以及码字块的个数Data blocks的具体数据;
模式消息(Mode message)里面存储了Aztec码的一些信息,比如尺寸大小和存储的数据区域的个数等信息。Modulesize和symbolesize都是根据Aztec码的编码规则,从模式消息(Mode message)里面读取出来的,这些信息以1、0的形式存储在模式消息(Modemessage)中,1和0分别代表aztec二维码的mode message里面的黑和白模块。
S104、根据待识别的Aztec码的特征信息在待识别的Aztec码图像的四条外边上分别使用多条扫描线进行扫描(如图8所示),得到每条扫描线上的梯度峰值点,对每条扫描线上的梯度峰值点采用RANSAC算法进行异常点排除,并通过最小二乘法拟合出待识别Aztec码的四条边(如图9所示)。
优选的,所述步骤S104进一步包括:
步骤一:根据前面步骤中的得到的信息确定待识别的Aztec码四条粗糙的边缘,然后根据四条粗糙的边缘的倾斜角度信息以及四条粗糙的边缘的起点与终点计算出在四条粗糙的边缘上的多条扫描线倾斜角度信息以及扫描线的起点和终点的坐标,对扫描线进行采样然后遍历扫描线上各采样点并对各采样点的投影宽度之内的点做双线性插值并根据距离加权的方法计算出插值后的坐标进而计算出各采样点及其投影宽度之内的各点的灰度值,然后使用高斯滤波对各采样点以及其投影宽度之内的点进行处理并将得到的灰度值赋给各采样点(作为各采样点的实际灰度值),然后对每条扫描线上的分别求梯度峰值点,然后得到每条扫描线上的梯度峰值点的坐标并记录在容器中,求取梯度峰值点的公式采用一阶导数的计算方法,其计算公式为:
fi'=1/2(fi+1-fi-1);
步骤二:对记录在容器中的梯度峰值点使用RANSAC算法筛选掉异常点,然后使用最小二乘法对筛选后的点集进行直线拟合,拟合出来的直线方程采用标准式,采用标准式的直线方程的适用性更好,标准式公式如下:
Ax+By+c=0。
S105、对拟合出的四条边进行求交点,得到待识别Aztec码的码区的四个顶点的坐标,根据四个顶点的坐标确定待识别图像的Aztec码的码区的透视变换矩阵并对待识别的Aztec码进行透视变换矫正(如图10所示)。
优选的,所述步骤S105进一步包括:
步骤一:对步骤S104拟合后得到的四条边(直线)进行求交点,得到待识别的Aztec码的实际码区的四个顶点的坐标,并判断出这四个顶点分别对应标准的Aztec码的哪个顶点;
步骤二:根据步骤一中得到的四个顶点的坐标与上述步骤中得到的待识别Aztec码的信息计算出待识别图像的Aztec码的码区的透视变换矩阵,并使用该透视变换矩阵待识别的Aztec码进行进行矫正。
S106、对透视变换矫正后的待识别的Aztec码进行自适应二值化处理,得到自适应二值化图像。
优选的,所述步骤S106进一步包括:
提取并分割出透视变换矫正后的待识别的Aztec码的码区图像(如图11和图12所示),并进行自适应二值化处理,得到自适应二值化图像。
S107、将所述自适应二值化图像转换成解码所需要的类型的数据并进行解码,得到解码结果(如图13所示)。
本发明实施例提供的一种Aztec码定位与解码方法,可以快速准确地对复杂情况下的Aztec码进行定位识别并解码,包括但不限于存在仿射变形的Aztec码图像、存在透视变形的Aztec码图像、存在光照不均的Aztec码图像、存在干扰信息角度的Aztec码图像,具有较强的鲁棒性,提高了解码的效率和成功率,适于大范围推广应用。
实施例二
请参阅附图14,图14为本发明实施例二提供的一种Aztec码定位与解码系统的功能模块示意图,该系统适用于执行本发明实施例提供的Aztec码定位与解码方法。该系统具体包含如下模块:
边缘检测模块201,用于对获取的包含待识别Aztec码的图像进行边缘检测,得到边缘轮廓图像;
类型识别模块202,用于对所述边缘轮廓图像进行轮廓筛选,建立轮廓树,并将根据所述轮廓树以及Aztec码的类型特征判断待识别的Aztec码的类型;
信息计算模块203,用于根据待识别的Aztec码的类型所对应的结构特点计算待识别的Aztec码的特征信息,所述特征信息包括模块大小Module size、符号大小Symbolsize、方向信息Orientation message、数据层数Layers以及码字块的个数Data blocks;
边线拟合模块204,用于根据待识别的Aztec码的特征信息在待识别的Aztec码图像的四条外边上分别使用多条扫描线进行扫描,得到每条扫描线上的梯度峰值点,对每条扫描线上的梯度峰值点采用RANSAC算法进行异常点排除,并通过最小二乘法拟合出待识别Aztec码的四条边;
码区矫正模块205,用于对拟合出的四条边进行求交点,得到待识别Aztec码的码区的四个顶点的坐标,根据四个顶点的坐标确定待识别图像的Aztec码的码区的透视变换矩阵并对待识别的Aztec码进行透视变换矫正;
图像处理模块206,用于对透视变换矫正后的待识别的Aztec码进行自适应二值化处理,得到自适应二值化图像;
图像解码模块207,用于将所述自适应二值化图像转换成解码所需要的类型的数据并进行解码,得到解码结果。
优选的,所述类型识别模块202具体用于:
对所述边缘轮廓图像进行轮廓筛选,建立轮廓树,并将符合预设条件的父轮廓记录在所述轮廓树中;
根据所述轮廓树中符合预设条件的父轮廓的数量以及Aztec码的类型特征判断待识别的Aztec码的类型。
优选的,所述边缘检测模块201具体用于:
对获取的包含待识别Aztec码的图像进行灰度化和滤波去噪处理,得到预处理后图像;
采用Canny边缘检测算法对所述预处理后图像进行边缘检测,得到边缘轮廓图像。
优选的,所述图像处理模块206具体用于:
提取并分割出透视变换矫正后的待识别的Aztec码的码区图像,并进行自适应二值化处理,得到自适应二值化图像。
本发明实施例提供的一种Aztec码定位与解码系统,可以快速准确地对复杂情况下的Aztec码进行定位识别并解码,具有较强的鲁棒性,提高了解码的效率和成功率,适于大范围推广应用。
上述系统可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
实施例三
图3为本发明实施例三提供的一种计算机设备的结构示意图。图15示出了适于用来实现本发明实施方式的示例性计算机设备12的框图。图15显示的计算机设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图15所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图15未显示,通常称为“硬盘驱动器”)。尽管图15中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图15中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的Aztec码定位与解码方法。
也即,所述处理单元执行所述程序时实现:对获取的包含待识别Aztec码的图像进行边缘检测,得到边缘轮廓图像;对所述边缘轮廓图像进行轮廓筛选,建立轮廓树,并将根据所述轮廓树以及Aztec码的类型特征判断待识别的Aztec码的类型;根据待识别的Aztec码的类型所对应的结构特点计算待识别的Aztec码的特征信息;根据待识别的Aztec码的特征信息在待识别的Aztec码图像的四条外边上分别使用多条扫描线进行扫描,得到每条扫描线上的梯度峰值点,对每条扫描线上的梯度峰值点采用RANSAC算法进行异常点排除,并通过最小二乘法拟合出待识别Aztec码的四条边;对拟合出的四条边进行求交点,得到待识别Aztec码的码区的四个顶点的坐标,根据四个顶点的坐标确定待识别图像的Aztec码的码区的透视变换矩阵并对待识别的Aztec码进行透视变换矫正;对透视变换矫正后的待识别的Aztec码进行自适应二值化处理,得到自适应二值化图像;将所述自适应二值化图像转换成解码所需要的类型的数据并进行解码,得到解码结果。
实施例四
本发明实施例四提供了一种计算机可读存储介质,其上存储有计算机可执行指令,该指令被处理器执行时实现如本申请所有发明实施例提供的Aztec码定位与解码方法:
也即,所述处理单元执行所述程序时实现:对获取的包含待识别Aztec码的图像进行边缘检测,得到边缘轮廓图像;对所述边缘轮廓图像进行轮廓筛选,建立轮廓树,并将根据所述轮廓树以及Aztec码的类型特征判断待识别的Aztec码的类型;根据待识别的Aztec码的类型所对应的结构特点计算待识别的Aztec码的特征信息;根据待识别的Aztec码的特征信息在待识别的Aztec码图像的四条外边上分别使用多条扫描线进行扫描,得到每条扫描线上的梯度峰值点,对每条扫描线上的梯度峰值点采用RANSAC算法进行异常点排除,并通过最小二乘法拟合出待识别Aztec码的四条边;对拟合出的四条边进行求交点,得到待识别Aztec码的码区的四个顶点的坐标,根据四个顶点的坐标确定待识别图像的Aztec码的码区的透视变换矩阵并对待识别的Aztec码进行透视变换矫正;对透视变换矫正后的待识别的Aztec码进行自适应二值化处理,得到自适应二值化图像;将所述自适应二值化图像转换成解码所需要的类型的数据并进行解码,得到解码结果。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种Aztec码定位与解码方法,其特征在于,所述方法包括:
对获取的包含待识别Aztec码的图像进行边缘检测,得到边缘轮廓图像;
对所述边缘轮廓图像进行轮廓筛选,建立轮廓树,并将根据所述轮廓树以及Aztec码的类型特征判断待识别的Aztec码的类型;
根据待识别的Aztec码的类型所对应的结构特点计算待识别的Aztec码的特征信息;
根据待识别的Aztec码的特征信息在待识别的Aztec码图像的四条外边上分别使用多条扫描线进行扫描,得到每条扫描线上的梯度峰值点,对每条扫描线上的梯度峰值点采用RANSAC算法进行异常点排除,并通过最小二乘法拟合出待识别Aztec码的四条边;
对拟合出的四条边进行求交点,得到待识别Aztec码的码区的四个顶点的坐标,根据四个顶点的坐标确定待识别图像的Aztec码的码区的透视变换矩阵并对待识别的Aztec码进行透视变换矫正;
对透视变换矫正后的待识别的Aztec码进行自适应二值化处理,得到自适应二值化图像;
将所述自适应二值化图像转换成解码所需要的类型的数据并进行解码,得到解码结果。
2.根据权利要求1所述的Aztec码定位与解码方法,其特征在于,对所述边缘轮廓图像进行轮廓筛选,建立轮廓树,并将根据所述轮廓树以及Aztec码的类型特征判断待识别的Aztec码的类型的步骤包括:
对所述边缘轮廓图像进行轮廓筛选,建立轮廓树,并将符合预设条件的父轮廓记录在所述轮廓树中;
根据所述轮廓树中符合预设条件的父轮廓的数量以及Aztec码的类型特征判断待识别的Aztec码的类型。
3.根据权利要求1所述的Aztec码定位与解码方法,其特征在于,所述对获取的包含待识别Aztec码的图像进行边缘检测,得到边缘轮廓图像的步骤包括:
对获取的包含待识别Aztec码的图像进行灰度化和滤波去噪处理,得到预处理后图像;
采用Canny边缘检测算法对所述预处理后图像进行边缘检测,得到边缘轮廓图像。
4.根据权利要求1所述的Aztec码定位与解码方法,其特征在于,所述对透视变换矫正后的待识别的Aztec码进行自适应二值化处理,得到自适应二值化图像的步骤包括:
提取并分割出透视变换矫正后的待识别的Aztec码的码区图像,并进行自适应二值化处理,得到自适应二值化图像。
5.一种Aztec码定位与解码系统,其特征在于,所述系统包括:
边缘检测模块,用于对获取的包含待识别Aztec码的图像进行边缘检测,得到边缘轮廓图像;
类型识别模块,用于对所述边缘轮廓图像进行轮廓筛选,建立轮廓树,并将根据所述轮廓树以及Aztec码的类型特征判断待识别的Aztec码的类型;
信息计算模块,用于根据待识别的Aztec码的类型所对应的结构特点计算待识别的Aztec码的特征信息;
边线拟合模块,用于根据待识别的Aztec码的特征信息在待识别的Aztec码图像的四条外边上分别使用多条扫描线进行扫描,得到每条扫描线上的梯度峰值点,对每条扫描线上的梯度峰值点采用RANSAC算法进行异常点排除,并通过最小二乘法拟合出待识别Aztec码的四条边;
码区矫正模块,用于对拟合出的四条边进行求交点,得到待识别Aztec码的码区的四个顶点的坐标,根据四个顶点的坐标确定待识别图像的Aztec码的码区的透视变换矩阵并对待识别的Aztec码进行透视变换矫正;
图像处理模块,用于对透视变换矫正后的待识别的Aztec码进行自适应二值化处理,得到自适应二值化图像;
图像解码模块,用于将所述自适应二值化图像转换成解码所需要的类型的数据并进行解码,得到解码结果。
6.根据权利要求5所述的Aztec码定位与解码系统,其特征在于,所述类型识别模块具体用于:
对所述边缘轮廓图像进行轮廓筛选,建立轮廓树,并将符合预设条件的父轮廓记录在所述轮廓树中;
根据所述轮廓树中符合预设条件的父轮廓的数量以及Aztec码的类型特征判断待识别的Aztec码的类型。
7.根据权利要求5所述的Aztec码定位与解码系统,其特征在于,所述边缘检测模块具体用于:
对获取的包含待识别Aztec码的图像进行灰度化和滤波去噪处理,得到预处理后图像;
采用Canny边缘检测算法对所述预处理后图像进行边缘检测,得到边缘轮廓图像。
8.根据权利要求5所述的Aztec码定位与解码系统,其特征在于,所述图像处理模块具体用于:
提取并分割出透视变换矫正后的待识别的Aztec码的码区图像,并进行自适应二值化处理,得到自适应二值化图像。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1~4中任一项所述的Aztec码定位与解码方法。
10.一种包含计算机可执行指令的存储介质,所述计算机可执行指令由计算机处理器执行,以实现如权利要求1~4中任一项所述的Aztec码定位与解码方法。
CN202110390575.9A 2021-04-12 2021-04-12 Aztec码定位与解码方法、系统、设备及存储介质 Pending CN113111674A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110390575.9A CN113111674A (zh) 2021-04-12 2021-04-12 Aztec码定位与解码方法、系统、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110390575.9A CN113111674A (zh) 2021-04-12 2021-04-12 Aztec码定位与解码方法、系统、设备及存储介质

Publications (1)

Publication Number Publication Date
CN113111674A true CN113111674A (zh) 2021-07-13

Family

ID=76716031

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110390575.9A Pending CN113111674A (zh) 2021-04-12 2021-04-12 Aztec码定位与解码方法、系统、设备及存储介质

Country Status (1)

Country Link
CN (1) CN113111674A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113723136A (zh) * 2021-08-31 2021-11-30 杭州海康威视数字技术股份有限公司 条码矫正方法、装置、设备及存储介质
CN114997206A (zh) * 2022-08-02 2022-09-02 北京紫光青藤微系统有限公司 一种Aztec码图边界定位的方法及装置
CN117574930A (zh) * 2024-01-15 2024-02-20 北京航空航天大学杭州创新研究院 立体条形码信息生成方法、装置、电子设备和可读介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070183666A1 (en) * 2006-02-08 2007-08-09 Yuhua Ding Method utilizing intensity interpolation for measuring edge locations in a high precision machine vision inspection system
CN101908128A (zh) * 2010-06-01 2010-12-08 福建新大陆电脑股份有限公司 Aztec Code条码解码芯片及其解码方法
US20170236258A1 (en) * 2015-11-02 2017-08-17 Cognex Corporation System and method for finding lines in an image with a vision system
CN110309687A (zh) * 2019-07-05 2019-10-08 华中科技大学 一种二维码图像的校正方法及校正装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070183666A1 (en) * 2006-02-08 2007-08-09 Yuhua Ding Method utilizing intensity interpolation for measuring edge locations in a high precision machine vision inspection system
CN101908128A (zh) * 2010-06-01 2010-12-08 福建新大陆电脑股份有限公司 Aztec Code条码解码芯片及其解码方法
US20170236258A1 (en) * 2015-11-02 2017-08-17 Cognex Corporation System and method for finding lines in an image with a vision system
CN110309687A (zh) * 2019-07-05 2019-10-08 华中科技大学 一种二维码图像的校正方法及校正装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王志喜等: "《计算机图形图像技术》", 31 January 2018, 中国矿业大学出版社 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113723136A (zh) * 2021-08-31 2021-11-30 杭州海康威视数字技术股份有限公司 条码矫正方法、装置、设备及存储介质
CN114997206A (zh) * 2022-08-02 2022-09-02 北京紫光青藤微系统有限公司 一种Aztec码图边界定位的方法及装置
CN114997206B (zh) * 2022-08-02 2022-09-30 北京紫光青藤微系统有限公司 一种Aztec码图边界定位的方法及装置
CN117574930A (zh) * 2024-01-15 2024-02-20 北京航空航天大学杭州创新研究院 立体条形码信息生成方法、装置、电子设备和可读介质
CN117574930B (zh) * 2024-01-15 2024-04-12 北京航空航天大学杭州创新研究院 立体条形码信息生成方法、装置、电子设备和可读介质

Similar Documents

Publication Publication Date Title
CN110348264B (zh) 一种qr二维码图像校正方法及系统
CN113111674A (zh) Aztec码定位与解码方法、系统、设备及存储介质
US9607199B2 (en) Decoding machine-readable optical codes with aesthetic component
Su et al. A novel stroke extraction method for Chinese characters using Gabor filters
CN108875731B (zh) 目标识别方法、装置、系统及存储介质
Lin et al. Real-time automatic recognition of omnidirectional multiple barcodes and dsp implementation
CN107025455B (zh) 一种快速反应qr码区域的定位方法及装置
CN111767754B (zh) 一种识别码的识别方法、装置、电子设备及存储介质
CN104463795A (zh) 一种点阵式dm二维码图像处理方法及装置
CN111507908A (zh) 图像矫正处理方法、装置、存储介质及计算机设备
CN110532825B (zh) 一种基于人工智能目标检测的条码识别装置与方法
CN106127093A (zh) 一种二维码识别芯片及其实现方法
CN112163443A (zh) 一种扫码方法、扫码装置及移动终端
CN112651259A (zh) 二维码的定位方法、基于二维码的移动机器人定位方法
CN111582000A (zh) 一种条形码定位方法、装置及相关设备
CN112329496B (zh) 矩形二维码识别方法、装置及电子设备
CN111931537B (zh) 一种颗粒状qr二维码定位方法
Zamberletti et al. Neural 1D barcode detection using the Hough transform
EP4131177A1 (en) Imaging system and method using a multi-layer model approach to provide robust object detection
CN112001352A (zh) 基于Apriltag标签的纺织作业工作台识别定位方法及装置
Kim et al. Algorithm of a perspective transform-based PDF417 barcode recognition
CN117993406A (zh) 一种二维条码自动识别读取方法及系统
Wang et al. An Improved Canny‐Zernike Subpixel Detection Algorithm
CN115310469B (zh) 条形码定位模型训练方法、定位方法、系统、设备及介质
CN111178111A (zh) 二维码检测方法、电子设备、存储介质及系统

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20210713