CN110969042B - 二维码的识别方法、装置、硬件装置 - Google Patents
二维码的识别方法、装置、硬件装置 Download PDFInfo
- Publication number
- CN110969042B CN110969042B CN201811158529.0A CN201811158529A CN110969042B CN 110969042 B CN110969042 B CN 110969042B CN 201811158529 A CN201811158529 A CN 201811158529A CN 110969042 B CN110969042 B CN 110969042B
- Authority
- CN
- China
- Prior art keywords
- dimensional code
- code
- image
- code element
- symbol
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000012545 processing Methods 0.000 claims description 19
- 230000006870 function Effects 0.000 claims description 13
- 230000004807 localization Effects 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 7
- 238000011156 evaluation Methods 0.000 description 5
- 239000003086 colorant Substances 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000007781 pre-processing Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000003796 beauty Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 238000005034 decoration Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods 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/1404—Methods for optical code recognition
- G06K7/1408—Methods for optical code recognition the method being specifically adapted for the type of code
- G06K7/1417—2D bar codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods 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/1404—Methods for optical code recognition
- G06K7/1439—Methods for optical code recognition including a method step for retrieval of the optical code
- G06K7/1443—Methods for optical code recognition including a method step for retrieval of the optical code locating of the code in an image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods 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/1404—Methods for optical code recognition
- G06K7/1439—Methods for optical code recognition including a method step for retrieval of the optical code
- G06K7/1456—Methods for optical code recognition including a method step for retrieval of the optical code determining the orientation of the optical code with respect to the reader and correcting therefore
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (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)
- Image Analysis (AREA)
Abstract
本公开公开一种二维码的识别方法、装置、硬件装置。其中,该二维码的识别方法包括:获取二维码图像;识别二维码的定位点;根据所述定位点确定所述二维码的中心位置;获取二维码的码元的极坐标;根据所述中心位置以及码元的极坐标读取所述码元的值。本公开实施例的二维码的识别方法,使用码元的极坐标,由于极坐标的定义方式的多样性,而使二维码的保密性更好。
Description
技术领域
本公开涉及二维码领域,特别是涉及一种二维码的识别方法、装置、硬件装置。
背景技术
二维码技术是最新的条码技术,是在一维条码技术的基础之上发展起来的一门集信息编码、信息传递、图像处理、数据加密等技术于一体的综合性技术。二维码最早出现于世纪年代,是为解决一维条码的携带信息量过少、无法纠错等不足而产生的。目前,二维码技术在世界各国包括我国发展迅猛,在越来越多的领域发挥着越来越重要的作用。作为一种新型信息传递技术,二维码是信息快速传递的最佳方式之一,二维码技术将会在物流,物联网,移动互联网等领域广泛应用。
目前的二维码多数为方形,样式比较单一,且无法适应多种载体。随着移动互联网的快速发展和二维码应用的增多,许多领域也出现了对二维码加密的需求。
发明内容
根据本公开的一个方面,提供以下技术方案:
一种二维码的识别方法,包括:获取二维码图像;识别二维码的定位点;根据所述定位点确定所述二维码的中心位置;获取二维码的码元的极坐标;根据所述中心位置以及码元的极坐标读取所述码元的值。
进一步的,所述识别二维码的定位点,包括:根据预定的颜色序列识别所述定位点。
进一步的,所述根据预定的颜色序列识别所述定位,包括:根据预定的颜色的宽度的序列识别所述定位点。
进一步的,所述根据所述定位点确定所述二维码的中心位置,包括:根据所述定位点所组成的矩形的两条对角线的交点确定所述二维码的中心位置。
进一步的,所述获取二维码的码元的极坐标,包括:获取码元的旋转角度以及码元的半径,其中所述码元的旋转角度为所述码元到所述中心的连线与水平线的夹角,所述码元的半径为所述连线的长度。
进一步的,所述根据所述中心位置以及码元的极坐标读取所述码元的值,包括:根据所述中心位置以及所述码元的极坐标的位置,确定所述码元在二维码中的位置,读取所述位置上的像素值,该像素值与所述码元的值对应。
进一步的,在所述识别二维码的定位点之前,还包括:对所述二维码图像进行灰度化处理,得到灰度图;对所述灰度图进行二值化处理,得到二值图像。
进一步的,在所述识别二维码的定位点之后,还包括:根据所述定位点将所述二维码图像旋转至水平。
进一步的,所述获取二维码的码元的极坐标,包括:获取当前码元在信息流中的顺序信息,根据所述顺序信息获取当前码元的极坐标。
进一步的,在所述根据所述中心位置以及码元的极坐标读取所述码元的值之后,还包括:将读取出的码元进行译码。
根据本公开的另一个方面,还提供以下技术方案:
一种二维码的识别装置,包括:
图像获取模块,用于获取二维码图像;
定位点识别模块,用于识别二维码的定位点;
中心位置确定模块,用于根据所述定位点确定所述二维码的中心位置;
坐标获取模块,用于获取二维码的码元的极坐标;
读取模块,用于根据所述中心位置以及码元的极坐标读取所述码元的值。
进一步的,所述定位点识别模块,用于根据预定的颜色序列识别定位点。
进一步的,所述定位点识别模块,用于根据预定的颜色的宽度的序列识别所述定位点。
进一步的,所述中心位置确定模块,用于根据所述定位点所组成的矩形的两条对角线的交点确定所述二维码的中心位置。
进一步的,所述坐标获取模块,用于获取所述码元的旋转角度以及码元的半径,其中所述码元的旋转角度为所述码元到所述中心位置的连线与水平线的夹角,所述码元的半径为所述连线的长度。
进一步的,所述读取模块,用于根据所述中心位置以及所述码元的极坐标的位置,确定所述码元在二维码中的位置,读取所述位置上的像素值,该像素值与所述码元的值对应。
进一步的,所述二维码的识别装置,还包括:预处理模块,用于对所述二维码图像进行灰度化处理,得到灰度图;对所述灰度图进行二值化处理,得到二值图像。
进一步的,所述二维码的识别装置,还包括:旋转模块,用于根据所述定位点将所述二维码图像旋转至水平。
进一步的,所述二维码的识别装置,还包括:译码模块,用于将读取出的码元进行译码。
根据本公开的又一个方面,还提供以下技术方案:
一种电子设备,包括:存储器,用于存储非暂时性计算机可读指令;以及处理器,用于运行所述计算机可读指令,使得所述处理器执行时实现上述任一二维码的识别方法所述的步骤。
根据本公开的又一个方面,还提供以下技术方案:
一种计算机可读存储介质,用于存储非暂时性计算机可读指令,当所述非暂时性计算机可读指令由计算机执行时,使得所述计算机执行上述任一方法中所述的步骤。
本公开公开一种二维码的识别方法、装置、硬件装置。其中,该二维码的识别方法包括:获取二维码图像;识别二维码的定位点;根据所述定位点确定所述二维码的中心位置;获取二维码的码元的极坐标;根据所述中心位置以及码元的极坐标读取所述码元的值。本公开实施例的二维码的识别方法,使用码元的极坐标,由于极坐标的定义方式的多样性,而使二维码的保密性更好。
上述说明仅是本公开技术方案的概述,为了能更清楚了解本公开的技术手段,而可依照说明书的内容予以实施,并且为让本公开的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
附图说明
图1为根据本公开一个实施例的二维码的识别方法的流程示意图;
图2为根据本公开的二维码的定位点的示意图;
图3为根据本公开的二维码的图像旋转示意图;
图4为根据本公开实施例识别的二维码的示意图;
图5为根据本公开一个实施例的二维码的识别装置的结构示意图;
图6为根据本公开实施例提供的电子设备的结构示意图。
具体实施方式
以下通过特定的具体实例说明本公开的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本公开的其他优点与功效。显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。本公开还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本公开的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
还需要说明的是,以下实施例中所提供的图示仅以示意方式说明本公开的基本构想,图式中仅显示与本公开中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
另外,在以下描述中,提供具体细节是为了便于透彻理解实例。然而,所属领域的技术人员将理解,可在没有这些特定细节的情况下实践所述方面。
本公开实施例提供一种二维码的识别方法。本实施例提供的该二维码的识别方法可以由一计算装置来执行,该计算装置可以实现为软件,或者实现为软件和硬件的组合,该计算装置可以集成设置在服务器、终端设备等中。如图1所示,该二维码的识别方法主要包括如下步骤S101至步骤S105。其中:
步骤S101:获取二维码图像;
在该步骤中,二维码图像的获取可以使用图像传感器来获取,典型的应用场景中可以使用移动终端的后置摄像头来获取二维码的图像。
由于获取的图像一般为彩色的,在一个实施例中,在获取到二维码的图像之后,可以对所述二维码的图像进行预处理,所述预处理可以是对所述图像进行灰度化处理,并对灰度处理后得到的灰度图进行二值化处理,得到二值图像。
由彩色转化为灰度的过程称为灰度化处理。灰度图像是包含灰度级的图像,当像素灰度级用表示时,每个像素的灰度值为0到255中的一个。通常,用0表示黑,255表示白,从0到255亮度逐渐增加。二维码图像通过数码相机、摄像头等设备拍摄获取,因而预处理前的图像都是彩色图像。彩色图像包含大量的颜色信息,在存储上开销很大,而且运算量也比较大。因此将彩色图像转变为灰度图像,以减少后续运算和提高运算效率。在一个实施例中可以使用加权平均值的方法获取灰度图像,具体的:根据重要性或其他指标给R、G、B赋予不同的权值,并使R、G、B他们的值加权,即:
R=G=B=(RWr+GWg+BWg)/(Wr+Wg+Wb),
其中,Wr、Wg、Wg分别为R、G、B的权值。
二值化基本的处理方式是首先在图像的灰度取值范围中选择一灰度阈值,然后将图像中各个像素的灰度值与这个阈值相比较,并根据比较的结果将图像中的像素划分到两个类中。像素灰度大于阈值的为一类,像素灰度小于阈值的为另一类,灰度值等于至于的像素可以归入这两类之一。这种仅使用一个阈值分割的方法称为单阈值分割方法。经阈值处理后的图像为二值图像。
步骤S102:识别二维码的定位点;
在该步骤中,所述的定位点为定位标志,其可以是预定的图案、图形等,如传统的定位点为黑白两色的矩形,具有预定的大小,在定位点周边为留白的区域,将所述定位点与周围区域区分开,如图2所述,为本公开实施例中所使用的定位点,其为带有黑色圆心的黑色圆形,在其周边具有留白的区域将定位点和二维码的其他区域区分开。所述定位点至少有3个,在本公开中,可以包括4个定位点,其中一个定位点可以由用户自定义,比如可以由用户自定义为图形或者logo等,4个定位点有利于图像的纠正,比如当扫描二维码时,虽然3个定位点可以定位一个平面,但是这个平面可能由于扫描的镜头的位置和角度的原因发生畸变,此时,4个定位点可以方便的将畸变的图像扭转成正常的图像。
在该步骤中,识别定位点可以使用预定的颜色序列来识别定位点,比如如图2所述的定位点,从左到右识别出的颜色分别为黑色-白色-黑色-白色-黑色,当符合该颜色模式时,可以认为识别到了定位点,为了防止误识别,可以使用颜色的宽度序列来识别定位点,比如仍然以图2的定位点为例,从左到右识别的出来的颜色分别为黑色-白色-黑色-白色-黑色,且颜色比例为1:2:1:2:1时,认为识别到定位点。对于特殊的定位点比如图形或者logo,可以预先设置该图形和logo的图像特征,当识别到该图形或者logo的图像特征时,认为识别到的定位点。识别到定位点之后,可以确定定位点之间的距离以及相对位置。比如将定位到的第一定位点的坐标设为(a,b),定位点组成一个正方形,正方形的边长为2,则第二定位点的坐标为(a+2,b),第三定位点的坐标为(a,b-2),由此,第四定位点的坐标为(a+2,b-2)。当然定位点也可以组成长方形,此时可以根据长方形的长宽计算定位点的坐标即可,不再赘述。
在一个实施例中,当识别出定位点之后,如果所述图像需要旋转,可以通过定位点对图像进行旋转,以使图像保持水平。如图3所述,为识别出的二维码示意图,两个定位点之间的连接线与水平线之间的夹角为α,此时需要将所述连线逆时针旋转α。需要注意的时,当旋转图像时,图像中每个像素的值要发生变化。数字图像的坐标是整数,变换后的坐标不一定是整数,因此要对变换后的整数坐标的像素值进行估计,除了空间变换之外,还要做灰度级插值的运算。最简单的插值方法是零阶插值,即输出像素的灰度值等于离它所映射的位置最近的输入像素的灰度值,除此之外,还可以使用双线性插值方法进行处理,不再赘述。
步骤S103:根据所述定位点确定所述二维码的中心位置;
,该中心位置可以是相对位置,当使用相对位置,可以先获取中心位置信息,之后根据该位置信息计算中心中心位置。对于相对位置的情况,在一个具体的实施方式中,可以利用步骤S102中的识别出来的定位点来计算中心位置,在该实施方式中,定位点位于二维码外轮廓上,因此定位点所确定的矩形的对角线交点的位置就是中心位置,假设中心的坐标为(c,d),则根据步骤S101中的第一定位点和第二定位点的坐标可以计算中心的坐标,由于矩形对角线的交点一定位于矩形的中心,从该交点向矩形的任一边做垂线,则垂线与矩形的边的交点为该边的中点,因此根据步骤S101中的例子,当矩形边上为2,如果第一定位点的坐标为(a,b),则中心的坐标c=a+1,d=b-1,中心坐标为(a+1,b-1);假如定位点组成长方形,计算方式相同,只是在长宽方向上的长度不同,比如矩形的长为4,宽为2,则中心的坐标c=a+2,d=b-1,中心坐标为(a+2,b-1)。
步骤S104:获取二维码的码元的极坐标;
在本公开中,所述码元为二维码编码的一个最小单位,其可以表示“0”或“1”中的一个值。具体的,所述码元可以是用户输入的信息或者需要写入二维码中的信息的二进制编码中的一个码元。
在该实施例中,所述码元的极坐标包括码元到中心的连线与水平线的夹角θ以及所述码元的半径l,所述码元半径l为所述连线的长度。在该实施例中,所述码元半径l可以是由所述连线与所述二维码的半径的比值计算出来,该比值称之为半径系数,所述夹角θ可以是基本角度的倍数,举例说来,所述极坐标有最小旋转角度δ,所述最小旋转角度为区分出一个码元所需要旋转的角度,那么夹角θ可以表示为:θ=Aδ,其中A为角度系数,A为正整数,且0≤Aδ<360°;所述二维码的半径为R,则码元半径l可以表示为l=BR,其中B为半径系数,且0<B<1。比如,所述δ=0.1°,则A的取值范围为0≤A<3600,此时对于每个码元半径,可以存储3600个码元;比如R=10,B的取值可以为0.5、0.7、0.9,则可以形成半径为5、7、9的三个圆环,对于每个圆环有3600个码元,则整个二维码可以容纳的码元为10800个。
在一个实施例中,此处的码元的极坐标为码元的位置的坐标,具体的,在获取码元的极坐标之前,可以先获取码元的位置信息,此处的位置信息是将码元对应到二维码的对应位置,还以上述例子为例,整个二维码可以容纳10800个码元,则整个二维码一共有10800个码元位置,每个位置可以使用角度系数以及半径系数来表示,而对于信息流来说,在信息流中码元也有一个位置,也就是该码元在信息流中的顺序,当从信息流中获取码元时,按照顺序获取,之后计算该码元在二维码中的位置,最简单的方式是顺序放置,也就是按照角度系数以及半径系数的从小到大的顺序放置,但是这样的放置方式容易导致二维码被破解,因此可以使用预定的规则或者函数对码元的放置位置进行加密,举例来说,可以使用先在半径为7的圆环上放置一个码元,之后在半径为9的圆环上放置一个码元,再在半径为5的圆环上放置一个码元的顺序,循环放置码元,对于角度也可以按照这种方式,比如对角度再乘以一个系数之后作为最终的放置位置的角度,当然也可以对角度和半径均做规则处理或者函数处理,以保证码元放置位置不容易被破解。
在一个实施例中,在获取码元的极坐标时,首先获取该码元在信息流中的位置,该信息流中的位置与所述码元的极坐标具有对应关系,该对应关系可以是预设的规则或者函数,将该信息流中的位置输入预设的规则或者函数中,得到该码元的极坐标。
在一个实施例中,可以顺序获取码元的极坐标,比如按照码元角度和码元半径从小到大的顺序获取码元的极坐标,此时的极坐标获取就是按照顺序递增获取,但是读取出来的码元流需要重新排序编译之后才能译码。这样做的好处是读取码元时速度较快。
步骤S105:根据所述中心位置以及码元的极坐标读取所述码元的值。
在该步骤中,根据步骤S102中的带的中心位置以步骤S104中获取的极坐标,找到码元在所述二维码图像中的位置,并读取该位置上的像素值,该像素值与码元的值对应。比如此时的二维码图像为二值化处理之后的图像,此时二值化图中只有黑白两种颜色,对于二值化图,可以将被分为第一类的像素读取为二进制的1,将另一类的像素读取为二级制的0。当然,所述码元可以是占据所述二维码图像中的一个区域,比如在本公开中,码元可以是一个扇形区域,此时,可以使用该扇形区域的中心点的像素值或者整个扇形区域的平均像素值作为该扇形区域的像素值,进而确定所述码元的值。
如图4所述为本公开所识别的一个二维码的实例。如图4中所示,401和4001为定位点,在该实例中,定位点包括一个用于校正或装饰的图形4001,该4001的图形可以由用户自己定义,二维码包括轮廓402,402的宽度为预设宽度,其半径为预设的二维码半径,在轮廓内部包括图像区和编码区,所述图像区为用户自定义的图像,主要用于美观或者突出个人标志,在编码区包括码元403,需要注意的是,该实例中码元403一共分布在三个圆环区域上。
本公开公开一种二维码的识别方法、装置、硬件装置。其中,该二维码的识别方法包括:获取二维码图像;识别二维码的定位点;根据所述定位点确定所述二维码的中心位置;获取二维码的码元的极坐标;根据所述中心位置以及码元的极坐标读取所述码元的值。本公开实施例的二维码的识别方法,使用码元的极坐标,由于极坐标的定义方式的多样性,而使二维码的保密性更好。
在上文中,虽然按照上述的顺序描述了上述方法实施例中的各个步骤,本领域技术人员应清楚,本公开实施例中的步骤并不必然按照上述顺序执行,其也可以倒序、并行、交叉等其他顺序执行,而且,在上述步骤的基础上,本领域技术人员也可以再加入其他步骤,这些明显变型或等同替换的方式也应包含在本公开的保护范围之内,在此不再赘述。
下面为本公开装置实施例,本公开装置实施例可用于执行本公开方法实施例实现的步骤,为了便于说明,仅示出了与本公开实施例相关的部分,具体技术细节未揭示的,请参照本公开方法实施例。
为了解决如何提高二维码的保密性的技术问题,本公开实施例提供一种二维码的识别装置。该装置可以执行上述二维码的识别方法实施例中所述的步骤。如图5所示,该装置50主要包括:图像获取模块51、定位点识别模块52、中心位置确定模块53、坐标获取模块54和读取模块55。其中,
图像获取模块51,用于获取二维码图像;
定位点识别模块52,用于识别二维码的定位点;
中心位置确定模块53,用于根据所述定位点确定所述二维码的中心位置;
坐标获取模块54,用于获取二维码的码元的极坐标;
读取模块55,用于根据所述中心位置以及码元的极坐标读取所述码元的值。
进一步的,所述定位点识别模块52,用于根据预定的颜色序列识别定位点。
进一步的,所述定位点识别模块52,用于根据预定的颜色的宽度的序列识别所述定位点。
进一步的,所述中心位置确定模块53,用于根据所述定位点所组成的矩形的两条对角线的交点确定所述二维码的中心位置。
进一步的,所述坐标获取模块54,用于获取所述码元的旋转角度以及码元的半径,其中所述码元的旋转角度为所述码元到所述中心位置的连线与水平线的夹角,所述码元的半径为所述连线的长度。
进一步的,所述读取模块55,用于根据所述中心位置以及所述码元的极坐标的位置,确定所述码元在二维码中的位置,读取所述位置上的像素值,该像素值与所述码元的值对应。
进一步的,所述二维码的识别装置50,还包括:预处理模块,用于对所述二维码图像进行灰度化处理,得到灰度图;对所述灰度图进行二值化处理,得到二值图像。
进一步的,所述二维码的识别装置50,还包括:旋转模块,用于根据所述定位点将所述二维码图像旋转至水平。
进一步的,所述二维码的识别装置50,还包括:译码模块,用于将读取出的码元进行译码。
图5所示装置可以执行图1所示实施例的方法,本实施例未详细描述的部分,可参考对图1所示实施例的相关说明。该技术方案的执行过程和技术效果参见图1所示实施例中的描述,在此不再赘述。
下面参考图6,其示出了适于用来实现本公开实施例的电子设备600的结构示意图。本公开实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图4示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图6所示,电子设备600可以包括处理装置(例如中央处理器、图形处理器等)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储装置608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有电子设备600操作所需的各种程序和数据。处理装置601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
通常,以下装置可以连接至I/O接口605:包括例如触摸屏、触摸板、键盘、鼠标、图像传感器、麦克风、加速度计、陀螺仪等的输入装置606;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置607;包括例如磁带、硬盘等的存储装置608;以及通信装置609。通信装置609可以允许电子设备600与其他设备进行无线或有线通信以交换数据。虽然图4示出了具有各种装置的电子设备600,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置609从网络上被下载和安装,或者从存储装置608被安装,或者从ROM 602被安装。在该计算机程序被处理装置601执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取至少两个网际协议地址;向节点评价设备发送包括所述至少两个网际协议地址的节点评价请求,其中,所述节点评价设备从所述至少两个网际协议地址中,选取网际协议地址并返回;接收所述节点评价设备返回的网际协议地址;其中,所获取的网际协议地址指示内容分发网络中的边缘节点。
或者,上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:接收包括至少两个网际协议地址的节点评价请求;从所述至少两个网际协议地址中,选取网际协议地址;返回选取出的网际协议地址;其中,接收到的网际协议地址指示内容分发网络中的边缘节点。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (12)
1.一种二维码的识别方法,其特征在于,包括:
获取二维码图像;
识别二维码的定位点;
根据所述定位点确定所述二维码的中心位置;
获取当前码元在信息流中的顺序信息,根据所述顺序信息获取当前码元的极坐标;其中,在所述信息流中相邻的两个码元的极坐标的半径不同,所述码元的极坐标的半径与所述顺序信息以及预设的规则相关,或者所述码元的极坐标的半径与所述顺序信息以及预设的函数相关;
根据所述中心位置以及码元的极坐标读取所述码元的值。
2.如权利要求1所述的二维码的生成方法,其特征在于,所述识别二维码的定位点,包括:
根据预定的颜色序列识别所述定位点。
3.如权利要求2所述的二维码的生成方法,其特征在于,所述根据预定的颜色序列识别所述定位,包括:
根据预定的颜色的宽度的序列识别所述定位点。
4.如权利要求1所述的二维码的生成方法,其特征在于,所述根据所述定位点确定所述二维码的中心位置,包括:
根据所述定位点所组成的矩形的两条对角线的交点确定所述二维码的中心位置。
5.如权利要求1所述的二维码的生成方法,其特征在于,所述获取二维码的码元的极坐标,包括:
获取码元的旋转角度以及码元的半径,其中所述码元的旋转角度为所述码元到所述中心的连线与水平线的夹角,所述码元的半径为所述连线的长度。
6.如权利要求1所述的二维码的生成方法,其特征在于,所述根据所述中心位置以及码元的极坐标读取所述码元的值,包括:
根据所述中心位置以及所述码元的极坐标的位置,确定所述码元在二维码中的位置,读取所述位置上的像素值,该像素值与所述码元的值对应。
7.如权利要求1所述的二维码的生成方法,其特征在于,在所述识别二维码的定位点之前,还包括:
对所述二维码图像进行灰度化处理,得到灰度图;
对所述灰度图进行二值化处理,得到二值图像。
8.如权利要求1所述的二维码的生成方法,其特征在于,在所述识别二维码的定位点之后,还包括:
根据所述定位点将所述二维码图像旋转至水平。
9.如权利要求1所述的二维码的生成方法,其特征在于,在所述根据所述中心位置以及码元的极坐标读取所述码元的值之后,还包括:
将读取出的码元进行译码。
10.一种二维码的识别装置,其特征在于,包括:
图像获取模块,用于获取二维码图像;
定位点识别模块,用于识别二维码的定位点;
中心位置确定模块,用于根据所述定位点确定所述二维码的中心位置;
坐标获取模块,用于获取当前码元在信息流中的顺序信息,根据所述顺序信息获取当前码元的极坐标;其中,在所述信息流中相邻的两个码元的极坐标的半径不同,所述码元的极坐标的半径与所述顺序信息以及预设的规则相关,或者所述码元的极坐标的半径与所述顺序信息以及预设的函数相关;
读取模块,用于根据所述中心位置以及码元的极坐标读取所述码元的值。
11.一种电子设备,包括:
存储器,用于存储非暂时性计算机可读指令;以及
处理器,用于运行所述计算机可读指令,使得所述处理器执行时实现根据权利要求1-9中任意一项所述的二维码的识别方法。
12.一种计算机可读存储介质,用于存储非暂时性计算机可读指令,当所述非暂时性计算机可读指令由计算机执行时,使得所述计算机执行权利要求1-9中任意一项所述的二维码的识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811158529.0A CN110969042B (zh) | 2018-09-30 | 2018-09-30 | 二维码的识别方法、装置、硬件装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811158529.0A CN110969042B (zh) | 2018-09-30 | 2018-09-30 | 二维码的识别方法、装置、硬件装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110969042A CN110969042A (zh) | 2020-04-07 |
CN110969042B true CN110969042B (zh) | 2021-11-02 |
Family
ID=70029020
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811158529.0A Active CN110969042B (zh) | 2018-09-30 | 2018-09-30 | 二维码的识别方法、装置、硬件装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110969042B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112254722B (zh) * | 2020-12-21 | 2021-05-11 | 之江实验室 | 一种基于qr码和惯性导航融合的车辆定位方法 |
CN114912475A (zh) * | 2021-02-07 | 2022-08-16 | 华为技术有限公司 | 二维码识别方法及相关装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102622626A (zh) * | 2011-12-26 | 2012-08-01 | 华南理工大学 | 二维码以及该二维码的识别方法 |
CN107590522A (zh) * | 2017-08-23 | 2018-01-16 | 阿里巴巴集团控股有限公司 | 一种识别码生成及识别的方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6363903B2 (ja) * | 2014-07-31 | 2018-07-25 | 株式会社キーエンス | 光学的情報読取装置 |
-
2018
- 2018-09-30 CN CN201811158529.0A patent/CN110969042B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102622626A (zh) * | 2011-12-26 | 2012-08-01 | 华南理工大学 | 二维码以及该二维码的识别方法 |
CN107590522A (zh) * | 2017-08-23 | 2018-01-16 | 阿里巴巴集团控股有限公司 | 一种识别码生成及识别的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110969042A (zh) | 2020-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110163080B (zh) | 人脸关键点检测方法及装置、存储介质和电子设备 | |
CN110413812B (zh) | 神经网络模型的训练方法、装置、电子设备及存储介质 | |
CN110298785A (zh) | 图像美化方法、装置及电子设备 | |
WO2022237811A1 (zh) | 图像处理方法、装置及设备 | |
CN110288520B (zh) | 图像美化方法、装置及电子设备 | |
CN110211195B (zh) | 生成图像集合的方法、装置、电子设备和计算机可读存储介质 | |
CN110288553A (zh) | 图像美化方法、装置及电子设备 | |
CN110969042B (zh) | 二维码的识别方法、装置、硬件装置 | |
CN108985421B (zh) | 编码信息的生成方法和识别方法 | |
CN110288521A (zh) | 图像美化方法、装置及电子设备 | |
CN109948762A (zh) | 用于生成二维码的方法和装置 | |
CN110188782B (zh) | 图像相似性确定方法、装置、电子设备及可读存储介质 | |
CN111209856B (zh) | 发票信息的识别方法、装置、电子设备及存储介质 | |
CN114742934B (zh) | 图像渲染方法、装置、可读介质及电子设备 | |
CN112488095A (zh) | 印章图像识别方法、装置和电子设备 | |
CN110619597A (zh) | 一种半透明水印去除方法、装置、电子设备及存储介质 | |
CN110969233A (zh) | 二维码的生成方法、装置、硬件装置 | |
CN113516739B (zh) | 一种动画处理方法、装置、存储介质及电子设备 | |
CN111862342A (zh) | 增强现实的纹理处理方法、装置、电子设备及存储介质 | |
CN116681765A (zh) | 图像内标识位置确定方法、模型训练方法、装置及设备 | |
CN110764685A (zh) | 用于识别二维码的方法和设备 | |
CN110288552A (zh) | 视频美化方法、装置及电子设备 | |
CN114332324B (zh) | 图像处理方法、装置、设备及介质 | |
CN110264431A (zh) | 视频美化方法、装置及电子设备 | |
CN110189279B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: Room 408, 4th Floor, No. 51 Zhichun Road, Haidian District, Beijing 100190 Patentee after: Tiktok Technology Co.,Ltd. Country or region after: China Address before: 100080 408, 4th floor, 51 Zhichun Road, Haidian District, Beijing Patentee before: BEIJING MICROLIVE VISION TECHNOLOGY Co.,Ltd. Country or region before: China |