CN113435557B - 一种二维码生成、解码、识别方法、装置及设备 - Google Patents
一种二维码生成、解码、识别方法、装置及设备 Download PDFInfo
- Publication number
- CN113435557B CN113435557B CN202110799066.1A CN202110799066A CN113435557B CN 113435557 B CN113435557 B CN 113435557B CN 202110799066 A CN202110799066 A CN 202110799066A CN 113435557 B CN113435557 B CN 113435557B
- Authority
- CN
- China
- Prior art keywords
- dimensional code
- positioning
- image
- identified
- information
- 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 141
- 238000001514 detection method Methods 0.000 claims abstract description 77
- 238000012549 training Methods 0.000 claims description 29
- 238000012545 processing Methods 0.000 claims description 15
- 238000012937 correction Methods 0.000 claims description 14
- 238000007781 pre-processing Methods 0.000 claims description 8
- 239000011159 matrix material Substances 0.000 claims description 7
- 230000009466 transformation Effects 0.000 claims description 6
- 238000010606 normalization Methods 0.000 claims description 4
- 230000036961 partial effect Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 10
- 238000003860 storage Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 8
- 230000006872 improvement Effects 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000013135 deep learning Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 238000009826 distribution Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000000873 masking effect Effects 0.000 description 4
- 239000003086 colorant Substances 0.000 description 3
- 230000002829 reductive effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012512 characterization method Methods 0.000 description 2
- 238000013136 deep learning model Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 208000009119 Giant Axonal Neuropathy Diseases 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 229940112822 chewing gum Drugs 0.000 description 1
- 235000015218 chewing gum Nutrition 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 201000003382 giant axonal neuropathy 1 Diseases 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 229920001296 polysiloxane Polymers 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 229910001750 ruby Inorganic materials 0.000 description 1
- 238000011895 specific detection Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 238000011426 transformation method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect 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
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/06009—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
- G06K19/06037—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Cash Registers Or Receiving Machines (AREA)
- Image Analysis (AREA)
Abstract
本说明书实施例提供一种二维码生成、解码、识别方法、装置及设备。方案包括:获取待生成二维码的商品信息对应的二进制序列;根据二进制序列确定二维码的生成区域中每个有效信息位的像素值;根据有效信息位的像素值以及定位点位的已知像素值,生成二维码;在识别生成的二维码时,获取包含二维码的待识别图像,采用检测模型从待识别图像中检测得到二维码图像;再采用识别模型对识别得到二维码图像中的二维码的图像信息,从二维码的图像信息中确定该二维码的有效信息位的像素值;根据该像素值生成二进制序列;对二进制序列进行解码,得到有效信息位中储存的商品信息。
Description
技术领域
本说明书一个或多个实施例涉及计算机技术领域,尤其涉及一种二维码生成、解码、识别方法、装置及设备。
背景技术
目前,随着互联网技术的发展,二维码成为了移动设备上流行的一种编码方式。二维码的应用在生活中已经越来越普遍,比如:推出二维码名片,采用二维码进行身份识别、通过二维码对产品进行溯源或者自动售货、采用二维码定制电子票务,电影票,景点门票等等。
在实际应用中,二维码可以贴附在商品的外包装上,用户可以通过扫描二维码识别二维码中包含的商品信息。为了识别得到二维码中的商品信息,一般可以先对二维码进行扫描,对扫描得到的二维码进行解码,然后得到二维码中包含的商品信息,通过这些商品信息可以对商品进行售卖以及管理,例如:可以通过商品信息管理商品的出售情况,还可以通过商品信息了解商品对应的商品类型、商品名称以及生产日期等等。
因此,需要提供一种更可靠的二维码生成、解码以及识别方案。
发明内容
有鉴于此,本说明书一个或多个实施例提供了一种二维码生成、解码、识别方法、装置及设备,用于有效解决现有的二维码尺寸过大、识别准确率低的问题。
为解决上述技术问题,本说明书实施例是这样实现的:
本说明书实施例提供的一种二维码生成方法,包括:
获取待生成二维码的商品信息对应的二进制序列;
根据所述二进制序列确定所述二维码的生成区域中每个有效信息位的像素值;所述二维码的生成区域中还包含第一定位区和第二定位区,所述第二定位区为方向定位区;所述第一定位区包括三个定位区,且每个所述定位区各占据一个点位;
根据所述有效信息位的像素值以及所述定位点位的已知像素值,生成所述二维码。
本说明书实施例提供的一种二维码的解码方法,包括:
获取待识别二维码的图像信息,所述待识别二维码的图像区域包含第一定位区和第二定位区,所述第二定位区为方向定位区;所述第一定位区包括三个定位区,且每个所述定位区各占据一个点位;
从所述图像信息中确定所述待识别二维码中有效信息位的像素值;
根据所述有效信息位的像素值生成二进制序列;
对所述二进制序列进行解码,得到所述有效信息位中储存的商品信息。
本说明书实施例提供的一种二维码识别方法,包括:
获取待识别图像;
采用检测模型对所述待识别图像进行检测,确定所述待识别图像中包含待识别二维码的二维码图像;
采用识别模型对所述二维码图像进行识别,得到所述二维码图像中的待识别二维码的图像信息,所述待识别二维码的图像区域包含第一定位区和第二定位区,所述第二定位区为方向定位区;所述第一定位区包括三个定位区,且每个所述定位区各占据一个点位。
本说明书实施例提供的一种二维码生成装置,包括:
二进制序列获取模块,用于获取待生成二维码的商品信息对应的二进制序列;
有效信息位的像素值确定模块,用于根据所述二进制序列确定所述二维码的生成区域中每个有效信息位的像素值;所述二维码的生成区域中还包含第一定位区和第二定位区,所述第二定位区为方向定位区;所述第一定位区包括三个定位区,且每个所述定位区各占据一个点位;
二维码生成模块,用于根据所述有效信息位的像素值以及所述定位点位的已知像素值,生成所述二维码。
本说明书实施例提供的一种二维码的解码装置,包括:
二维码图像信息获取模块,用于获取待识别二维码的图像信息,所述待识别二维码的图像区域包含第一定位区和第二定位区,所述第二定位区为方向定位区;所述第一定位区包括三个定位区,且每个所述定位区各占据一个点位;
有效信息位确定模块,用于从所述图像信息中确定所述待识别二维码中有效信息位的像素值;
二进制序列生成模块,用于根据所述有效信息位的像素值生成二进制序列;
解码模块,用于对所述二进制序列进行解码,得到所述有效信息位中储存的商品信息。
本说明书实施例提供的一种二维码识别装置,包括:
待识别图像获取模块,用于获取待识别图像;
二维码图像检测模块,用于采用检测模型对所述待识别图像进行检测,确定所述待识别图像中包含待识别二维码的二维码图像;
二维码识别模块,用于采用识别模型对所述二维码图像进行识别,得到所述二维码图像中的待识别二维码的图像信息,所述待识别二维码的图像区域包含第一定位区和第二定位区,所述第二定位区为方向定位区;所述第一定位区包括三个定位区,且每个所述定位区各占据一个点位。
本说明书实施例提供的一种二维码生成设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取待生成二维码的商品信息对应的二进制序列;
根据所述二进制序列确定所述二维码的生成区域中每个有效信息位的像素值;所述二维码的生成区域中还包含第一定位区和第二定位区,所述第二定位区为方向定位区;所述第一定位区包括三个定位区,且每个所述定位区各占据一个点位;
根据所述有效信息位的像素值以及所述定位点位的已知像素值,生成所述二维码。
本说明书实施例提供的一种二维码解码设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取待识别二维码的图像信息,所述待识别二维码的图像区域包含第一定位区和第二定位区,所述第二定位区为方向定位区;所述第一定位区包括三个定位区,且每个所述定位区各占据一个点位;
从所述图像信息中确定所述待识别二维码中有效信息位的像素值;
根据所述有效信息位的像素值生成二进制序列;
对所述二进制序列进行解码,得到所述有效信息位中储存的商品信息。
本说明书实施例提供的一种二维码识别设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取待识别图像;
采用检测模型对所述待识别图像进行检测,确定所述待识别图像中包含待识别二维码的二维码图像;
采用识别模型对所述二维码图像进行识别,得到所述二维码图像中的待识别二维码的图像信息,所述待识别二维码的图像区域包含第一定位区和第二定位区,所述第二定位区为方向定位区;所述第一定位区包括三个定位区,且每个所述定位区各占据一个点位。
本说明书实施例提供的一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现一种二维码生成方法、解码方法以及识别方法。
本说明书一个或多个实施例能够达到以下有益效果:获取待生成二维码的商品信息对应的二进制序列;根据二进制序列确定二维码的生成区域中每个有效信息位的像素值;根据有效信息位的像素值以及定位点位的已知像素值,生成二维码;由于生成的二维码仅包括定位点位和有效信息点位,且定位点位中的第一定位区中的每个定位区仅各占据一个点位,不需要包含其他的功能区域,使生成的二维码结构更少,定位区占据的点位减少,从而使存储商品信息的有效信息点位增多,当需要存储与标准尺寸的二维码相同商品信息的情况下,本方案中的方案可以生成尺寸较小的二维码,且能够保证生成的小尺寸码也可以包含所需的商品信息,从而解决标准二维码尺寸过大的问题,以满足某些要求小尺寸码的场景需求。
另外,本说明书的另一些实施例,通过采用基于深度学习的检测模型从待识别图像中识别出二维码图像,再采用基于深度学习的识别模型从二维码图像中识别得到二维码,可以精准地识别二维码中的各个点位,从而在摄像头拍摄得到二维码的畸变图像的场景下也完整地解码出二维码中包含的有效信息,实现对畸变场景中小尺寸二维码的高精度检测识别。
附图说明
此处所说明的附图用来提供对本说明书一个或多个实施例的进一步理解,构成本说明书一个或多个实施例的一部分,本说明书的示意性实施例及其说明用于解释本说明书一个或多个实施例,并不构成对本说明书一个或多个实施例的不当限定。在附图中:
图1为本说明书实施例提供的一种二维码生成方法的流程示意图;
图2为本说明书实施例提供的一种二维码生成方法生成的二维码的结构示意图;
图3为本说明书实施例提供的一种二维码生成方法中有效信息位像素值确定示意图;
图4为本说明书实施例中一种二维码的解码方法的流程示意图;
图5为本说明书实施例中一种二维码识别方法的流程示意图;
图6为本说明书实施例提供的对应于图1的一种二维码生成装置的结构示意图;
图7为本说明书实施例提供的对应于图4的一种二维码解码装置的结构示意图;
图8为本说明书实施例提供的对应于图5的一种二维码识别装置的结构示意图;
图9为本说明书实施例提供的对应于图1、图4、图5的设备的结构示意图。
具体实施方式
为使本说明书一个或多个实施例的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书一个或多个实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书一个或多个实施例保护的范围。
以下结合附图,详细说明本说明书各实施例提供的技术方案。
二维码可以有QR码以及点阵码,其中,QR码主要包含了版本信息、格式信息、数据及容错信息和数据需求信息等,具有固定形状的功能区域,比如:回字形定位区,不同区域之间还会连接有黑线。共有40种版本,最小的版本1的像素的大小为21x21,最大的版本40为177x177。尺寸过大,不适用于很多对尺寸有要求的应用场景。比如:在智能货柜的应用场景中,智能货柜中的商品上贴着二维码,如果二维码的尺寸大的话,贴在商品上会遮挡商品的信息或者如果商品太小(比如:口香糖),二维码可能都没有办法贴在商品上,不利于商品的售卖。
另外,在智能货柜的内部拍摄二维码的摄像装置为鱼眼相机,鱼眼摄像头的焦距极短并且视角接近180°的镜头。镜头中心的畸变可以忽略为零,以镜头为中心,离镜头越远的地方畸变越大。如果贴附在商品上的二维码尺寸太大的话,会导致拍摄的二维码图像畸变较大,导致后续对二维码的识别准确率降低。
因此,本方案中旨在提供一种更为可靠的二维码生成方法以及二维码识别方法,以保证生成尺寸较小的二维码,且保证能够对尺寸较小的二维码进行正确检测识别,以获取二维码中的信息。具体地,可以采用以下实施例进行详细说明:
实施例1
图1为本说明书实施例中一种二维码生成方法的流程示意图。从程序角度而言,流程的执行主体可以为搭载于应用服务器的程序或应用客户端。
如图1所示,该流程可以包括以下步骤:
步骤102:获取待生成二维码的商品信息对应的二进制序列。
在实际应用场景中,这里的二维码可以是点阵码,可以是用特定的几何图形按编排规律在二维方向上分布,采用黑白相间的点阵来记录数据符号信息。二维码中可以存储汉字、数字和图片等信息。
在实际应用场景中,二维码中可以存储有商品对应的商品信息,比如:商品名称、生产厂家、生产日期以及商品内容简介等等。二进制序列可以是根据商品信息进行编码得到的序列。为了让计算机识别,可以利用计算机内部逻辑,用数字“0”和“1”作为代码,同时使用若干个与二进制相对应的几何形体组成二进制序列。
步骤104:根据所述二进制序列确定所述二维码的生成区域中每个有效信息位的像素值;所述二维码的生成区域中还包含第一定位区和第二定位区,所述第二定位区为方向定位区;所述第一定位区包括三个定位区,且每个所述定位区各占据一个点位。
有效信息位中可以存储有商品信息。扫描设备通过扫描二维码可以获取有效信息位中存储的商品信息。
二进制序列中的二进制位可以用于表示码块对应的颜色。比如:二进制的“0”表示码块为白色,二进制中的“1”表示码块为黑色,根据二进制序列可以确定每个有效信息位中的像素值。需要说明的是,这里的像素值可以指的是每个有效信息位对应的码块的颜色(黑色或者白色)。
二维码的生成区域可以指的是二维码的轮廓区域,比如:需要生成一个5x5的二维码时,二维码的轮廓区域为一个5x5的正方形区域。
生成区域中包括第一定位区和第二定位区,第一定位区可以用于对二维码进行定位,第二定位区可以是方向定位区,方向定位区用于表示二维码二维码的方向。方向定位区可以在生成区域的四个角的任意一个角上,比如:方向定位区可以在生成区域的右下角,也可以在生成区域的左上角……,第一定位区的位置可以分别在生成区域的四个角的任意三个角上,例如:如果方向定位区位于生成区域的右下角时,第一定位区可以分别位于生成区域的左上角,右上角、左下角。
需要说明的是,本方案中的左第一定位区中的每个定位区都各自仅占据一个点位,这些被占据的点位可以叫做定位点位。方向定位区可以占据四个点位,将其中一个定位点固定为白色,其他三个点位固定为黑色,当然,也可以设置为一个黑色点位和三个白色点位或者两个白色点位和两个黑色点位。这里方向定位区只要满足可以标记二维码的方向即可,点位具体的颜色设置,可以根据实际情况进行设置,本方案对此不进行具体限定。
步骤106:根据所述有效信息位的像素值以及所述定位点位的已知像素值,生成所述二维码。
像素值可以表示点位对应的码块为黑色或者白色,像素值可以是黑色或者白色对应的具体的码元值。定位点位对应的码块的颜色可以预先设定,比如:设定第一定位区中包含的各个定位区对应的码块均为黑色。
根据有效信息位的像素值确定了有效信息位对应的各个码块的颜色之后,就可以生成二维码。摄像头根据有效信息位中的码块颜色以及码块排列可以解读出二维码包含的信息。
接下来,可以采用附图2对生成的二维码进行详细说明:
图2为本说明书实施例提供的一种二维码生成方法生成的二维码的结构示意图。如图2所示,采用图1中提供的二维码生成方法可以生成一个5x5大小的二维码,该二维码根据需要生成的二维码的大小可以先绘制得到该二维码的生成区域201,该生成区域为一个5x5的正方形区域;生成区域201中可以第一定位区和第二定位区,在该图中,将生成区域中的右下角区域作为方向定位区209,第一定位区中的各个定位区分别位于生成区域的左上角、右上角以及左下角,可以将第一定位区中的各个定位区认为是左上定位区203,右上定位区205、左下定位区207,其中,左上定位区203,右上定位区205和左下定位区207均占据一个点位,且为黑色点位,右下角的方向定位区占据四个点位,为一个黑色点位和三个白色点位,除了左上定位区203,右上定位区205、左下定位区207和方向定位区(虚线部分)209占据的点位之外,剩余的点位都为有效信息位。
图1中的方法,获取待生成二维码的商品信息对应的二进制序列;根据二进制序列确定二维码的生成区域中每个有效信息位的像素值;根据有效信息位的像素值以及定位点位的已知像素值,生成二维码;由于生成的二维码仅包括定位点位和有效信息点位,且定位点位中的第一定位区中的每个定位区仅各占据一个点位,不需要包含其他的功能区域,使生成的二维码结构更少,定位区占据的点位减少,从而使存储商品信息的有效信息点位增多,当需要存储与标准尺寸的二维码相同商品信息的情况下,本方案中的方案可以生成尺寸较小的二维码,且能够保证生成的小尺寸码也可以包含所需的商品信息,从而解决标准二维码尺寸过大的问题,以满足某些要求小尺寸码的场景需求。
基于图1的方法,本说明书实施例还提供了该方法的一些具体实施方案,下面进行说明。
所述获取待生成二维码的商品信息对应的二进制序列之前,还可以包括:
采用编码算法对商品信息进行编码,得到所述商品信息对应的二进制序列。
需要说明的是,编码算法可以是纠错能力较强的编码算法,比如:BCH算法、RS编码算法等。
采用编码算法对商品信息进行编码,可以理解为采用编码算法将商品信息对应的数据转换为二进制的序列。比如:可以将商品数据对应的字符每三位分为一组,将每组数据转换为10位二进制数据,余下的一或两位转换成4或7位的二进制数据。
可选的,所述根据所述二进制序列确定所述二维码的生成区域中每个有效信息位的像素值之前,还可以包括:
获取二维码的尺寸信息;
根据所述尺寸信息确定所述二维码中的各定位点位的位置信息以及有效信息位的位置信息。
需要说明的是,本方案可以根据用户的需求生成用户指定尺寸的二维码,比如:确定带生成的二维码尺寸为5x5像素。
各定位点位的位置信息以及有效信息位的位置信息可以用坐标进行表示,也可以用矩阵的形式进行表示。用矩阵形式进行表示时,可以将二维码中的每个定位点位以及有效信息位对应转换成矩阵当中的每行每列中对应的元素。比如:将二维码中左上定位区的定位点位转换为矩阵中第一行第一列对应的元素。
在图1的方法步骤中,所述根据所述二进制序列确定所述二维码的生成区域中每个有效信息位的像素值,具体可以包括:
对于所述二进制序列中的每个二进制位,确定该二进制位在所述二进序列中的顺序;
确定所述顺序在所述二维码生成区域中对应的有效信息位的位置;
根据该二进制位的值确定所述位置的有效信息位的像素值。
需要说明的是,这里的像素值可以表示的是二维码中的点位对应的码块颜色,比如:黑色或者白色。
图3为本说明书实施例提供的一种二维码生成方法中有效信息位像素值确定示意图。
如图3所示,为了方便解释有效信息位像素值的确定过程,可以将二维码中的有效信息位的位置用序号进行标注,需要说明的是,图3只是用于解释有效信息位中的码块像素的确定过程,该图不对本申请的技术方案造成任何限定。
需要说明的是,一个二进制序列中的每个二进制位在二进制序列中都具有顺序。比如:一个二进制序列为010110101,从左至右开始看,二进制序列中的第一个二进制位为0,第二个二进制位为1,第三个二进制位为0……第九个二进制位为1。将二进制序列中的第一个二进制位对应二维码中有效信息位中的序号“1”所在的点位,将二进制序列中的第二个二进制位对应二维码中有效信息位中的序号“2”所在的点位,依次类推,……,将二进制序列中的第九个二进制位对应二维码中有效信息位中的序号“9”所在的点位。
假设用二进制中的“0”表示白色码块,“1”表示黑色码块,此时,可以根据二进制序列010110101,确定每一个有效信息点位对应的码块颜色,比如:二进制序列中的第一个二进制位为0,可以确定有效信息位中序号“1”对应的点位的码块颜色为黑色,二进制序列中的第二个二进制位为1,可以确定有效信息位中序号“2”对应的点位的码块颜色为白色,……,二进制序列中的第九个二进制位为1,可以确定有效信息位中序号“9”对应的点位的码块颜色为黑色。可选的,一个二维码中可以包含定位点位、有效信息位,其中,第一定位区的定位点位所在的码块中可以存储有掩模信息,当然,掩模信息也可以存储到除了定位点位所在码块的其他码块中,具体需要多少个码块存储掩模信息,可以根据生成的二维码的大小来进行确定,一般情况下,一个码块中可以存储两种掩模,比如生成5x5的二维码时,可以用4种掩模,存储在两个码块中,如果需要生成4x4的二维码,可以用2种掩模,存储在1个码块中。
所述获取待生成二维码的商品信息对应的二进制序列之前,还可以包括:
根据所述掩模信息对商品信息对应的二进制序列进行掩模处理,得到掩模处理后的二进制序列。
需要说明的是,有效信息位所在的区域可以被认为是数字区域,定位点位所在的区域可以认为是功能区域。掩模处理仅针对有效信息位所在的数字区域进行掩模,不对定位点位所在的功能区域产生影响。在对商品数据进行编码之后,为了避免有效信息位中的码块出现大面积的空白或者黑块,对扫描识别造成困难,可以对有效信息位进行掩模处理。
因此,掩模的作用可以是安排深色与浅色模块,除此之外还要尽可能地避免定位点位对应的点位出现在符号的其他区域。在具体使用过程中,掩模的效果越好,黑白色块的分布就更均匀,从而可以提高二维码识别的准确度。而掩模的好坏是由掩码决定的。其中,掩码可以指根据特定规则将二维码区域内码元的值改变的一种策略。采用掩码的目的是调整二维码内各个码块的展示。如果二维码内某个码块被掩模处理了,可以理解为:如果该码块在进行掩模处理之前是白色码元,那么经过掩模处理之后可以变成黑色码块。换句话说,掩码可以理解为将二维码中的码块的像素值进行修改。
上述实施例1中的方法可以结合以下具体实现方式来说明:
1)首先确定二维码的大小,绘制边框区域,确定二维码的大小,比如:需要生成4x4的二维码。
2)确定二维码边框区域中定位点的格式和位置,比如:采用方格作为定位点位,将左上,右上,左下三个位置的点位作为第一定位区,码块颜色固定为黑色,作为第一定位区的定位点位。
3)将右下角的四个点位用来标记方向,方向定位点位固定为白色,由于外围边框也是白色,为了避免大块同色区域的出现,该点位左上方的点位固定为黑色。
4)确定剩余点位个数,选用纠错能力较强的编码算法(比如:BCH编码算法、RS算法)对商品信息进行编码。
编码完成后使用掩码对生成的二维码做处理,使得黑白色块均匀分布,得到有效信息位对应的码块颜色,生成4x4的二维码。
通过上述方法,可以生成小尺寸码,现有的二维码尺寸最小都在21x21像素,尺寸过大,本方案中合理的定位点和码字信息分布,以及编解码算法的选择,可以使生成的二维码尺寸最小可达到4x4的尺寸,可以达到标准二维码的1/16左右,可以有效解决标准二维码尺寸过大的问题,保证生成的二维码贴于商品表面时,掩盖的商品外观信息非常少,几乎对商品表面信息无影响,满足智能货柜场景对于二维码尺寸的要求。
实施例2
图4为本说明书实施例中一种二维码的解码方法的流程示意图。从程序角度而言,流程的执行主体可以为搭载于应用服务器的程序或应用客户端。
需要说明的是,实施例2中的解码过程与实施例1中的编码过程对应,比如:实施例1中的编码算法与实施例2中的解码算法应该对应,假设,采用BCH算法对商品信息进行编码,得到二进制序列,那么,在解码时,也应该采用BCH算法对二进制序列进行解码,得到商品信息。
如图4所示,该流程可以包括以下步骤:
步骤402:获取待识别二维码的图像信息,所述待识别二维码的图像区域包含第一定位区和第二定位区,所述第二定位区为方向定位区;所述第一定位区包括三个定位区,且每个所述定位区各占据一个点位。
需要说明的是,上述提到的二维码的图像信息可以表示不受限于二维码载体限制的二维码本身的信息,比如:在电脑上画出来的二维码的信息。例如:二维码的尺寸信息、各个定位点位的位置信息、有效信息位的位置信息以及二维码中各个点位对应的码块颜色等等。
步骤404:从所述图像信息中确定所述待识别二维码中有效信息位的像素值。
由于从二维码的图像信息中可以确定各个定位区的位置信息,除了各个定位区之外剩下的点位为有效信息位。
有效信息位中可以存储有商品信息。扫描设备通过扫描二维码可以获取有效信息位中存储的商品信息。
步骤406:根据所述有效信息位的像素值生成二进制序列。
需要说明的是,这里的像素值可以表示点位对应的码块为黑色或者白色,像素值可以是黑色或者白色对应的具体像素的数值。从二维码的图像信息中可以看出每个有效信息位对应的码块颜色,根据码块的颜色可以确定二进制序列中的二进制位。比如:黑色为二进制位“1”,白色为二进制位“0”。这一步骤中提到的根据有效信息位的像素值生成二进制序列的步骤过程可以借鉴实施例1中根据二进制序列确定有效信息位的像素值的过程,将实施例1中根据二进制序列确定有效信息位的像素值的过程反向推导,可以得到根据有效信息位的像素值生成二进制序列的具体实现步骤,此处不再赘述。
步骤408:对所述二进制序列进行解码,得到所述有效信息位中储存的商品信息。
采用与编码算法相对应的解码算法对二进制序列进行解码,得到有效信息位中存储的商品信息。
一个二维码中包括定位点位、有效信息位,掩模信息存储在部分定位点位中,因此,在对二进制序列进行解码之前,还可以包括:
根据第一定位区中任意一个所述定位区的点位中存储的掩模信息解除所述二进制序列的掩码,得到解除掩码后的二进制序列。
该步骤中解除掩码的方式可以与对二进制序列进行掩模处理的方式对应,解除二进制序列的掩码基于的掩模信息与对该二进制序列进行掩模处理基于的掩模信息应该保持一致。
基于图4的方法,本说明书实施例还提供了该方法的一些具体实施方案,下面进行说明。
对二维码进行解码之前,需要先从包含二维码图像的待检测图像中检测得到二维码图像,然后再从二维码图像中识别得到二维码。具体地,可以采用检测模型从包含二维码图像的待检测图像中检测得到二维码图像,可以采用识别模型从检测模型检测得到的二维码图像中识别得到二维码的图像信息,具体可以采用以下实施方案进行实现:
所述获取待识别二维码的图像信息之前,还可以包括:
获取包含待识别二维码的二维码图像;
采用识别模型对所述二维码图像进行识别,得到所述待识别二维码的图像信息。
在对二维码进行解码之前,需要获取到二维码的图像信息,二维码的图像信息可以从二维码图像中识别出二维码。
需要说明的是,上述步骤中提到的二维码图像可以指的是包含二维码的图像。
识别模型用于从二维码图像中识别得到二维码,可以理解为从一个包含二维码的图像中将二维码抠出来。其中,识别模型属于深度学习模型,可以是有监督的学习。深度学习是机器学习的分支,是一种以人工神经网络为架构,对数据进行表征学习的算法,深度学习是机器学习中一种基于对数据进行表征学习的算法。观测值可以使用多种方式来表示,如每个像素强度值的向量,或者更抽象地表示成一系列边、特定形状的区域等。
所述获取包含待识别二维码的二维码图像之前,还可以包括:
获取待识别图像,所述待识别图像中包含所述二维码图像;
采用检测模型对所述待识别图像进行检测,确定所述待识别图像中包含待识别二维码的二维码图像。
需要说明的是,这里的待识别图像可以指的是包含背景和二维码的图像,比如:商场的一个商品上贴有一个二维码,采用图像采集设备拍摄图片,图片中包含该商品以及该商品上贴着的二维码,这里拍摄得到的图片可以用本方案中的待识别图像进行表示。
上述提到的检测模型可以是深度学习模型。用于从待识别图像中确定包含待识别二维码的二维码图像。
上述方法,对应于实施例1中的二维码生成方法,可以根据二维码的生成方法对生成的二维码进行解码处理。
现有技术中,在对二维码进行识别时,采用基于传统图像的算法进行检测识别,主要是利用线条的检测,找到二维码的各个区域,再通过复杂的编解码算法进行码字信息的识别。该类方法对于图像质量要求很高,对光照强度、图片分辨率以及拍摄角度等要求很高,稍有偏差就无法对二维码进行识别。
基于此,本实施例中提出的二维码识别方法可以是一种基于深度学习的检测和识别算法,本实施例中提出的二维码识别方法可以是针对实施例1中生成的二维码进行识别的方法。在具体的检测和识别的过程中,主要可以采用检测模型先从图像采集装置拍摄的图像中检测得到图像中的二维码图像;然后再采用识别模型识别检测模型检测得到的二维码图像中具体的二维码。具体可以采用以下实施例进行说明:
实施例3
图5为本说明书实施例中一种二维码识别方法的流程示意图。从程序角度而言,流程的执行主体可以为搭载于应用服务器的程序或应用客户端。
如图1所示,该流程可以包括以下步骤:
步骤502:获取待识别图像。
待识别图像中可以是包含二维码、背景的图像,比如:智能货柜场景中,智能货柜中的鱼眼相机拍摄的图像可以作为待识别图像,该待识别图像中可以包含二维码、二维码贴附的载体以及载体周围的环境信息等等。
步骤504:采用检测模型对所述待识别图像进行检测,确定所述待识别图像中包含待识别二维码的二维码图像。
步骤506:采用识别模型对所述二维码图像进行识别,得到所述二维码图像中的待识别二维码的图像信息,所述待识别二维码的图像区域包含第一定位区和第二定位区,所述第二定位区为方向定位区;所述第一定位区包括三个定位区,且每个所述定位区各占据一个点位。
通过上述方法,采用基于深度学习的检测和识别算法,可以精准地识别到二维码中的各个点位,从而在摄像头拍摄得到二维码的畸变图像的场景下完整地解码出码中包含的有效信息,实现对畸变场景中小尺寸二维码的高精度检测识别。基于图5的方法,本说明书实施例还提供了该方法的一些具体实施方案,下面进行说明。
可选的,所述方向定位区占据四个点位,所述采用识别模型对所述二维码图像进行识别之前,还可以包括:
获取标准二维码的图像区域中预设的方向定位区对应的第一位置信息;
获取所述待识别二维码的图像区域中的方向定位区的第二位置信息;
根据所述第二位置信息与所述第一位置信息对所述待识别二维码进行变换校正,得到校正后的二维码图像。
需要说明的是,方向定位区可以位于二维码区域中的四个角的任意位置,比如,可以位于二维码区域中的右下角,当然,这里的二维码区域是指二维码正确放置时对应的区域。方向定位区可以用于表示二维码的方向,其中,方向定位区可以占据四个点位。
在对二维码进行识别之前,为了提高识别的效率,可以先对二维码图像的方向进行校正。
具体地,在对二维码进行旋转变换时,可以采用透视变换的方法校正二维码图像的方向,也可以采用其他方式进行校正,对此,本说明书实施例不进行具体限定。具体地,可以先获取标准二维码的图像区域中预设的方向定位区对应的第一位置信息,然后再获取待识别二维码的图像区域中的方向定位区的第二位置信息。此时,可以根据第二位置信息与第一位置信息对待识别二维码进行变换校正,得到校正后的二维码图像。比如:标准二维码的图像区域中预设的方向定位区位于区域中的右下角,获取的待识别二维码的图像区域中的方向定位区位于区域的左上角,此时,可以根据第二位置信息与第一位置信息将待识别二维码旋转180度,得到旋转180度后的二维码图像。
需要说明的是,对二维码图像的方向进行校正的步骤,可以在检测模型中来完成,具体地,检测模型从待识别图像中检测出二维码图像之后,将二维码图像进行变换校正,得到校正后的二维码图像之后,再将校正后的二维码图像输入识别模型中进行识别。
对二维码图像的方向进行校正的步骤,也可以在识别模型中来完成,具体地,检测模型从待识别图像中检测出二维码图像之后,将二维码图像输入识别模型中,识别模型先将输入的二维码图像进行变换校正,得到校正后的二维码图像之后,再对校正后的二维码图像进行识别。
对二维码图像的方向进行校正的步骤,还可以由其他设备单独执行,具体地,检测模型从待识别图像中检测出二维码图像之后,将二维码图像发送给其他设备,其他设备对二维码图像进行变换校正,得到校正后的二维码图像之后,将校正后的二维码图像输入识别模型中进行识别。
在实际应用场景中,为了提高对二维码进行识别时的识别准确率以及识别效率,可以提前对获取的图像进行预处理,具体可以采用以下方法:
获取待识别图像之前,还可以包括:
获取图像采集设备拍摄的包含二维码的商品图像;
对所述商品图像进行预处理,得到待识别图像。
预处理可以包括像素值归一化、调整图片尺寸和/或畸变校正等操作。
本方案中在采用检测模型从待识别图像中检测确定出二维码图像之前,需要先对检测模型进行训练,具体的训练过程可以采用以下方法:
所述采用检测模型对所述待识别图像进行检测,确定所述待识别图像中包含待识别二维码的二维码图像之前,还可以包括:
获取包含二维码图像的样本图片,所述样本图片中的部分区域中包括二维码;
采用所述样本图片对检测模型进行训练,直至所述检测模型的第一准确率满足第一预设阈值为止,得到训练完成的检测模型;所述第一准确率表示所述检测模型检测得到的二维码图像与已知的二维码图像的相似程度。
上述步骤中,第一准确率可以与检测模型检测得到的二维码图像与已知的二维码图像的相似程度成正比,即第一准确率越高,可以表示检测模型输出的二维码图像与已知的二维码图像越相似。
在训练检测模型时,训练完成的检测模型的检测准确率应该满足预设条件,比如:设定检测模型的检测准确率应当大于或等于95%。准确率可以计算比对检测模型输出的二维码图像与已知的二维码图像的相似度来衡量,这里的准确率可以直接用输出的二维码图像与已知的二维码图像的相似度来表示,也可以根据该相似度来计算检测模型的准确率,准确率的确定方法可以根据实际情况进行限定,本说明书实施例对此不进行限定。
需要说明的是,上述步骤中的样本图片可以是通过拍摄得到的真实图片,比如:二维码贴在一个杯子上,采用相机拍摄了贴着二维码的杯子的图片,图片中包括整个二维码和杯子。当然,在本方案中应用深度学习算法时,训练检测模型需要大量的图片数据,真实场景中的真实图片数据无法满足检测模型的训练需求时,样本图片也可以是合成的包含二维码图像的样本图片,比如:从网络上获取一些背景图片,通过合成技术将二维码与背景图片进行合成,得到样本图片。
当样本图片为合成的图片时,二维码与背景可能存在违和的情况,导致合成图片与真实图片差距较大,进而影响训练检测模型的训练效果。为了解决这一技术问题,可以对合成的样本图片进行优化,使合成的样本图片更加接近真实图片,从而保证检测模型的训练效果,以提高后续检测模型的检测精度。具体优化合成的样本图片的方法可以包括以下步骤:
将待优化的合成图片输入生成式对抗网络中的生成模型,得到所述生成模型输出的图片,将所述生成模型输出的图片作为优化后的图片样本。
通过生成式对抗网络对合成图片进行优化,具体地,可以采用生成式对抗网络中的生成模型得到优化后的图片。
所述将待优化的合成图片输入生成式对抗网络中的生成模型,得到所述生成模型输出的图片之前,还可以包括:
获取包含二维码的合成样本图片;
将所述合成样本图片输入生成式对抗网络中的生成模型,得到所述生成模型输出的合成图片;
将所述生成模型输出的合成图片输入生成式对抗网络中的判别模型,得到所述判别模型的判别结果,所述判别结果表示所述生成模型输出的合成图片与包含二维码的真实图片的相似度;
当所述相似度小于预设阈值时,对所述生成式对抗网络中的生成模型进行优化,直至所述生成模型输出的合成图片与包含二维码的真实图片的相似度大于等于所述预设阈值为止,得到训练完成的生成式对抗网络的生成模型。
需要说明的是,生成式对抗网络(Generative Adversarial Networks,GANs)包括两个模型,一个是生成模型G,另一个是判别模型D,生成模型G的作用是:通过不断学习训练集中真实数据的概率分布,目标是生成与真实图片接近的图片。判别模型D的作用是:判断生成模型生成的图片是否是真实的图片,目标是将生成模型G生成的“假”图片与训练集中的“真”图片分辨开。由于判别模型D的存在,使得G在没有大量先验知识以及先验分布的前提下也能很好的去学习逼近真实数据,并最终让生成模型生成的数据达到以假乱真的效果。
因此,通过判别模型的判别结果对生成模型进行优化,优化后的生成模型生成的图片可以作为图片样本。
通过上述方法,可以合成的样本图片更加接近真实图片,从而保证检测模型的训练效果,以提高后续检测模型的检测精度。
所述采用识别模型对所述二维码图像进行识别,得到所述二维码图像中的待识别二维码的图像信息之前,需要对识别模型进行训练,具体训练过程可以采用以下方法:
获取二维码图像样本,所述二维码图像样本中包含二维码已知的图像信息;
采用所述二维码图像样本对识别模型进行训练,直至所述识别模型的输出结果的第二准确率满足第二预设阈值为止,得到训练完成的识别模型;所述第二准确率表示所述识别模型的输出结果与二维码已知的图像信息的相似程度。
上述方法步骤中,二维码图像样本中可以包含二维码已知的图像信息,这里的图像信息可以参见实施例1和实施例2中的解释,此处不再赘述。
需要说明的是,在采用二维码图像样本对识别模型进行训练之前,也可以采用对抗式生成网络对二维码图像样本进行优化,具体优化过程可以参考优化用来训练检测模型的合成样本图片的方法,此处不再赘述。
实施例3中的方法可以采用以下例子进行说明:
例如:在智能货柜的应用场景中,鱼眼相机拍摄的商品图片作为待识别的实拍图像,实拍图像中可以包含商品、商品上贴着的二维码以及周边的环境信息等等。对实拍图像中的二维码进行识别的具体步骤可以包括:
1)对待识别的实拍图像进行像素值归一化,调整图片尺寸,畸变校正等预处理,得到待识别图像。
2)得到待识别图像之后,采用检测模型对所述待识别图像进行检测,确定待识别图像中的二维码的图像,从二维码图像中可以看出二维码的轮廓、各个定位点位的位置、各个有效信息位的位置以及所有点位的码块颜色。
3)检测得到二维码图像之后,根据方向定位区的位置信息,对二维码图像进行变换校正,将二维码图像转换成标准方向的二维码图像。
4)采用识别模型对转换后的二维码图像进行识别,得到二维码的图像信息,所述图像信息中包含二维码中的各个定位点位的信息以及有效信息位的信息,比如:定位点位中包含的掩模信息、有效信息位对应的二进制序列、编码算法等等。
5)根据掩模信息解除掩码。
6)根据解除掩码的有效信息位的像素值生成二进制序列。
7)再根据解码算法对所述二进制序列进行解码,得到所述有效信息位中储存的商品信息。
通过前述实施例1、实施例2以及实施例3中的方法,本方案中可以实现的技术效果可以包括:
1)现有的二维码中包括定位特征区域、对齐特征区域、时序区域、格式信息区域和数据区域等,每个区域都有固定的位置,比如:三个角落中的定位码均为“回字形”,每个区域都有很繁琐的校验过程。但是本方案仅采用第一定位区中的三个定位区来定位二维码,将第一定位区中任意一个所述定位区的点位中作为掩码的信息位,方向定位区用于定位二维码的方向,其余的都是信息位,二维码中的结构比现有的二维码结构少,并且第一定位区中的各个定位区各自仅占据一个点位,从而使存储商品信息的有效信息点位增多,保证生成的小尺寸码也可以包含相应的商品信息,从而解决标准二维码尺寸过大的问题。并且,当现有的二维码与本方案生成的二维码需要存储相同的商品信息的情况下,本方案中的方案可以生成尺寸较小的二维码,从而满足某些要求小尺寸码的场景需求。
2)不同于传统二维码,以及其他二维码种类,合理的定位点、有效信息位信息分布以及编解码算法的选择,使得二维码尺寸最小可达到4x4的尺寸,实际生产出的码的大小小于1cm*1cm,贴于商品表面时,掩盖的商品外观信息非常少,尺寸大于2cm的商品基本都可以贴放,几乎对商品表面信息无影响,满足智能货柜场景对于二维码尺寸的要求。
3)二维码的检测识别技术:抛弃了传统基于图像检测识别的方法,采用基于深度学习的检测和识别算法,可以精准地识别到二维码中的各个点位,从而在摄像头拍摄得到二维码的畸变图像的场景下完整地解码出码中包含的有效信息,实现对畸变场景中小尺寸二维码的高精度检测识别。
基于同样的思路,本说明书实施例还提供了上述实施例中的方法对应的装置。图6为本说明书实施例提供的对应于图1的一种二维码生成装置的结构示意图。如图6所示,该装置可以包括:
二进制序列获取模块602,用于获取待生成二维码的商品信息对应的二进制序列;
有效信息位的像素值确定模块604,用于根据所述二进制序列确定所述二维码的生成区域中每个有效信息位的像素值;所述二维码的生成区域中还包含第一定位区和第二定位区,所述第二定位区为方向定位区;所述第一定位区包括三个定位区,且每个所述定位区各占据一个点位;
二维码生成模块606,用于根据所述有效信息位的像素值以及所述定位点位的已知像素值,生成所述二维码。
可选的,所述装置,还可以包括:
编码模块,用于采用编码算法对商品信息进行编码,得到所述商品信息对应的二进制序列。
可选的,所述装置,还可以包括:
二维码尺寸获取模块,用于获取二维码的尺寸信息;
点位的位置信息确定模块,用于根据所述尺寸信息确定所述二维码中的各定位点位的位置信息以及有效信息位的位置信息。
可选的,所述有效信息位的像素值确定模块604,具体可以包括:
二进制位顺序确定单元,用于对于所述二进制序列中的每个二进制位,确定该二进制位在所述二进制序列中的顺序;
有效信息位的位置确定单元,用于确定所述顺序在所述二维码生成区域中对应的有效信息位的位置;
有效信息位的像素值确定单元,用于根据该二进制位的值确定所述位置的有效信息位的像素值。
可选的,所述第一定位区中任意一个所述定位区的点位中可以存储有掩模信息;
所述装置,还可以包括:
掩模模块,用于根据所述掩模信息对商品信息对应的二进制序列进行掩模处理,得到掩模处理后的二进制序列。
图7为本说明书实施例提供的对应于图4的一种二维码解码装置的结构示意图。如图7所示,该装置可以包括:
二维码图像信息获取模块702,用于获取待识别二维码的图像信息,所述待识别二维码的图像区域包含第一定位区和第二定位区,所述第二定位区为方向定位区;所述第一定位区包括三个定位区,且每个所述定位区各占据一个点位;
有效信息位确定模块704,用于从所述图像信息中确定所述待识别二维码中有效信息位的像素值;
二进制序列生成模块706,用于根据所述有效信息位的像素值生成二进制序列;
解码模块708,用于对所述二进制序列进行解码,得到所述有效信息位中储存的商品信息。
可选的,所述装置,还可以包括:
二维码图像获取模块,用于获取包含待识别二维码的二维码图像;
二维码识别模块,用于采用识别模型对所述二维码图像进行识别,得到所述待识别二维码的图像信息。
可选的,所述装置,还可以包括:
待识别图像获取模块,用于获取待识别图像,所述待识别图像中包含所述二维码图像;
二维码图像检测模块,用于采用检测模型对所述待识别图像进行检测,确定所述待识别图像中包含待识别二维码的二维码图像。
可选的,所述装置,还可以包括:
掩码解除模块,用于根据所述第一定位区中任意一个所述定位区的点位中存储的掩模信息解除所述二进制序列的掩码,得到解除掩码后的二进制序列。
图8为本说明书实施例提供的对应于图5的一种二维码识别装置的结构示意图。如图8所示,该装置可以包括:
待识别图像获取模块802,用于获取待识别图像;
二维码图像检测模块804,用于采用检测模型对所述待识别图像进行检测,确定所述待识别图像中包含待识别二维码的二维码图像;
二维码识别模块806,用于采用识别模型对所述二维码图像进行识别,得到所述二维码图像中的待识别二维码的图像信息,所述待识别二维码的图像区域包含第一定位区和第二定位区,所述第二定位区为方向定位区;所述第一定位区包括三个定位区,且每个所述定位区各占据一个点位。
可选的,所述方向定位区可以占据四个点位,所述装置,还可以用于:
获取标准二维码的图像区域中预设的方向定位区对应的第一位置信息;
获取所述待识别二维码的图像区域中的方向定位区的第二位置信息;
根据所述第二位置信息与所述第一位置信息对所述待识别二维码进行变换校正,得到校正后的二维码图像。
可选的,所述装置,还可以包括:
商品图像获取模块,用于获取图像采集设备拍摄的包含二维码的商品图像;
预处理模块,用于对所述商品图像进行预处理,得到待识别图像;所述预处理至少包括像素值归一化、调整图片尺寸和/或畸变校正。
可选的,所述装置,还可以包括:
样本图片获取模块,用于获取包含二维码图像的样本图片,所述样本图片中的部分区域中包括二维码;
检测模型训练模块,用于采用所述样本图片对检测模型进行训练,直至所述检测模型的第一准确率满足第一预设阈值为止,得到训练完成的检测模型;所述第一准确率表示所述检测模型检测得到的二维码图像与已知的二维码图像的相似程度。
可选的,所述样本图片获取模块,具体可以用于:
获取合成的包含二维码图像的样本图片。
可选的,所述装置,还可以包括:
样本图片优化模块,用于将待优化的合成图片输入生成式对抗网络中的生成模型,得到所述生成模型输出的图片,将所述生成模型输出的图片作为优化后的图片样本。
可选的,所述装置,还可以用于:
获取包含二维码的合成样本图片;
将所述合成样本图片输入生成式对抗网络中的生成模型,得到所述生成模型输出的合成图片;
将所述生成模型输出的合成图片输入生成式对抗网络中的判别模型,得到所述判别模型的判别结果,所述判别结果表示所述生成模型输出的合成图片与包含二维码的真实图片的相似度;
当所述相似度小于预设阈值时,对所述生成式对抗网络中的生成模型进行优化,直至所述生成模型输出的合成图片与包含二维码的真实图片的相似度大于等于所述预设阈值为止,得到训练完成的生成式对抗网络的生成模型。
可选的,所述装置,还可以包括:
二维码图像样本获取模块,用于获取二维码图像样本,所述二维码图像样本中包含二维码已知的图像信息;
识别模型训练模块,用于采用所述二维码图像样本对识别模型进行训练,直至所述识别模型的输出结果的第二准确率满足第二预设阈值为止,得到训练完成的识别模型;所述第二准确率表示所述识别模型的输出结果与二维码已知的图像信息的相似程度。
基于同样的思路,本说明书实施例还提供了上述方法对应的设备。图9为本说明书实施例提供的对应于图1、图4和图5的设备的结构示意图。如图9所示,设备900可以包括:
至少一个处理器910;以及,
与所述至少一个处理器通信连接的存储器930;其中,
所述存储器930存储有可被所述至少一个处理器910执行的指令920,所述指令被所述至少一个处理器910执行。
对应于实施例1,一种二维码生成设备中,所述指令可以使所述至少一个处理器910能够:
获取待生成二维码的商品信息对应的二进制序列;
根据所述二进制序列确定所述二维码的生成区域中每个有效信息位的像素值;所述二维码的生成区域中还包含第一定位区和第二定位区,所述第二定位区为方向定位区;所述第一定位区包括三个定位区,且每个所述定位区各占据一个点位;
根据所述有效信息位的像素值以及所述定位点位的已知像素值,生成所述二维码。
对应于实施例2,一种二维码解码设备中,所述指令可以使所述至少一个处理器能够:
获取待识别二维码的图像信息,所述待识别二维码的图像区域包含第一定位区和第二定位区,所述第二定位区为方向定位区;所述第一定位区包括三个定位区,且每个所述定位区各占据一个点位;
从所述图像信息中确定所述待识别二维码中有效信息位的像素值;
根据所述有效信息位的像素值生成二进制序列;
对所述二进制序列进行解码,得到所述有效信息位中储存的商品信息。
对应于实施例3,一种二维码识别设备中,所述指令可以使所述至少一个处理器能够:
获取待识别图像;
采用检测模型对所述待识别图像进行检测,确定所述待识别图像中包含待识别二维码的二维码图像;
采用识别模型对所述二维码图像进行识别,得到所述二维码图像中的待识别二维码的图像信息,所述待识别二维码的图像区域包含第一定位区和第二定位区,所述第二定位区为方向定位区;所述第一定位区包括三个定位区,且每个所述定位区各占据一个点位。
基于同样的思路,本说明书实施例还提供了实施例1中的方法对应的计算机可读介质。计算机可读介质上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现以下方法:
获取待生成二维码的商品信息对应的二进制序列;
根据所述二进制序列确定所述二维码的生成区域中每个有效信息位的像素值;所述二维码的生成区域中还包含第一定位区和第二定位区,所述第二定位区为方向定位区;所述第一定位区包括三个定位区,且每个所述定位区各占据一个点位;
根据所述有效信息位的像素值以及所述定位点位的已知像素值,生成所述二维码。
基于同样的思路,本说明书实施例还提供了实施例2中的方法对应的计算机可读介质。计算机可读介质上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现以下方法:
获取待识别二维码的图像信息,所述待识别二维码的图像区域包含第一定位区和第二定位区,所述第二定位区为方向定位区;所述第一定位区包括三个定位区,且每个所述定位区各占据一个点位;
从所述图像信息中确定所述待识别二维码中有效信息位的像素值;
根据所述有效信息位的像素值生成二进制序列;
对所述二进制序列进行解码,得到所述有效信息位中储存的商品信息。
基于同样的思路,本说明书实施例还提供了实施例3中的方法对应的计算机可读介质。计算机可读介质上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现以下方法:
获取待识别图像;
采用检测模型对所述待识别图像进行检测,确定所述待识别图像中包含待识别二维码的二维码图像;
采用识别模型对所述二维码图像进行识别,得到所述二维码图像中的待识别二维码的图像信息,所述待识别二维码的图像区域包含第一定位区和第二定位区,所述第二定位区为方向定位区;所述第一定位区包括三个定位区,且每个所述定位区各占据一个点位。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC625D、AtmelAT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书一个或多个实施例时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书一个或多个实施例可提供为方法、系统、或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书一个或多个实施例是参照根据本说明书一个或多个实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书一个或多个实施例。对于本领域技术人员来说,本说明书一个或多个实施例可以有各种更改和变化。凡在本说明书一个或多个实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例的权利要求范围之内。
Claims (32)
1.一种二维码生成方法,包括:
获取待生成二维码的商品信息对应的二进制序列;
根据所述二进制序列确定所述二维码的生成区域中每个有效信息位的像素值;所述二维码由所述有效信息位和定位点位组成;所述定位点位包括第一定位区占据的点位;所述第一定位区包括三个定位区,所述第一定位区中的所述定位区用于对所述二维码进行定位;所述第一定位区中的每个所述定位区各占据一个点位;
根据所述有效信息位的像素值以及定位点位的已知像素值,生成所述二维码。
2.如权利要求1所述的方法,所述二进制序列是采用具有纠错能力编码算法对商品信息进行编码得到的。
3.如权利要求1所述的方法,所述根据所述二进制序列确定所述二维码的生成区域中每个有效信息位的像素值之前,还包括:
获取所述二维码的尺寸信息;
根据所述尺寸信息确定所述二维码中的各定位点位在生成区域中的位置信息以及有效信息位在生成区域中的位置信息。
4.如权利要求1所述的方法,所述定位点位还包括第二定位区占据的点位;所述第二定位区为方向定位区;所述第一定位区中任意一个所述定位区的点位中存储有掩模信息;所述有效信息位是根据所述掩模信息解除掩码后的信息位。
5.如权利要求1所述的方法,所述有效信息位的像素值为所述有效信息位对应的码块的码元值。
6.如权利要求1所述的方法,所述获取待生成二维码的商品信息对应的二进制序列之前,还包括:
采用编码算法对商品信息进行编码,得到所述商品信息对应的二进制序列。
7.如权利要求1所述的方法,所述根据所述二进制序列确定所述二维码的生成区域中每个有效信息位的像素值,具体包括:
对于所述二进制序列中的每个二进制位,确定该二进制位在所述二进制序列中的顺序;
确定所述顺序在所述二维码生成区域中对应的有效信息位的位置;
根据该二进制位的值确定所述位置的有效信息位的像素值。
8.如权利要求1所述的方法,所述第一定位区中任意一个所述定位区的点位中存储有掩模信息;
所述获取待生成二维码的商品信息对应的二进制序列之前,还包括:
根据所述掩模信息对商品信息对应的二进制序列进行掩模处理,得到掩模处理后的二进制序列。
9.如权利要求1所述的方法,所述待生成二维码为方形点阵码。
10.一种二维码的解码方法,包括:
获取待识别二维码的图像信息,所述二维码由有效信息位和定位点位组成;所述定位点位包括第一定位区占据的点位;所述第一定位区包括三个定位区,所述第一定位区中的所述定位区用于对所述二维码进行定位;所述第一定位区中的每个所述定位区各占据一个点位;从所述图像信息中确定所述待识别二维码中所述有效信息位的像素值;
根据所述有效信息位的像素值生成二进制序列;
对所述二进制序列进行解码,得到所述有效信息位中储存的商品信息。
11.如权利要求10所述的方法,所述对所述二进制序列进行解码,得到所述有效信息位中储存的商品信息,具体包括:
采用具有纠错能力的解码算法对所述二进制序列进行解码,得到所述有效信息位中储存的商品信息。
12.如权利要求10所述的方法,所述从所述图像信息中确定所述待识别二维码中有效信息位的像素值之前,还包括:
获取所述待识别二维码的尺寸信息;
根据所述待识别二维码的尺寸信息确定所述二维码中的各定位点位在生成区域中的位置信息以及有效信息位在生成区域中的位置信息。
13.如权利要求10所述的方法,所述定位点位还包括第二定位区占据的点位,所述第二定位区为方向定位区。
14.如权利要求10所述的方法,所述获取待识别二维码的图像信息之前,还包括:
获取包含待识别二维码的二维码图像;
采用识别模型对所述二维码图像进行识别,得到所述待识别二维码的图像信息。
15.如权利要求14所述的方法,所述获取包含待识别二维码的二维码图像之前,还包括:
获取待识别图像,所述待识别图像中包含所述二维码图像;
采用检测模型对所述待识别图像进行检测,确定所述待识别图像中包含待识别二维码的二维码图像。
16.如权利要求10所述的方法,所述对所述二进制序列进行解码之前,还包括:
根据第一定位区中任意一个所述定位区的点位中存储的掩模信息解除所述二进制序列的掩码,得到解除掩码后的二进制序列。
17.一种二维码识别方法,包括:
获取待识别图像;
采用检测模型对所述待识别图像进行检测,确定所述待识别图像中包含待识别二维码的二维码图像;
采用识别模型对所述二维码图像进行识别,得到所述二维码图像中的待识别二维码的图像信息,所述二维码由有效信息位和定位点位组成;所述定位点位包括第一定位区占据的点位;所述第一定位区包括三个定位区,所述第一定位区中的所述定位区用于对所述二维码进行定位;所述第一定位区中的每个所述定位区各占据一个点位。
18.如权利要求17所述的方法,所述定位点位还包括第二定位区占据的点位,所述第二定位区为方向定位区。
19.如权利要求18所述的方法,所述方向定位区占据四个点位,所述采用识别模型对所述二维码图像进行识别之前,还包括:
获取标准二维码的图像区域中预设的方向定位区对应的第一位置信息;
获取所述待识别二维码的图像区域中的方向定位区的第二位置信息;
根据所述第二位置信息与所述第一位置信息对所述待识别二维码进行变换校正,得到校正后的二维码图像。
20.如权利要求17所述的方法,所述获取待识别图像之前,还包括:
获取图像采集设备拍摄的包含二维码的商品图像;
对所述商品图像进行预处理,得到待识别图像;所述预处理至少包括像素值归一化、调整图片尺寸和/或畸变校正。
21.如权利要求17所述的方法,所述采用检测模型对所述待识别图像进行检测,确定所述待识别图像中包含待识别二维码的二维码图像之前,还包括:
获取包含二维码图像的样本图片,所述样本图片中的部分区域中包括二维码;
采用所述样本图片对检测模型进行训练,直至所述检测模型的第一准确率满足第一预设阈值为止,得到训练完成的检测模型;所述第一准确率表示所述检测模型检测得到的二维码图像与已知的二维码图像的相似程度。
22.如权利要求21所述的方法,所述获取包含二维码图像的样本图片,具体包括:
获取合成的包含二维码图像的样本图片。
23.如权利要求22所述的方法,所述获取合成的包含二维码图像的图片样本之前,还包括:
将待优化的合成图片输入生成式对抗网络中的生成模型,得到所述生成模型输出的图片,将所述生成模型输出的图片作为优化后的图片样本。
24.如权利要求23所述的方法,所述将待优化的合成图片输入生成式对抗网络中的生成模型,得到所述生成模型输出的图片之前,还包括:
获取包含二维码的合成样本图片;
将所述合成样本图片输入生成式对抗网络中的生成模型,得到所述生成模型输出的合成图片;
将所述生成模型输出的合成图片输入生成式对抗网络中的判别模型,得到所述判别模型的判别结果,所述判别结果表示所述生成模型输出的合成图片与包含二维码的真实图片的相似度;
当所述相似度小于预设阈值时,对所述生成式对抗网络中的生成模型进行优化,直至所述生成模型输出的合成图片与包含二维码的真实图片的相似度大于等于所述预设阈值为止,得到训练完成的生成式对抗网络的生成模型。
25.如权利要求17所述的方法,所述采用识别模型对所述二维码图像进行识别,得到所述二维码图像中的待识别二维码的图像信息之前,还包括:
获取二维码图像样本,所述二维码图像样本中包含二维码已知的图像信息;
采用所述二维码图像样本对识别模型进行训练,直至所述识别模型的输出结果的第二准确率满足第二预设阈值为止,得到训练完成的识别模型;所述第二准确率表示所述识别模型的输出结果与二维码已知的图像信息的相似程度。
26.一种二维码生成装置,包括:
二进制序列获取模块,用于获取待生成二维码的商品信息对应的二进制序列;
有效信息位的像素值确定模块,用于根据所述二进制序列确定所述二维码的生成区域中每个有效信息位的像素值;所述二维码由所述有效信息位和定位点位组成;所述定位点位包括第一定位区占据的点位;所述第一定位区包括三个定位区,所述第一定位区中的所述定位区用于对所述二维码进行定位;所述第一定位区中的每个所述定位区各占据一个点位;
二维码生成模块,用于根据所述有效信息位的像素值以及定位点位的已知像素值,生成所述二维码。
27.一种二维码的解码装置,包括:
二维码图像信息获取模块,用于获取待识别二维码的图像信息,所述二维码由有效信息位和定位点位组成;所述定位点位包括第一定位区占据的点位;所述第一定位区包括三个定位区,所述第一定位区中的所述定位区用于对所述二维码进行定位;所述第一定位区中的每个所述定位区各占据一个点位;
有效信息位确定模块,用于从所述图像信息中确定所述待识别二维码中所述有效信息位的像素值;
二进制序列生成模块,用于根据所述有效信息位的像素值生成二进制序列;
解码模块,用于对所述二进制序列进行解码,得到所述有效信息位中储存的商品信息。
28.一种二维码识别装置,包括:
待识别图像获取模块,用于获取待识别图像;
二维码图像检测模块,用于采用检测模型对所述待识别图像进行检测,确定所述待识别图像中包含待识别二维码的二维码图像;
二维码识别模块,用于采用识别模型对所述二维码图像进行识别,得到所述二维码图像中的待识别二维码的图像信息;所述二维码由有效信息位和定位点位组成;所述定位点位包括第一定位区占据的点位;所述第一定位区包括三个定位区,所述第一定位区中的所述定位区用于对所述二维码进行定位;所述第一定位区中的每个所述定位区各占据一个点位。
29.一种二维码生成设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取待生成二维码的商品信息对应的二进制序列;
根据所述二进制序列确定所述二维码的生成区域中每个有效信息位的像素值;所述二维码由所述有效信息位和定位点位组成;所述定位点位包括第一定位区占据的点位;所述第一定位区包括三个定位区,所述第一定位区中的所述定位区用于对所述二维码进行定位;所述第一定位区中的每个所述定位区各占据一个点位;
根据所述有效信息位的像素值以及定位点位的已知像素值,生成所述二维码。
30.一种二维码解码设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取待识别二维码的图像信息,所述二维码由有效信息位和定位点位组成;所述定位点位包括第一定位区占据的点位;所述第一定位区包括三个定位区,所述第一定位区中的所述定位区用于对所述二维码进行定位;所述第一定位区中的每个所述定位区各占据一个点位;
从所述图像信息中确定所述待识别二维码中所述有效信息位的像素值;
根据所述有效信息位的像素值生成二进制序列;
对所述二进制序列进行解码,得到所述有效信息位中储存的商品信息。
31.一种二维码识别设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取待识别图像;
采用检测模型对所述待识别图像进行检测,确定所述待识别图像中包含待识别二维码的二维码图像;
采用识别模型对所述二维码图像进行识别,得到所述二维码图像中的待识别二维码的图像信息,所述二维码由有效信息位和定位点位组成;所述定位点位包括第一定位区占据的点位;所述第一定位区包括三个定位区,所述第一定位区中的所述定位区用于对所述二维码进行定位;所述第一定位区中的每个所述定位区各占据一个点位。
32.一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现权利要求1至25中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110799066.1A CN113435557B (zh) | 2020-05-09 | 2020-05-09 | 一种二维码生成、解码、识别方法、装置及设备 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110799066.1A CN113435557B (zh) | 2020-05-09 | 2020-05-09 | 一种二维码生成、解码、识别方法、装置及设备 |
CN202010384112.7A CN111291846B (zh) | 2020-05-09 | 2020-05-09 | 一种二维码生成、解码、识别方法、装置及设备 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010384112.7A Division CN111291846B (zh) | 2020-05-09 | 2020-05-09 | 一种二维码生成、解码、识别方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113435557A CN113435557A (zh) | 2021-09-24 |
CN113435557B true CN113435557B (zh) | 2023-04-25 |
Family
ID=71023956
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110799066.1A Active CN113435557B (zh) | 2020-05-09 | 2020-05-09 | 一种二维码生成、解码、识别方法、装置及设备 |
CN202010384112.7A Active CN111291846B (zh) | 2020-05-09 | 2020-05-09 | 一种二维码生成、解码、识别方法、装置及设备 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010384112.7A Active CN111291846B (zh) | 2020-05-09 | 2020-05-09 | 一种二维码生成、解码、识别方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN113435557B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112464687A (zh) * | 2020-11-19 | 2021-03-09 | 苏州摩比信通智能系统有限公司 | 图形码处理方法、装置以及终端设备 |
CN113392669B (zh) * | 2021-05-31 | 2022-09-23 | 苏州中科华影健康科技有限公司 | 一种图像信息检测方法、检测装置及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1818935A (zh) * | 2006-03-17 | 2006-08-16 | 北京紫光捷通科技有限公司 | 一种基于十六进制编码的构建二维码的方法 |
CN102880850A (zh) * | 2012-09-19 | 2013-01-16 | 腾讯科技(深圳)有限公司 | 一种二维码批量扫描的方法及扫描设备 |
CN106447001A (zh) * | 2016-09-19 | 2017-02-22 | 华南农业大学 | 一种圆形二维码及其编码方法和应用 |
CN107451508A (zh) * | 2017-09-20 | 2017-12-08 | 天津通信广播集团有限公司 | 一种自定义二维码定位和定向系统及实现方法 |
CN108282265A (zh) * | 2018-01-19 | 2018-07-13 | 广东工业大学 | 纠错编码方法、装置、设备及计算机可读存储介质 |
CN108550176A (zh) * | 2018-04-19 | 2018-09-18 | 咪咕动漫有限公司 | 图像处理方法、设备及存储介质 |
CN110288069A (zh) * | 2019-06-26 | 2019-09-27 | 百度在线网络技术(北京)有限公司 | 二维码生成和解析的方法、装置、设备及可读存储介质 |
CN110414644A (zh) * | 2018-04-27 | 2019-11-05 | 阿里巴巴集团控股有限公司 | 二维码及其编码和解码方法和装置、存储介质和移动终端 |
CN110517052A (zh) * | 2019-08-26 | 2019-11-29 | 北京太和互邦科技有限公司 | 一种二维码生成方法、识别方法、二维码及设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9865027B2 (en) * | 2014-05-09 | 2018-01-09 | Graphiclead LLC | System and method for embedding of a two dimensional code with an image |
CN107609619B (zh) * | 2017-07-31 | 2020-07-31 | 共享智能装备有限公司 | 一种铸件表面的信息标识结构及其铸型活块和其芯盒 |
-
2020
- 2020-05-09 CN CN202110799066.1A patent/CN113435557B/zh active Active
- 2020-05-09 CN CN202010384112.7A patent/CN111291846B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1818935A (zh) * | 2006-03-17 | 2006-08-16 | 北京紫光捷通科技有限公司 | 一种基于十六进制编码的构建二维码的方法 |
CN102880850A (zh) * | 2012-09-19 | 2013-01-16 | 腾讯科技(深圳)有限公司 | 一种二维码批量扫描的方法及扫描设备 |
CN106447001A (zh) * | 2016-09-19 | 2017-02-22 | 华南农业大学 | 一种圆形二维码及其编码方法和应用 |
CN107451508A (zh) * | 2017-09-20 | 2017-12-08 | 天津通信广播集团有限公司 | 一种自定义二维码定位和定向系统及实现方法 |
CN108282265A (zh) * | 2018-01-19 | 2018-07-13 | 广东工业大学 | 纠错编码方法、装置、设备及计算机可读存储介质 |
CN108550176A (zh) * | 2018-04-19 | 2018-09-18 | 咪咕动漫有限公司 | 图像处理方法、设备及存储介质 |
CN110414644A (zh) * | 2018-04-27 | 2019-11-05 | 阿里巴巴集团控股有限公司 | 二维码及其编码和解码方法和装置、存储介质和移动终端 |
CN110288069A (zh) * | 2019-06-26 | 2019-09-27 | 百度在线网络技术(北京)有限公司 | 二维码生成和解析的方法、装置、设备及可读存储介质 |
CN110517052A (zh) * | 2019-08-26 | 2019-11-29 | 北京太和互邦科技有限公司 | 一种二维码生成方法、识别方法、二维码及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111291846A (zh) | 2020-06-16 |
CN111291846B (zh) | 2021-06-04 |
CN113435557A (zh) | 2021-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110176027B (zh) | 视频目标跟踪方法、装置、设备及存储介质 | |
CN111950318A (zh) | 一种二维码图像的识别方法、设备及存储介质 | |
CN109614983B (zh) | 训练数据的生成方法、装置及系统 | |
CN110659647A (zh) | 印章图像识别方法及装置、智能发票识别设备和存储介质 | |
CN112926715B (zh) | 一种二维码生成、解码方法、装置及设备 | |
CN110084172B (zh) | 文字识别方法、装置和电子设备 | |
CN113435557B (zh) | 一种二维码生成、解码、识别方法、装置及设备 | |
US20170185870A1 (en) | Method of image processing | |
CN113392669B (zh) | 一种图像信息检测方法、检测装置及存储介质 | |
CN112307786B (zh) | 一种多个不规则二维码批量定位识别方法 | |
RU2729399C1 (ru) | Способ обнаружения и распознавания визуальных маркеров большой дальности и высокой плотности | |
KR102628115B1 (ko) | 영상 처리 방법, 장치, 기록 매체 및 전자 장치 | |
CN110765795A (zh) | 二维码识别方法、装置及电子设备 | |
CN110991520A (zh) | 一种生成训练样本的方法以及装置 | |
CN118570054B (zh) | 图像生成模型的训练方法、相关装置和介质 | |
CN116342888B (zh) | 一种基于稀疏标注训练分割模型的方法及装置 | |
CN110717969B (zh) | 一种阴影生成方法和装置 | |
CN115546908A (zh) | 一种活体检测方法、装置及设备 | |
CN115578796A (zh) | 一种活体检测模型的训练方法、装置、设备及介质 | |
CN112183650B (zh) | 一种在相机失焦情况下的数字检测识别方法 | |
CN108734164A (zh) | 卡片、识别卡片的方法、绘本阅读机器人及存储设备 | |
CN108229625A (zh) | 一种编码方法及装置 | |
CN110926370B (zh) | 测量方法和系统 | |
CN110532831A (zh) | 一种包装条码计算机视觉自动识别方法 | |
CN118736396A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40059214 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |