CN112288066A - 图形码打码和识别方法、装置及系统 - Google Patents
图形码打码和识别方法、装置及系统 Download PDFInfo
- Publication number
- CN112288066A CN112288066A CN202011176875.9A CN202011176875A CN112288066A CN 112288066 A CN112288066 A CN 112288066A CN 202011176875 A CN202011176875 A CN 202011176875A CN 112288066 A CN112288066 A CN 112288066A
- Authority
- CN
- China
- Prior art keywords
- code
- coding
- block
- area
- image
- 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.)
- Granted
Links
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
-
- 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/10544—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
- G06K7/10792—Special measures in relation to the object to be scanned
-
- 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
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Electromagnetism (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
本申请实施例提供一种图形码打码和识别方法、装置及系统,该图形码打码方法包括:获取第一图像,所述第一图像为对待打码对象的表面进行拍摄后得到的图像;确定所述第一图像中的第一类型区域和第二类型区域,所述第一类型区域为适于打码区域,所述第二类型区域为不适于打码区域;在所述第一类型区域中确定多个目标打码区域,所述目标打码区域用于进行分块打码;根据所述目标打码区域和预设图形码,获取对所述预设图形码进行分块后的打码信息,所述打码信息包括所述预设图形码分块后的每个分块码对应的目标打码区域。本申请实施例提供的方案,避免了打码时造成的畸变或扭曲,提高了读码的准确率和成功率。
Description
技术领域
本申请实施例涉及图像处理技术领域,尤其涉及一种图形码打码和识别方法、装置及系统。
背景技术
在日常的工业和生活中,经常需要在物品上进行打码。数据矩阵(Data Matrix,简称DM)码由于其体积小、编码率高,被广泛应用于工业打码领域。
DM码的广泛应用为生产生活带来了便利,但是在一些情况下,DM打码的效果并不佳。例如,在零售和制药行业,可能生产一些非平面材质的产品,如瓶罐等。在例如非平面材质的产品、干扰读码区域、褶皱区域、复杂纹理区域等等这些不适合的打码区域上进行打码,会造成条码畸变或扭曲,后续译码的结果不准确。
发明内容
本申请实施例提供一种图形码打码和识别方法、装置及系统,以解决由于条码畸变或扭曲导致后续译码不准确的问题。
第一方面,本申请实施例提供一种图形码打码方法,包括:
获取第一图像,所述第一图像为对待打码对象的表面进行拍摄后得到的图像;
确定所述第一图像中的第一类型区域和第二类型区域,所述第一类型区域为适于打码区域,所述第二类型区域为不适于打码区域;
在所述第一类型区域中确定多个目标打码区域,所述目标打码区域用于进行分块打码;
根据所述多个目标打码区域和预设图形码,获取对所述预设图形码进行分块后的打码信息,所述打码信息包括所述预设图形码分块后的每个分块码对应的目标打码区域。
在一种可能的实施方式中,确定所述第一图像中的第一类型区域和第二类型区域,包括:
通过打码区检测网络对所述第一图像进行处理,得到所述第一图像中的第一类型区域和第二类型区域;
其中,所述打码区检测网络为对多组第一样本学习得到的,每组第一样本包括第一样本图像和第一标注图像,所述第一标注图像为标注了所述第一样本图像中的第一类型区域和第二类型区域后得到的图像。
在一种可能的实施方式中,在所述第一类型区域中确定多个目标打码区域,包括:
对所述第一类型区域进行连通域识别,确定多个候选打码区域,每个候选打码区域均为一个连通区域;
获取所述多个候选打码区域中每个候选打码区域的最大内接矩形面积;
根据所述每个候选打码区域的最大内接矩形面积,在所述多个候选打码区域中确定所述多个目标打码区域,其中,每个目标打码区域的最大内接矩形面积均大于或等于第一阈值。
在一种可能的实施方式中,根据所述多个目标打码区域和预设图形码,获取对所述预设图形码进行分块后的打码信息,包括:
对所述预设图形码进行分块,获取所述分块码的数量,以及每个分块码的第一信息,所述第一信息包括所述分块码的面积和标识;
根据所述分块码的数量和每个分块码的所述第一信息,在所述多个目标打码区域中确定所述每个分块码对应的目标打码区域。
在一种可能的实施方式中,在对所述预设图形码进行分块之前,所述方法还包括:
若确定所述多个目标打码区域中不存在第一打码区域,则对所述预设图形码进行分块,其中,所述第一打码区域为最大内接矩形可覆盖所述预设图形码对应的打码面积的区域;
若确定所述多个目标打码区域中存在所述第一打码区域,则不对所述预设图形码进行分块。
在一种可能的实施方式中,根据所述分块码的数量和每个分块码的所述第一信息,在多个所述目标打码区域中确定每个分块码对应的目标打码区域,包括:
按照所述多个目标打码区域的最大内接矩形面积从大到小的顺序,对所述多个所述目标打码区域进行排序;
根据所述每个分块码的面积,在排序后的前N个目标打码区域中确定每个分块码对应的目标打码区域,其中,所述N为所述分块码的数量,且所述N为大于1的整数。
第二方面,本申请实施例提供一种图形码识别方法,包括:
获取打码图像,所述打码图像中包括对预设图形码进行分块之后打印在待打码对象上的至少两个分块码;
检测所述打码图像中的分块码的分块信息,所述分块信息包括所述分块码的标识,以及所述分块码在所述打码图像中的坐标;
根据每个分块码的分块信息,对所述至少两个分块码进行拼接处理,得到所述预设图形码,并对所述预设图形码进行识别处理。
在一种可能的实施方式中,检测所述打码图像中的分块码的分块信息,包括:
通过分块码检测网络对所述打码图像进行处理,得到每个分块码的分块信息;
其中,所述分块码检测网络为对多组第二样本进行学习得到的,每组第二样本包括样本打码图像和样本分块信息;所述样本打码图像中包括对样本图形码进行分块之后得到的至少两个样本分块码,所述样本分块信息包括所述样本分块码的标识,以及所述样本分块码在所述样本打码图像中的坐标。
在一种可能的实施方式中,根据每个分块码的分块信息,对所述至少两个分块码进行拼接处理,得到所述预设图形码,包括:
根据每个分块码在所述打码图像中的坐标,获取各所述分块码在标准分块图中的映射矩阵;
根据所述映射矩阵,将各所述分块码映射到所述标准分块图中;
根据各所述分块码的标识,对所述标准分块图中的各所述分块码进行拼接处理,得到所述预设图形码。
第三方面,本申请实施例提供一种图形码打码装置,包括:
获取模块,用于获取第一图像,所述第一图像为对待打码对象的表面进行拍摄后得到的图像;
确定模块,用于确定所述第一图像中的第一类型区域和第二类型区域,所述第一类型区域为适于打码区域,所述第二类型区域为不适于打码区域;
第一处理模块,用于在所述第一类型区域中确定多个目标打码区域,所述目标打码区域用于进行分块打码;
第二处理模块,用于根据所述多个目标打码区域和预设图形码,获取对所述预设图形码进行分块后的打码信息,所述打码信息包括所述预设图形码分块后的每个分块码对应的目标打码区域。
在一种可能的实施方式中,所述确定模块具体用于:
通过打码区检测网络对所述第一图像进行处理,得到所述第一图像中的第一类型区域和第二类型区域;
其中,所述打码区检测网络为对多组第一样本学习得到的,每组第一样本包括第一样本图像和第一标注图像,所述第一标注图像为标注了所述第一样本图像中的第一类型区域和第二类型区域后得到的图像。
在一种可能的实施方式中,所述第一处理模块具体用于:
对所述第一类型区域进行连通域识别,确定多个候选打码区域,每个候选打码区域均为一个连通区域;
获取所述多个候选打码区域中每个候选打码区域的最大内接矩形面积;
根据所述每个候选打码区域的最大内接矩形面积,在所述多个候选打码区域中确定所述多个目标打码区域,其中,每个目标打码区域的最大内接矩形面积均大于或等于第一阈值。
在一种可能的实施方式中,所述第二处理模块具体用于:
对所述预设图形码进行分块,获取所述分块码的数量,以及每个分块码的第一信息,所述第一信息包括所述分块码的面积和标识;
根据所述分块码的数量和每个分块码的所述第一信息,在所述多个目标打码区域中确定所述每个分块码对应的目标打码区域。
在一种可能的实施方式中,在对所述预设图形码进行分块之前,所述第二处理模块还用于:
若确定所述多个目标打码区域中不存在第一打码区域,则对所述预设图形码进行分块,其中,所述第一打码区域为最大内接矩形可覆盖所述预设图形码对应的打码面积的区域;
若确定所述多个目标打码区域中存在所述第一打码区域,则不对所述预设图形码进行分块。
在一种可能的实施方式中,所述第二处理模块具体用于:
按照多个所述目标打码区域的最大内接矩形面积从大到小的顺序,对所述多个目标打码区域进行排序;
根据所述每个分块码的面积,在排序后的前N个目标打码区域中确定每个分块码对应的目标打码区域,其中,所述N为所述分块码的数量,且所述N为大于1的整数。
第四方面,本申请实施例提供一种图形码识别装置,包括:
获取模块,用于获取打码图像,所述打码图像中包括对预设图形码进行分块之后打印在待打码对象上的至少两个分块码;
处理模块,用于检测所述打码图像中的分块码的分块信息,所述分块信息包括所述分块码的标识,以及所述分块码在所述打码图像中的坐标;
识别模块,用于根据每个分块码的分块信息,对所述至少两个分块码进行拼接处理,得到所述预设图形码,并对所述预设图形码进行识别处理。
在一种可能的实施方式中,所述处理模块具体用于:
通过分块码检测网络对所述打码图像进行处理,得到每个分块码的分块信息;
其中,所述分块码检测网络为对多组第二样本进行学习得到的,每组第二样本包括样本打码图像和样本分块信息;所述样本打码图像中包括对样本图形码进行分块之后得到的至少两个样本分块码,所述样本分块信息包括所述样本分块码的标识,以及所述样本分块码在所述样本打码图像中的坐标。
在一种可能的实施方式中,所述识别模块具体用于:
根据每个分块码在所述打码图像中的坐标,获取各所述分块码在标准分块图中的映射矩阵;
根据所述映射矩阵,将各所述分块码映射到所述标准分块图中;
根据各所述分块码的标识,对所述标准分块图中的各所述分块码进行拼接处理,得到所述预设图形码。
第五方面,本申请实施例提供一种打码系统,包括打码机和控制器,其中:
所述控制器用于执行如第一方面中任一所述的图形码打码方法,得到预设图形码进行分块后的打码信息,所述打码信息包括所述预设图形码分块后的每个分块码对应的目标打码区域;
所述打码机用于根据所述打码信息,在待打码对象的表面进行分块打码。
第六方面,本申请实施例提供一种电子设备,包括:
存储器,用于存储程序;
处理器,用于执行所述存储器存储的所述程序,当所述程序被执行时,所述处理器用于执行如第一方面中任一所述的图形码打码方法,或者,所述处理器用于执行如第二方面中任一所述的图形码识别方法。
第七方面,本申请实施例提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如第一方面中任一所述的图形码打码方法,或者,使得计算机执行如第二方面中任一所述的图形码识别方法。
本申请实施例提供一种图形码打码和识别方法、装置及系统,首先第一图像,然后确定第一图像中的第一类型区域和第二类型区域,从而将第一图像中的各个区域划分为适于打码区域和不适于打码区域。然后,在第一类型区域中确定多个目标打码区域用于进行分块打码,并根据目标打码区域和预设图形码,确定预设图形码分块后的打码信息,该打码信息包括预设图形码分块后的每个分块码对应的目标打码区域。在确定了预设图形码的打码信息之后,即可控制打码机执行相应的打码操作。在进行译码时,可以根据每个分块码的分块信息,将分块码拼接成一个完整的预设图形码,实现准确译码。本申请实施例提供的方案,对待打码对象的表面进行了区域划分,并对预设图形码进行了分块,使得各个分块码能够成功打在待打码对象表面的合适区域,避免了打码时造成的畸变或扭曲,提高了打码的效果,进而提高了后续读码的准确率和成功率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种应用场景示意图;
图2为本申请实施例提供的适合打码区示意图;
图3为本申请实施例提供的不适合打码区示意图;
图4为本申请实施例提供的DM码的结构示意图;
图5为本申请实施例提供的DM码的不同版本示意图;
图6为本申请实施例提供的图形码打码方法的流程示意图;
图7为本申请实施例提供的区域划分示意图;
图8为本申请实施例提供的第一图像的区域划分示意图;
图9为本申请实施例提供的目标打码区域筛选示意图;
图10为本申请实施例提供的二维码分块示意图;
图11为本申请实施例提供的预设图形码打码示意图一;
图12为本申请实施例提供的预设图形码打码示意图二;
图13为本申请实施例提供的图形码识别方法的流程示意图;
图14为本申请实施例提供的分块码合并流程示意图;
图15为本申请实施例提供的分块码拼接示意图;
图16为本申请实施例提供的图形码打码装置的结构示意图;
图17为本申请实施例提供的图形码识别装置的结构示意图;
图18为本申请实施例提供的打码系统的结构示意图;
图19为本申请实施例提供的电子设备的硬件结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了便于理解,首先,对本申请所涉及的概念进行说明。
二维码:用特定的几何图形按一定规律在平面分布的黑白相间的图形。
DM码:二维码的一种。
二维码译码:根据固定的规则将二维码图像转化为字符串的过程。
图1为本申请实施例提供的一种应用场景示意图,如图1所示,包括物品11、摄像机12、打码机13和处理器14,打码机13用于在物品11上进行打码。
在物品11的表面较为平整干净时,可以直接采用打码机13对物品11进行打码。图2为本申请实施例提供的适合打码区示意图,如图2所示,示例了3种较为适合打码的区域,分别是左边的标签区域21、中间的平坦区域22和右边的干净金属表面区域23。
当物体的表面为图2示例的适合打码区域时,打码机13可以直接在物品11的表面进行打码操作,打码效果较好,后续的译码也较为容易。
但是,并非所有的物品表面均为适合打码的区域。图3为本申请实施例提供的不适合打码区示意图,如图3所示,示例了3中不适合打码的区域,分别是左边的干扰区域31、中间的褶皱区域32和右边的复杂纹理区域33。
在图3示例的区域中,物体的表面存在褶皱或者纹理等等,导致若直接在上述物体的表面进行打码,打出的码会产生较严重的变形,或者导致条码质量下降,使得读码算法库运行耗时增加或读码成功率下降等,对后续的译码会带来困难,甚至无法进行译码来获取码中包含的信息。
为解决该问题,本申请实施例提供一种方案,首先通过摄像机12对物品11进行拍照,然后将拍摄得到的图像发送给处理器14,由处理器14进行处理,筛选出物品11表面适合打码的区域。然后,对图形码进行分块,控制打码机13将图形码打到物品11表面适合打码的区域,其中,图形码可以根据需要进行分块或者不分块,完成打码操作。由于图形码被打到了物品11表面适合打码的区域,打码效果较好,因此也有利于后续的译码。
下面将结合附图对本申请的方案进行介绍。
图4为本申请实施例提供的DM码的结构示意图,如图4所示,DM码的结构可以分为数据区和探测图形区,其中,探测图形区如图4中的左边和中间示意,数据区如图4中的右边示意。
DM码的模块大小有不同的规模,从10*10至144*144不等。当DM码的规模大于或等于32*32时,可以对DM码进行分块,最多可分为6*6的数据区。图5为本申请实施例提供的DM码的不同版本示意图,如图5所示,示出了3种规模的DM码。左边的DM码51为单数据区DM码;中间的DM码52为2*2数据区DM码,对DM码52进行分块时,可以将其分为4个分块码,每个分块码包括一个数据区;右边的DM码53为4*4数据区DM码,对DM码53进行分块时,可以将其分为16个分块码,每个分块码包括一个数据区。
DM码为图形码的一种,不同的图形码的结构大同小异。在以下的实施例中,以DM码的结构为例,对图形码的打码和译码过程进行描述。
图6为本申请实施例提供的图形码打码方法的流程示意图,如图6所示,该方法可以包括:
S61,获取第一图像,所述第一图像为对待打码对象的表面进行拍摄后得到的图像。
待打码对象即为需要对其进行打码操作的对象,待打码对象可以是各种物品,待打码对象的表面可能存在适合打码的区域,也可能存在不适合打码的区域,因此需要进行区分。第一图像是对待打码对象的表面进行拍摄得到的图像。
S62,确定所述第一图像中的第一类型区域和第二类型区域,所述第一类型区域为适于打码区域,所述第二类型区域为不适于打码区域。
在得到第一图像之后,会对第一图像中的各区域进行区分,区分为第一类型区域和第二类型区域,即适于打码区域和不适于打码区域。在适于打码区域进行打码的效果较好,而在不适于打码区域进行打码的效果较差,可能产生弯曲变形等问题。
S63,在所述第一类型区域中确定多个目标打码区域,所述目标打码区域用于进行分块打码。
在确定了第一图像中的第一类型区域和第二类型区域之后,由于第二类型区域不适于打码,因此只在第一类型区域中确定目标打码区域,用于进行打码。
第一类型区域的数量可能有一个或者多个,目标打码区域的数量也可能有一个或者多个。在一些情况下,预设图形码较小,而第一类型区域的面积较大,可以覆盖整个预设图形码,则可以将能覆盖整个预设图形码的第一类型区域确定为目标打码区域。在另一些情况下,预设图形码较大,而第一类型区域的面积较小,无法覆盖整个预设图形码,则可以对预设图形码进行分块操作得到多个分块码,并在第一类型区域中确定多个目标打码区域,用于分块码的打码。本申请实施例中,主要针对的是需要对预设图形码进行分块的情况。
S64,根据所述多个目标打码区域和预设图形码,获取对所述预设图形码进行分块后的打码信息,所述打码信息包括所述预设图形码分块后的每个分块码对应的目标打码区域。
在确定了多个目标打码区域后,在目标打码区域不能覆盖整个预设图形码时,需要对预设图形码进行分块,得到多个分块码,并确定每个分块码对应的目标打码区域。在确定了每个分块码对应的目标打码区域后,就可以确定每个分块码应该打在待打码对象表面的哪个位置,然后控制打码机执行打码操作即可。
本申请实施例提供的图形码打码方法,首先获取第一图像,然后确定第一图像中的第一类型区域和第二类型区域,从而将第一图像中的各个区域划分为适于打码区域和不适于打码区域。然后,在第一类型区域中确定多个目标打码区域用于进行分块打码,并根据目标打码区域和预设图形码,确定预设图形码分块后的打码信息,该打码信息包括预设图形码分块后的每个分块码对应的目标打码区域。在确定了打码信息之后,即可控制打码机执行相应的打码操作。本申请实施例提供的方案,针对待打码对象的表面直接进行打码可能造成图形码畸变或扭曲的问题,首先对待打码对象的表面进行了区域的划分,在适于打码的第一类型区域中确定多个目标打码区域,然后对预设图形码进行分块,并获取每个分块码对应的目标打码区域,使得各个分块码能够成功打在待打码对象表面的合适区域,避免了打码时造成的畸变或扭曲,提高了打码的效果,进而提高了后续读码的准确率和成功率。
下面将结合附图对本申请的方案进行详细介绍。
当需要对待打码对象进行打码之前,首先需要对待打码对象的表面进行拍摄得到第一图像,然后将第一图像划分为第一类型区域和第二类型区域,以确定待打码对象的表面适于打码的区域。
本申请实施例中,是通过打码区检测网络来划分第一图像中的第一类型区域和第二类型区域的。在使用打码区检测网络对第一图像进行处理之前,首先要对训练打码区检测网络。通常,打码区检测网络可以采用语义分割网络,例如unet,encoder-decode net,fcn-net等等。打码区检测网络需要实现的功能是对输入的图像的各个像素点进行分类,对打码区检测网络进行训练需要多组第一样本,每组第一样本中包括第一样本图像和第一标注图像,其中,第一标注图像为标注了第一样本图像中的第一类型区域和第二类型区域后得到的图像。
在进行训练时,针对每组第一样本,可以将第一样本中的第一样本图像输入至打码区检测网络中,打码区检测网络对第一样本图像进行处理,输出第一检测图像,第一检测图像为打码区检测网络对第一样本图像进行第一类型区域和第二类型区域进行划分后得到的图像。通常,第一检测图像和第一标注图像之间有差别,然后可以根据第一检测图像和第一标注图像之间的差别,对打码区检测网络的参数进行调整。针对任意一组第一样本,均进行上述处理,不断对打码区检测网络进行优化,直至打码区检测网络输出的第一检测图像与第一标注图像之间的差别很小时,模型收敛,得到训练完成的打码区检测网络。
在打码区检测网络训练完成后,打码区检测网络就具备对图像中的各区域进行划分的功能。此时将第一图像输入至打码区检测网络,即可确定第一图像中的第一类型区域和第二类型区域。
图7为本申请实施例提供的区域划分示意图,如图7所示,在对第一图像进行区域划分时,首先将第一图像输入至打码区检测网络中。
第一图像输入至打码区检测网络后,通过打码区检测网络对第一图像进行处理,得到第一图像中的第一类型区域和第二类型区域,其中第一类型的区域为适于打码区域,第二类型的区域为不适于打码区域。通过上述处理之后,就可以将第一图像中的各区域划分为适于打码区域和不适于打码区域。然后,根据输入的预设图形码的信息,在第一类型区域中确定多个目标打码区域,即为第一图像中的打码区筛选过程。在确定了目标打码区域之后,如果需要对预设图形码进行分块,则执行分块操作,得到分块码的相关信息,包括分块码的数量,分块码的面积和标识等。根据上述信息,就可以确定每个分块码对应的目标打码区域。
图8为本申请实施例提供的第一图像的区域划分示意图,如图8所示,在将第一图像输入至打码区检测网络之后,输出的图像81为对第一图像的各个区域进行划分后的标签图。其中,采用标签1表示第一类型区域,即适于打码的区域,如平坦、标签、干净的区域;采用标签2表示第二类型区域,即不适于打码的区域,如噪声、干扰、污损、曲面、褶皱、复杂纹理等区域。在图8中,包括4个标签1的适于打码的区域,还包括1个标签2的不适于打码的区域。
在确定了第一图像中的第一类型区域和第二类型区域之后,需要在第一类型区域中确定至少一个目标打码区域,下面结合图9进行说明。
图9为本申请实施例提供的目标打码区域筛选示意图,如图9所示,在确定了第一图像中的第一类型区域和第二类型区域之后,可以对第一图像中的第一类型区域进行连通域识别,从而确定多个候选打码区域,其中每个候选打码区域均为一个连通区域。
在进行了连通域统计之后,计算连通区域最大内接矩形的面积。即在确定了候选打码区域之后,确定每个候选打码区域的最大内接矩形面积,并根据各个候选打码区域的最大内接矩形面积,对各个候选打码区域进行降序排列。
在对候选打码区域进行降序排列之后,执行面积过滤步骤,即根据各个候选打码区域的最大内接矩形面积的大小,排除面积小于第一阈值的候选打码区域。在面积过滤完成之后,将过滤后的候选打码区域作为最终的目标打码区域,其中,每个目标打码区域的最大内接矩形面积均大于第一阈值。
在确定了目标打码区域后,需要根据目标打码区域和预设图形码,确定预设图形码的打码信息,包括预设图形码在目标打码区域的打印位置。
在获取打码信息之前,首先需要根据目标打码区域和预设图形码,确定预设图形码的分块结果,即首先需要判断是否需要对预设图形码进行分块。
具体的,若目标打码区域中不存在第一打码区域,确定分块结果为需要对预设图形码进行分块;反之,如果目标打码区域中存在第一打码区域,则确定分块结果为不需要对预设图形码进行分块。其中,第一打码区域的最大内接矩形可覆盖预设图形码对应的打码面积。然后,根据分块结果,可以确定预设图形码的打码信息。
当目标打码区域中存在第一打码区域时,由于第一打码区域的最大内接矩形可覆盖预设图形码对应的打码面积,因此可以直接将整个预设图形码打在第一打码区域的最大内接矩形对应的待打码对象的表面上,而无需对预设图形码进行分块,此时,第一打码区域的最大内接矩形就可以确定为预设图形码的打码信息,即预设图形码在目标打码区域的打印位置。
当目标打码区域中不存在第一打码区域时,就需要对预设图形码进行分块,得到分块码的数量,以及每个分块码的第一信息。然后,根据分块码的数量和每个分块码的第一信息,在多个目标打码区域中确定每个分块码对应的目标打码区域,其中,该第一信息包括分块码的面积和标识,其中,分块码的面积指示分块码的大小,分块码的标识指示分块码在预设图形码中的位置。
在确定每个分块码对应的目标打码区域时,通常目标打码区域越大,其能够容纳的分块码的面积越大,因此可以根据多个目标打码区域的最大内接矩形面积从大到小的顺序,对多个目标打码区域进行排序。然后,可以根据每个分块码的面积,在排序后的多个目标打码区域中,取前N个目标打码区域,并在前N个目标打码区域中确定每个分块码对应的目标打码区域,其中,N为分块码的数量,N为大于1的整数。
下面将结合图10对该过程进行说明。
图10为本申请实施例提供的二维码分块示意图,如图10所示,是以预设图形码为二维码为例进行说明的。
首先对输入的二维码信息进行分析,计算该二维码在计算机可识别的条件下最小需要多大的打码面积。例如,要保证计算机可识别的条件,通常二维码每个模块的最小像素数要达到3像素x3像素以上。
其次取候选打码区域内最大连通区域的最大内接矩形面积与二维码打码面积进行对比,若候选打码区域无候选连通区域,则输出无合适打码区域并结束流程,若候选打码区域存在连通区域,则将内接矩形面积大于或等于第一阈值的候选打码区域确定为目标打码区域,并进行以下判断:
若存在目标打码区域的最大内接矩形面积大于二维码的面积,且能够覆盖该二维码,表示二维码的尺寸合适,则无需对该二维码进行分块,直接输出完整打码指令,即打码个数为1。
若每个目标打码区域的最大内接矩形面积均小于二维码的面积,则根据输入的二维码的数据区数量,输出取前N大连通区域指令,若从输入的目标打码区域中查找到的连通区域个数小于N,或者前N大连通区域的最小外接矩形面积小于二维码分块后的分块码的面积,则输出无合适打码区域并结束流程,否则输出打码个数为N。
然后,进行码区划分和归类,并输出分块信息和打码区域。具体的,在需要进行分块时,根据打码个数,对二维码码区进行划分,并记录每个分块码的标识(以分2x2=4块为例,标识1表示相应的分块码为二维码的左上块,标识2表示相应的分块码为二维码的右上块,标识3表示相应的分块码为二维码的左下块,标识4表示相应的分块码为二维码的右下块)和每个分块码的面积。然后,根据每个分块码的面积,即可确定每个分块码对应的目标打码区域。在无需进行分块时,直接确定该二维码对应的目标打码区域即可。
图11为本申请实施例提供的预设图形码打码示意图一,如图11所示,二维码被划分成了4个分块码,分别打在适于打码的4个区域上,避免了在不适于打码的区域进行打码。图12为本申请实施例提供的预设图形码打码示意图二,如图12所示,通过分块打码,可以将原本需要打印到弧形表面上会产生弯曲形变的二维码,变成无形变的标准二维码块,降低二维码识别难度。
本申请实施例提供的预设图形码打码方法,首先获取第一图像,然后确定第一图像中的第一类型区域和第二类型区域,从而将第一图像中的各个区域划分为适于打码区域和不适于打码区域。然后,在第一类型区域中确定多个目标打码区域用于进行分块打码,并根据目标打码区域和预设图形码,确定预设图形码分块后的打码信息。在目标打码区域无法覆盖预设图形码时,对预设图形码进行分块。在确定了预设图形码的打码信息之后,即可控制打码机执行相应的打码操作。本申请实施例提供的方案,通过区域的划分以及对预设图形码的分块,使得各个分块码能够成功打在待打码对象表面的合适区域,避免了打码时造成的畸变或扭曲,提高了打码的效果,进而提高了后续读码的准确率和成功率。
图13为本申请实施例提供的图形码识别方法的流程示意图,如图13所示,该方法可以包括:
S131,获取打码图像,所述打码图像中包括对预设图形码进行分块之后打印在待打码对象上的至少两个分块码。
打码图像为对预设图形码进行拍摄得到的图像,其中包括预设图形码进行分块之后的至少两个分块码。该预设图形码已被打到待打码对象上,对其进行拍摄时,由于预设图形码被划分为至少两个分块码,因此需要将该预设图形码的每个分块码均拍摄到,即打码图像中包括对预设图形码进行分块之后打印在待打码对象上的至少两个分块码。
S132,检测所述打码图像中的分块码的分块信息,所述分块信息包括所述分块码的标识,以及所述分块码在所述打码图像中的坐标。
在得到打码图像之后,对打码图像进行处理,识别出其中的每个分块码,并获取每个分块码的分块信息。分块信息包括分块码的标识和分块码在打码图像中的坐标,其中,分块码的标识指示分块码在预设图形码中的位置,分块码在打码图形中的坐标指示分块码在打码图像中的位置。
S133,根据每个分块码的分块信息,对所述至少两个分块码进行拼接处理,得到所述预设图形码,并对所述预设图形码进行识别处理。
在确定每个分块码的分块信息之后,即可对分块码进行拼接,得到完整的预设图形码。具体的,通过分块码在打码图像中的坐标,可以识别出每个分块码的图像,根据每个分块码的标识确定每个分块码在预设图形码中的位置,然后即可对分块码进行拼接。
可选的,对打码图像进行处理可以通过分块码检测网络来实现,通过分块码检测网络对打码图像进行处理,来得到每个分块码的分块信息。
通常,分块码检测网络可以采用检测分类网络,例如ssd,fast-rnn,yolo等等。打码区检测网络需要实现的功能是对输入的第一图像进行码区检测和分类。例如打码时将识别码划分为4类(即左上角、左下角、右上角和右下角4类),则分块码检测网络需要检测出每个分块码的4个角点在打码图像中的坐标,并输出该分块码的标识。
分块码检测网络可以通过多组第二样本进行学习得到,每组第二样本包括样本打码图像和样本分块信息;样本打码图像中包括对样本图形码进行分块之后得到的至少两个样本分块码,样本分块信息包括样本分块码的标识,以及样本分块码在样本打码图像中的坐标。
在进行训练时,针对每组第二样本,可以将第二样本中的样本打码图像输入至分块码检测网络中,分块码检测网络对样本打码图像进行处理,输出检测分块信息,检测分块信息为分块码检测网络对样本打码图像进行分块码检测后得到的分块信息,包括检测到的样本分块码的标识和样本分块码在样本打码图像中的坐标。通常,分块码检测后得到的分块信息和样本分块信息之间有差别,然后可以根据分块码检测后得到的分块信息和样本分块信息之间的差别,对分块码检测网络的参数进行调整。针对任意一组第二样本,均进行上述处理,不断对分块码检测网络进行优化,直至分块码检测网络输出的分块码检测后得到的分块信息和样本分块信息之间的差别很小时,模型收敛,得到训练完成的分块码检测网络。
在分块码检测网络训练完成后,分块码检测网络就具备对图像进行码区检测和分类的功能。此时将打码图像输入至分块码检测网络型,即可得到每个分块码的分块信息。
在获取每个分块码的分块信息之后,需要对分块码进行拼接合并。在拼接之前,可以先确定获取得到的分块信息的数量与打码图像中包括的分块码的数量相同。
对分块码进行拼接的步骤为,根据每个分块码在打码图像中的坐标,获取各分块码在标准分块图中的映射矩阵;然后,根据映射矩阵,将各分块码映射到标准分块图中;最后,根据各分块码的标识,对标准分块图中的各分块码进行拼接处理,得到预设图形码。下面将结合图14进行说明。
图14为本申请实施例提供的分块码合并流程示意图,如图14所示,包括:
S141,确定每个分块码的分块信息。
该分块信息即为分块码的标识和分块码在打码图像中的坐标,其中,分块码在打码图像中的坐标例如可以为分块码的4个角点的坐标,分块码的标识可以为分块码的分类标签,例如左上角、左下角、右上角、右下角等等。
S142,判断分块个数是否满足要求。
对输入的分块码的标识和分块个数进行判断:
若分块个数大于等于后续分块的分类标签中最大类别数(即若候选中分块的分类标签最大为4,则分块个数必须大于4个),则执行S143。
若分块个数小于后续分块的分类标签中最大类别数,则执行S144。
S143,判断分类标签是否空缺,若是,则执行S144,若否,则执行S145。
若分类标签无空缺,能全覆盖从小到最大类别标签数(即若最大分类标签为4,则分类标签为1,2,3的情况在分块码中均存在),则执行S145;
若分类标签有空缺,无法覆盖从小到最大类别标签数,则执行S144。
S144,退出分块码合并流程并输出预设图形码检测失败。
S145,根据分块码在打码图像中的坐标,获取各分块码在标准分块图中的映射矩阵。
通常对预设图形码进行分块时,是将预设图形码分成矩形的分块码,因此根据输入的分块码在打码图像中的精确4点坐标,依次计算各分块码映射到标准分块图中的映射矩阵。
S146,根据映射矩阵,将分块码映射到标准分块图中。
确定了分块码在打码图像中的坐标后,确定各分块码映射到标准分块图中的映射矩阵,从而能够获取到每个分块码,映射至标准分块图中。
S147,根据分块码的标识,对标准分块图中的分块码进行拼接处理。
分块码的标识即分块码的分类标签,用于指示每个分块码在原预设图形码中的位置。在将每个分块码映射至标准分块图中后,结合每个分块码的标识,就能够对分块码进行拼接,得到预设图形码。
S148,输出拼接后的完整预设图形码图像。
图15为本申请实施例提供的分块码拼接示意图,如图15所示,在打码图像150上,共包括4个分块码,这4个分块码的标识分别表示了分块码在预设图形码中的位置,其中标识1表示分块码在预设图形码中的左上角,标识2表示分块码在预设图形码中的右上角,标识3表示分块码在预设图形码中的左下角,标识4表示分块码在预设图形码中的右下角。将这4个分块码提取出来之后,根据其在预设图形码中的位置,进行拼接,即可得到完整的预设图形码151。
本申请实施例提供的图形码识别方法,首先获取打码图像,该打码图像中包括对预设图形码进行分块之后打印在待打码对象上的至少两个分块码;然后检测该打码图像中的分块码的分块信息,该分块信息包括分块码的标识以及分块码在打码图像中的坐标;最后根据每个分块码的分块信息,对至少两个分块码进行拼接处理,得到该预设图形码,就可以对该预设图形码进行识别。通过上述方案,能够将分散的分块码拼接成一个完整的预设图形码,从而便于后续预设图形码的识别过程。
图16为本申请实施例提供的图形码打码装置的结构示意图,如图16所示,包括:
获取模块161,用于获取第一图像,所述第一图像为对待打码对象的表面进行拍摄后得到的图像;
确定模块162,用于确定所述第一图像中的第一类型区域和第二类型区域,所述第一类型区域为适于打码区域,所述第二类型区域为不适于打码区域;
第一处理模块163,用于在所述第一类型区域中确定多个目标打码区域,所述目标打码区域用于进行分块打码;
第二处理模块164,用于根据所述多个目标打码区域和预设图形码,获取对所述预设图形码进行分块后的打码信息,所述打码信息包括所述预设图形码分块后的每个分块码对应的目标打码区域。
在一种可能的实施方式中,所述确定模块162具体用于:
通过打码区检测网络对所述第一图像进行处理,得到所述第一图像中的第一类型区域和第二类型区域;
其中,所述打码区检测网络为对多组第一样本学习得到的,每组第一样本包括第一样本图像和第一标注图像,所述第一标注图像为标注了所述第一样本图像中的第一类型区域和第二类型区域后得到的图像。
在一种可能的实施方式中,所述第一处理模块163具体用于:
对所述第一类型区域进行连通域识别,确定多个候选打码区域,每个候选打码区域均为一个连通区域;
获取所述多个候选打码区域中每个候选打码区域的最大内接矩形面积;
根据所述每个候选打码区域的最大内接矩形面积,在所述多个候选打码区域中确定所述多个目标打码区域,其中,每个目标打码区域的最大内接矩形面积均大于或等于第一阈值。
在一种可能的实施方式中,所述第二处理模块164具体用于:
对所述预设图形码进行分块,获取所述分块码的数量,以及每个分块码的第一信息,所述第一信息包括所述分块码的面积和标识;
根据所述分块码的数量和每个分块码的所述第一信息,在所述多个目标打码区域中确定所述每个分块码对应的目标打码区域。
在一种可能的实施方式中,在对所述预设图形码进行分块之前,所述第二处理模块164还用于:
若确定所述多个目标打码区域中不存在第一打码区域,则对所述预设图形码进行分块,其中,所述第一打码区域为最大内接矩形可覆盖所述预设图形码对应的打码面积的区域;
若确定所述多个目标打码区域中存在所述第一打码区域,则不对所述预设图形码进行分块。
在一种可能的实施方式中,所述第二处理模块164具体用于:
按照多个所述目标打码区域的最大内接矩形面积从大到小的顺序,对所述多个目标打码区域进行排序;
根据所述每个分块码的面积,在排序后的前N个目标打码区域中确定每个分块码对应的目标打码区域,其中,所述N为所述分块码的数量,且所述N为大于1的整数。
本申请实施例提供的装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图17为本申请实施例提供的图形码识别装置的结构示意图,如图17所示,包括:
获取模块171,用于获取打码图像,所述打码图像中包括对预设图形码进行分块之后打印在待打码对象上的至少两个分块码;
处理模块172,用于检测所述打码图像中的分块码的分块信息,所述分块信息包括所述分块码的标识,以及所述分块码在所述打码图像中的坐标;
识别模块173,用于根据每个分块码的分块信息,对所述至少两个分块码进行拼接处理,得到所述预设图形码,并对所述预设图形码进行识别处理。
在一种可能的实施方式中,所述处理模块172具体用于:
通过分块码检测网络对所述打码图像进行处理,得到每个分块码的分块信息;
其中,所述分块码检测网络为对多组第二样本进行学习得到的,每组第二样本包括样本打码图像和样本分块信息;所述样本打码图像中包括对样本图形码进行分块之后得到的至少两个样本分块码,所述样本分块信息包括所述样本分块码的标识,以及所述样本分块码在所述样本打码图像中的坐标。
在一种可能的实施方式中,所述识别模块173具体用于:
根据每个分块码在所述打码图像中的坐标,获取各所述分块码在标准分块图中的映射矩阵;
根据所述映射矩阵,将各所述分块码映射到所述标准分块图中;
根据各所述分块码的标识,对所述标准分块图中的各所述分块码进行拼接处理,得到所述预设图形码。
本申请实施例提供的装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图18为本申请实施例提供的打码系统的结构示意图,如图18所示,包括打码机181和控制器182,其中:
所述控制器182用于执行如上任一所述的图形码打码方法,得到预设图形码进行分块后的打码信息,所述打码信息包括所述预设图形码分块后的每个分块码对应的目标打码区域;
所述打码机181用于根据所述打码信息,在待打码对象的表面进行分块打码。
控制器182执行的操作详见上述方法实施例,此处不再赘述。
图19为本申请实施例提供的电子设备的硬件结构示意图,如图19所示,该电子设备包括:至少一个处理器191和存储器192。其中,处理器191和存储器192通过总线193连接。
可选地,该模型确定还包括通信部件。例如,通信部件可以包括接收器和/或发送器。
在具体实现过程中,至少一个处理器191执行所述存储器192存储的计算机执行指令,使得至少一个处理器191执行如上的图形码打码方法,或者,执行如上的图形码识别方法。
处理器191的具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
在上述图19所示的实施例中,应理解,处理器可以是中央处理单元(英文:CentralProcessing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:DigitalSignal Processor,简称:DSP)、专用集成电路(英文:Application Specific IntegratedCircuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上的图形码打码方法,或者,实现如上的图形码识别方法。
上述的计算机可读存储介质,上述可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。可读存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(Application Specific IntegratedCircuits,简称:ASIC)中。当然,处理器和可读存储介质也可以作为分立组件存在于设备中。
所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (14)
1.一种图形码打码方法,其特征在于,包括:
获取第一图像,所述第一图像为对待打码对象的表面进行拍摄后得到的图像;
确定所述第一图像中的第一类型区域和第二类型区域,所述第一类型区域为适于打码区域,所述第二类型区域为不适于打码区域;
在所述第一类型区域中确定多个目标打码区域,所述目标打码区域用于进行分块打码;
根据所述多个目标打码区域和预设图形码,获取对所述预设图形码进行分块后的打码信息,所述打码信息包括所述预设图形码分块后的每个分块码对应的目标打码区域。
2.根据权利要求1所述的方法,其特征在于,确定所述第一图像中的第一类型区域和第二类型区域,包括:
通过打码区检测网络对所述第一图像进行处理,得到所述第一图像中的第一类型区域和第二类型区域;
其中,所述打码区检测网络为对多组第一样本学习得到的,每组第一样本包括第一样本图像和第一标注图像,所述第一标注图像为标注了所述第一样本图像中的第一类型区域和第二类型区域后得到的图像。
3.根据权利要求1或2所述的方法,其特征在于,在所述第一类型区域中确定多个目标打码区域,包括:
对所述第一类型区域进行连通域识别,确定多个候选打码区域,每个候选打码区域均为一个连通区域;
获取所述多个候选打码区域中每个候选打码区域的最大内接矩形面积;
根据所述每个候选打码区域的最大内接矩形面积,在所述多个候选打码区域中确定所述多个目标打码区域,其中,每个目标打码区域的最大内接矩形面积均大于或等于第一阈值。
4.根据权利要求1所述的方法,其特征在于,根据所述多个目标打码区域和预设图形码,获取对所述预设图形码进行分块后的打码信息,包括:
对所述预设图形码进行分块,获取所述分块码的数量,以及每个分块码的第一信息,所述第一信息包括所述分块码的面积和标识;
根据所述分块码的数量和每个分块码的所述第一信息,在所述多个目标打码区域中确定所述每个分块码对应的目标打码区域。
5.根据权利要求4所述的方法,其特征在于,在对所述预设图形码进行分块之前,所述方法还包括:
若确定所述多个目标打码区域中不存在第一打码区域,则对所述预设图形码进行分块,其中,所述第一打码区域为最大内接矩形可覆盖所述预设图形码对应的打码面积的区域;
若确定所述多个目标打码区域中存在所述第一打码区域,则不对所述预设图形码进行分块。
6.根据权利要求4或5所述的方法,其特征在于,根据所述分块码的数量和每个分块码的所述第一信息,在所述多个目标打码区域中确定每个分块码对应的目标打码区域,包括:
按照所述多个目标打码区域的最大内接矩形面积从大到小的顺序,对所述多个目标打码区域进行排序;
根据所述每个分块码的面积,在排序后的前N个目标打码区域中确定每个分块码对应的目标打码区域,其中,所述N为所述分块码的数量,且所述N为大于1的整数。
7.一种图形码识别方法,其特征在于,包括:
获取打码图像,所述打码图像中包括对预设图形码进行分块之后打印在待打码对象上的至少两个分块码;
检测所述打码图像中的分块码的分块信息,所述分块信息包括所述分块码的标识,以及所述分块码在所述打码图像中的坐标;
根据每个分块码的分块信息,对所述至少两个分块码进行拼接处理,得到所述预设图形码,并对所述预设图形码进行识别处理。
8.根据权利要求7所述的方法,其特征在于,检测所述打码图像中的分块码的分块信息,包括:
通过分块码检测网络对所述打码图像进行处理,得到每个分块码的分块信息;
其中,所述分块码检测网络为对多组第二样本进行学习得到的,每组第二样本包括样本打码图像和样本分块信息;所述样本打码图像中包括对样本图形码进行分块之后得到的至少两个样本分块码,所述样本分块信息包括所述样本分块码的标识,以及所述样本分块码在所述样本打码图像中的坐标。
9.根据权利要求7或8所述的方法,其特征在于,根据每个分块码的分块信息,对所述至少两个分块码进行拼接处理,得到所述预设图形码,包括:
根据每个分块码在所述打码图像中的坐标,获取各所述分块码在标准分块图中的映射矩阵;
根据所述映射矩阵,将各所述分块码映射到所述标准分块图中;
根据各所述分块码的标识,对所述标准分块图中的各所述分块码进行拼接处理,得到所述预设图形码。
10.一种图形码打码装置,其特征在于,包括:
获取模块,用于获取第一图像,所述第一图像为对待打码对象的表面进行拍摄后得到的图像;
确定模块,用于确定所述第一图像中的第一类型区域和第二类型区域,所述第一类型区域为适于打码区域,所述第二类型区域为不适于打码区域;
第一处理模块,用于在所述第一类型区域中确定多个目标打码区域,所述目标打码区域用于进行分块打码;
第二处理模块,用于根据所述多个目标打码区域和预设图形码,获取对所述预设图形码进行分块后的打码信息,所述打码信息包括所述预设图形码分块后的每个分块码对应的目标打码区域。
11.一种图形码识别装置,其特征在于,包括:
获取模块,用于获取打码图像,所述打码图像中包括对预设图形码进行分块之后打印在待打码对象上的至少两个分块码;
处理模块,用于检测所述打码图像中的分块码的分块信息,所述分块信息包括所述分块码的标识,以及所述分块码在所述打码图像中的坐标;
识别模块,用于根据每个分块码的分块信息,对所述至少两个分块码进行拼接处理,得到所述预设图形码,并对所述预设图形码进行识别处理。
12.一种打码系统,其特征在于,包括打码机和控制器,其中:
所述控制器用于执行如权利要求1-7中任一所述的图形码打码方法,得到预设图形码进行分块后的打码信息,所述打码信息包括所述预设图形码分块后的每个分块码对应的目标打码区域;
所述打码机用于根据所述打码信息,在待打码对象的表面进行分块打码。
13.一种电子设备,其特征在于,包括:
存储器,用于存储程序;
处理器,用于执行所述存储器存储的所述程序,当所述程序被执行时,所述处理器用于执行如权利要求1至6中任一所述的图形码打码方法,或者,所述处理器用于执行如权利要求7至9中任一所述的图形码识别方法。
14.一种计算机可读存储介质,其特征在于,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1至6中任一所述的图形码打码方法,或者,使得计算机执行如权利要求7至9中任一所述的图形码识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011176875.9A CN112288066B (zh) | 2020-10-28 | 2020-10-28 | 图形码打码和识别方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011176875.9A CN112288066B (zh) | 2020-10-28 | 2020-10-28 | 图形码打码和识别方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112288066A true CN112288066A (zh) | 2021-01-29 |
CN112288066B CN112288066B (zh) | 2023-05-09 |
Family
ID=74372835
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011176875.9A Active CN112288066B (zh) | 2020-10-28 | 2020-10-28 | 图形码打码和识别方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112288066B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103679106A (zh) * | 2012-09-11 | 2014-03-26 | 上海新大陆翼码信息科技有限公司 | 二维码切割与拼接鉴权方法及系统 |
CN204440410U (zh) * | 2014-12-23 | 2015-07-01 | 江苏工程职业技术学院 | 一种切分式二维码防伪结构 |
CN105938563A (zh) * | 2016-04-14 | 2016-09-14 | 北京工业大学 | 一种基于图像纹理的焊缝表面缺陷识别方法 |
CN106203226A (zh) * | 2016-06-23 | 2016-12-07 | 北京印刷学院 | 一种球体表面的二维码的生成和采集方法 |
CN109409478A (zh) * | 2018-10-12 | 2019-03-01 | 北京印刷学院 | 线分割无效码隐藏互补码识别的二维码防伪方法 |
-
2020
- 2020-10-28 CN CN202011176875.9A patent/CN112288066B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103679106A (zh) * | 2012-09-11 | 2014-03-26 | 上海新大陆翼码信息科技有限公司 | 二维码切割与拼接鉴权方法及系统 |
CN204440410U (zh) * | 2014-12-23 | 2015-07-01 | 江苏工程职业技术学院 | 一种切分式二维码防伪结构 |
CN105938563A (zh) * | 2016-04-14 | 2016-09-14 | 北京工业大学 | 一种基于图像纹理的焊缝表面缺陷识别方法 |
CN106203226A (zh) * | 2016-06-23 | 2016-12-07 | 北京印刷学院 | 一种球体表面的二维码的生成和采集方法 |
CN109409478A (zh) * | 2018-10-12 | 2019-03-01 | 北京印刷学院 | 线分割无效码隐藏互补码识别的二维码防伪方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112288066B (zh) | 2023-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110659647B (zh) | 印章图像识别方法及装置、智能发票识别设备和存储介质 | |
CN109977983B (zh) | 获得训练图像的方法及装置 | |
CN111783495B (zh) | 一种条形码识别方法、装置、电子设备及存储介质 | |
CN113158895B (zh) | 票据识别方法、装置、电子设备及存储介质 | |
CN109389115B (zh) | 文本识别方法、装置、存储介质和计算机设备 | |
CN111461133B (zh) | 快递面单品名识别方法、装置、设备及存储介质 | |
CN107403179B (zh) | 一种物品包装信息的注册方法及装置 | |
CN114005126A (zh) | 表格重构方法、装置、计算机设备及可读存储介质 | |
CN112308046A (zh) | 图像的文本区域定位方法、装置、服务器及可读存储介质 | |
CN114881698A (zh) | 广告合规审核方法、装置、电子设备及存储介质 | |
CN112699704B (zh) | 一种条形码的检测方法、装置、设备、存储装置 | |
CN114581928A (zh) | 一种表格识别方法及系统 | |
CN111680680B (zh) | 一种目标码定位方法、装置、电子设备及存储介质 | |
CN111191584B (zh) | 一种人脸识别方法及装置 | |
CN112200789A (zh) | 一种图像识别的方法及装置、电子设备和存储介质 | |
CN112613367A (zh) | 票据信息文本框获取方法、系统、设备及存储介质 | |
CN112288066B (zh) | 图形码打码和识别方法、装置及系统 | |
CN116245882A (zh) | 电路板电子元件检测方法、装置及计算机设备 | |
CN109145916B (zh) | 一种图像文字识别切割方法及一种存储设备 | |
CN114783042A (zh) | 基于多移动目标的人脸识别方法、装置、设备及存储介质 | |
CN113780116A (zh) | 发票分类方法、装置、计算机设备和存储介质 | |
CN113592831A (zh) | 印刷误差的检测方法、装置和存储介质 | |
CN112668583A (zh) | 图像识别方法、装置以及电子设备 | |
CN111626982A (zh) | 识别待检测货箱批次码的方法和装置 | |
JPS60114975A (ja) | 光学的読取装置 |
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 |