CN112819121B - 曲线码生成方法、识别方法、终端设备及可读存储介质 - Google Patents
曲线码生成方法、识别方法、终端设备及可读存储介质 Download PDFInfo
- Publication number
- CN112819121B CN112819121B CN202110114763.9A CN202110114763A CN112819121B CN 112819121 B CN112819121 B CN 112819121B CN 202110114763 A CN202110114763 A CN 202110114763A CN 112819121 B CN112819121 B CN 112819121B
- Authority
- CN
- China
- Prior art keywords
- curve
- target
- code
- waveform
- target product
- 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
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/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)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Electromagnetism (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Processing (AREA)
- Image Generation (AREA)
Abstract
本发明公开了一种曲线码生成方法、识别方法、终端设备及计算机可读存储介质,该曲线码生成方法包括:获取待编码信息,并确定目标编码进制,按照所述目标编码进制将所述待编码信息转换为对应的多进制序列;根据预设的波形数字映射表,将所述多进制序列转换为对应的波形序列,其中,所述波形数字映射表用于记录各进制码值与各不同振幅和/或宽度的曲线波形之间的映射关系,所述波形序列由多个独立的曲线波形排列而成;确定每两相邻所述曲线波形之间的波形间隔,并在所述波形间隔内放置拟合曲线,以将所述波形序列拟合成连续平滑的目标曲线;基于所述目标曲线得到目标产品的曲线码。本发明提高了大批量产品的识别效率。
Description
技术领域
本发明涉及图形码识别技术领域,尤其涉及一种曲线码生成方法、曲线码识别方法、终端设备及计算机可读存储介质。
背景技术
随着图形码识别技术的快速发展,各种图形码,例如条形码、二维码等也广泛应用于人们的生活。通过将其附着在各类物品上,为人们的生活带来的极大的便利。但生活中常见的条形码和二维码,在使用时也存在诸多缺陷,例如扫描时印有条形码或二维码的标签不能被遮挡,否则扫码器无从扫描;又或是多个标签不能叠加,否则会产生图案干涉而导致无法解码。因此要求人们在对条形码和二维码进行扫描时,需要在目视条件下,逐一分拣物品后才能进行标签识别。而在待扫描的物品数目较多的使用场景,例如在超市收银台,这一扫描识别方式的效率明显十分低下。
发明内容
本发明的主要目的在于提供一种曲线码生成方法、识别方法、终端设备及计算机可读存储介质,旨在解决通过现有方式对大批量产品的图形码进行识别的效率低下的技术问题。
为实现上述目的,本发明提供一种曲线码生成方法,所述曲线码生成方法包括:
获取待编码信息,并确定目标编码进制,按照所述目标编码进制将所述待编码信息转换为对应的多进制序列;
根据预设的波形数字映射表,将所述多进制序列转换为对应的波形序列,其中,所述波形数字映射表用于记录各进制码值与各不同振幅和/或宽度的曲线波形之间的映射关系,所述波形序列由多个独立的曲线波形排列而成;
确定每两相邻所述曲线波形之间的波形间隔,并在所述波形间隔内放置拟合曲线,以将所述波形序列拟合成连续平滑的目标曲线;
基于所述目标曲线得到目标产品的曲线码。
可选地,所述基于所述目标曲线得到目标产品的曲线码的步骤包括:
判断所述目标曲线的长度是否满足曲线长度条件,其中,所述曲线长度条件基于所述目标产品确定;
若是,则将所述目标曲线作为所述曲线码;
若否,则根据所述目标产品的形状将所述目标曲线进行弯折或翘曲处理,并基于弯折或翘曲后的目标曲线得到所述曲线码,以使所述曲线码贴合所述目标产品的形状。
可选地,所述根据所述目标产品的形状将所述目标曲线进行弯折或翘曲处理,并基于弯折或翘曲后的目标曲线得到所述曲线码的步骤包括:
在检测到所述目标产品的形状为长条状时,获取长条状目标产品的第一规格数据,并基于所述第一规格数据将所述目标曲线进行对折处理,以基于对折处理后的目标曲线得到所述曲线码;
在检测到所述目标产品的形状的中部不平整时,获取中部不平整目标产品的第二规格数据,并基于所述第二规格数据将所述目标曲线弯折成多边形,以基于弯折成多边形的目标曲线得到所述曲线码;
在检测到所述目标产品的形状为圆柱状时,获取圆柱状目标产品的第三规格数据,并基于所述第三规格数据将所述目标曲线翘曲成螺旋状,以基于翘曲成螺旋状的目标曲线得到所述曲线码;或,
在检测到所述目标产品的形状中存在特定平面区域时,获取存在特定平面区域目标产品的第四规格数据,并基于所述第四规格数据将所述目标曲线翘曲成圆弧状或涡旋状,以基于翘曲成圆弧状或涡旋状的目标曲线得到所述曲线码。
可选地,所述基于弯折或翘曲后的目标曲线得到所述曲线码的步骤包括:
判断所述弯折或翘曲后的目标曲线是否具有原始起止方向;
若是,则将所述弯折或翘曲后的目标曲线作为所述曲线码;
若否,则对所述目标曲线添加起始符和/或截止符得到目标标识曲线,以将所述目标标识曲线作为所述曲线码。
可选地,所述确定每两相邻所述曲线波形之间的波形间隔,并在所述波形间隔内放置拟合曲线,以将所述波形序列拟合成连续平滑的目标曲线的步骤包括:
为每两相邻所述曲线波形之间随机设置不等距间隔,以作为所述波形间隔;
将所述不等距间隔整合进所述波形序列,得到波形间隔序列;
利用多次函数或三角级数得到所述拟合曲线,并将所述拟合曲线置于所述波形间隔序列中对应的间隔区间,以得到所述目标曲线。
可选地,所述基于所述目标曲线得到目标产品的曲线码的步骤之后,还包括:
获取随机缩放比例,并按照所述随机缩放比例对所述曲线码进行缩放,得到包含所述曲线码对应图案的缩放曲线码。
为实现上述目的,本发明还提供一种曲线码识别方法,所述曲线码识别方法包括:
在多个目标产品存在于同一识别场景时,获取在所述识别场景下使用X射线对多个所述目标产品上对应附着的多个产品标签进行同步拍摄所得到的目标图像,并对所述目标图像中包含的多个曲线码进行同步识别,其中,所述产品标签由使用含有重金属物质的油墨印制所述曲线码对应图案而得。
可选地,所述在多个目标产品存在于同一识别场景时,获取在所述识别场景下使用X射线对多个所述目标产品上对应附着的多个产品标签进行同步拍摄所得到的目标图像,并对所述目标图像中包含的多个曲线码进行同步识别的步骤包括:
在多个所述目标产品存在于同一识别场景时,确定多个所述目标产品的放置方式;
根据所述放置方式,控制外接的X光机按照一个或多个不同的拍摄角度以X射线对所述识别场景下的多个所述目标产品进行拍摄,以得到所述目标图像;
根据预设解码方式,对所述目标图像上显示的多个所述产品标签所包含的多个所述曲线码进行同步识别。
此外,为实现上述目的,本发明还提供一种曲线码生成装置,所述曲线码生成装置包括:
数字序列获取模块,用于获取待编码信息,并确定目标编码进制,按照所述目标编码进制将所述待编码信息转换为对应的多进制序列;
波形序列获取模块,用于根据预设的波形数字映射表,将所述多进制序列转换为对应的波形序列,其中,所述波形数字映射表用于记录各进制码值与各不同振幅和/或宽度的曲线波形之间的映射关系,所述波形序列由多个独立的曲线波形排列而成;
目标曲线拟合模块,用于确定每两相邻所述曲线波形之间的波形间隔,并在所述波形间隔内放置拟合曲线,以将所述波形序列拟合成连续平滑的目标曲线;
曲线码获取模块,用于基于所述目标曲线得到目标产品的曲线码。
可选地,所述曲线码获取模块包括:
长度条件判断单元,用于判断所述目标曲线的长度是否满足曲线长度条件,其中,所述曲线长度条件基于所述目标产品确定;
长度第一判定单元,用于若是,则将所述目标曲线作为所述曲线码;
长度第二判定单元,用于若否,则根据所述目标产品的形状将所述目标曲线进行弯折或翘曲处理,并基于弯折或翘曲后的目标曲线得到所述曲线码,以使所述曲线码贴合所述目标产品的形状。
可选地,所述长度第二判定单元还用于:
在检测到所述目标产品的形状为长条状时,获取长条状目标产品的第一规格数据,并基于所述第一规格数据将所述目标曲线进行对折处理,以基于对折处理后的目标曲线得到所述曲线码;
在检测到所述目标产品的形状的中部不平整时,获取中部不平整目标产品的第二规格数据,并基于所述第二规格数据将所述目标曲线弯折成多边形,以基于弯折成多边形的目标曲线得到所述曲线码;
在检测到所述目标产品的形状为圆柱状时,获取圆柱状目标产品的第三规格数据,并基于所述第三规格数据将所述目标曲线翘曲成螺旋状,以基于翘曲成螺旋状的目标曲线得到所述曲线码;或,
在检测到所述目标产品的形状中存在特定平面区域时,获取存在特定平面区域目标产品的第四规格数据,并基于所述第四规格数据将所述目标曲线翘曲成圆弧状或涡旋状,以基于翘曲成圆弧状或涡旋状的目标曲线得到所述曲线码。
可选地,所述长度第二判定单元还用于:
判断所述弯折或翘曲后的目标曲线是否具有原始起止方向;
若是,则将所述弯折或翘曲后的目标曲线作为所述曲线码;
若否,则对所述目标曲线添加起始符和/或截止符得到目标标识曲线,以将所述目标标识曲线作为所述曲线码。
可选地,所述目标曲线拟合模块包括:
随机间隔设置单元,用于为每两相邻所述曲线波形之间随机设置不等距间隔,以作为所述波形间隔;
波形间隔整合单元,用于将所述不等距间隔整合进所述波形序列,得到波形间隔序列;
目标曲线拟合单元,用于利用多次函数或三角级数得到所述拟合曲线,并将所述拟合曲线置于所述波形间隔序列中对应的间隔区间,以得到所述目标曲线。
可选地,所述曲线码生成装置还包括:
图案随机缩放模块,用于获取随机缩放比例,并按照所述随机缩放比例对所述曲线码进行缩放,得到包含所述曲线码对应图案的缩放曲线码。
为实现上述目的,本发明还提供一种曲线码识别装置,所述曲线码识别装置包括:
标签同步识别模块,用于在多个目标产品存在于同一识别场景时,获取在所述识别场景下使用X射线对多个所述目标产品上对应附着的多个产品标签进行同步拍摄所得到的目标图像,并对所述目标图像中包含的多个曲线码进行同步识别,其中,所述产品标签由使用含有重金属物质的油墨印制所述曲线码对应图案而得。
可选地,所述标签同步识别模块包括:
放置方式确定单元,用于在多个所述目标产品存在于同一识别场景时,确定多个所述目标产品的放置方式;
目标产品拍摄单元,用于根据所述放置方式,控制外接的X光机按照一个或多个不同的拍摄角度以X射线对所述识别场景下的多个所述目标产品进行拍摄,以得到所述目标图像;
图像同步识别单元,用于根据预设解码方式,对所述目标图像上显示的多个所述产品标签所包含的多个所述曲线码进行同步识别。
此外,为实现上述目的,本发明还提供一种终端设备,所述终端设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上述方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述方法的步骤。
本发明提供一种曲线码生成方法、识别方法、终端设备及计算机可读存储介质,所述曲线码生成方法以波形作为目标产品的相关信息的载体(不同于传统条形码和二维码的黑白条或块),然后基于波形序列拟合出同样可作为相关信息载体的连续平滑的拟合曲线,根据拟合曲线生成目标产品对应的曲线码,所述曲线码识别方法通过印制曲线码得到目标产品的掺杂有重金属物质的产品标签,使得在同一识别场景中,通过采用具有穿透性的X光即可对大批量目标产品的产品标签上印有的多个曲线码进行识别。由于曲线连续可追溯,因此当产品集中排放而导致多条曲线叠加在一起时,曲线码依然有很高概率被逐条识别到,因此实现了对于大批量产品的产品标签的同步识别,大大提高了大批量产品的识别效率,从而解决了通过现有方式对大批量产品的图形码进行识别的效率低下的技术问题。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的终端设备结构示意图;
图2为本发明曲线码生成方法第一实施例的流程示意图;
图3为本发明曲线码生成方法第一实施例的曲线波形示意图;
图4为本发明曲线码生成方法第一实施例的四种基波示意图;
图5为本发明曲线码生成方法第二实施例中目标曲线的翘曲以及弯折情况示意图;
图6为本发明曲线码生成方法第二实施例中翘曲成圆弧状的曲线码以及截止符示意图;
图7为本发明曲线码生成方法第三实施例中的曲线拟合示意图;
图8为本发明曲线码识别方法第一实施例的流程示意图;
图9为本发明曲线码识别方法第一实施例中印刷于硬质基板上的曲线码的示意图;
图10为本发明曲线码识别方法第二实施例中的普通条码叠加示意图;
图11为本发明曲线码识别方法第二实施例中的曲线码叠加示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明各个实施例的一种终端设备的硬件结构示意图。
如图1所示,该终端设备可以包括:处理器1001,例如CPU,通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。可选的用户接口1003可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory)。存储器1005可选的还可以是独立于前述处理器1001的存储设备。
本领域技术人员可以理解,图1中示出的终端设备结构并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及计算机程序。
在图1所示的终端设备中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;存储器1005可作为一种计算机可读存储介质,存储存储器1005上存储有计算机程序,所述计算机程序被处理器1001执行时实现如下述的曲线码生成程序以及曲线码识别程序各实施例的步骤。
基于上述硬件结构,提出本发明曲线码生成以及识别方法的各个实施例。
为解决上述技术问题,本发明提供一种曲线码生成方法、识别方法、终端设备及计算机可读存储介质,即所述曲线码生成方法以波形作为目标产品的相关信息的载体(不同于传统条形码和二维码的黑白条或块),然后基于波形序列拟合出同样可作为相关信息载体的连续平滑的拟合曲线,根据拟合曲线生成目标产品对应的曲线码,所述曲线码识别方法通过印制曲线码得到目标产品的掺杂有重金属物质的产品标签,使得在同一识别场景中,通过采用具有穿透性的X光即可对大批量目标产品的产品标签上印有的多个曲线码进行识别。由于曲线连续可追溯,因此当产品集中排放而导致多条曲线叠加在一起时,曲线码依然有很高概率被逐条识别到,因此实现了对于大批量产品的产品标签的同步识别,大大提高了大批量产品的识别效率,从而解决了通过现有方式对大批量产品的图形码进行识别的效率低下的技术问题。
参照图2,图2为曲线码生成方法第一实施例的流程示意图,所述曲线码生成方法包括:
步骤S10,获取待编码信息,并确定目标编码进制,按照所述目标编码进制将所述待编码信息转换为对应的多进制序列;
步骤S20,根据预设的波形数字映射表,将所述多进制序列转换为对应的波形序列,其中,所述波形数字映射表用于记录各进制码值与各不同振幅和/或宽度的曲线波形之间的映射关系,所述波形序列由多个独立的曲线波形排列而成;
在本实施例中,本方法应用于终端设备。待编码信息指的是与目标产品相关的待编码的信息,可以数字序列(例如条码编号等)、ASCAII字符集等形式呈现。多进制序列指的是将产品信息对应转化成多进制数所得到的数字序列。具体选择多少进制进行编码(也即是上述目标编码进制)可根据实际需要灵活确定。波形序列指的是在同一直线上将若干波形按照多进制序列中各数字的排列顺序对应排列的图形序列。曲线波形指的是类似正弦波波形的平滑波形,而不适宜选用方波、三角波类型的波形。
需要说明的是,条形码和二维码利用点和线段来表达信息,而本发明中的曲线码则是利用波形来作为信息载体。如图3所示,波的形状具有高度和宽度两个特征,不同的高度和宽度的组合可以表示不同的状态。具体地,若设定四种基波的高度和宽度依次为[H,L]、[2H,L]、[H,2L]和[2H,2L],这四种不同形状的基波即能表征四种不同的状态。当然,在实际应用中,只要易于区分,也可使用其他的宽高比例。如图4所示,从左到右依次以四个正弦函数sin(x/2)、2sin(x/2)、sinx和2sinx为例,其高度和宽度组合分别为:[1,π/2]、[2.π/2]、[1,π.]和[2,π],分别对应码值0、1、2和3,用以实现四进制。
终端获取当前的待编码信息,将其按照目标编码进制转换为多进制序列,然后通过查找预置的波形与码值数字的映射规则表,再将多进制序列中的每个码值数字转化为相应的曲线波形,将各个曲线波形沿虚拟直线依次排列得到波形序列。例如四进制序列3201,然后终端依次将码值3、码值2、码值0和码值1所对应的曲线波形并排放置于同一虚拟直线,即可得到上述波形序列。
步骤S30,确定每两相邻所述曲线波形之间的波形间隔,并在所述波形间隔内放置拟合曲线,以将所述波形序列拟合成连续平滑的目标曲线;
在本实施例中,波形间隔指的是每个码值所对应的曲线波形之间的间隔,该间隔可为等距间隔,也可为不等距间隔。目标曲线指的是对按照波形间隔依次放置的各个曲线波形拟合后所得到的连续且平滑的曲线。
终端在每两相邻的曲线波形之间预留一等距或不等距的波形间隔,然后在每个间隔区间里各自放置拟合曲线,将编码好的曲线波形串联起来成为一条曲线,拟合曲线与左右相邻的两个曲线波形端点处的斜率相同,以使得整条曲线连续光滑、处处可导。
步骤S40,基于所述目标曲线得到目标产品的曲线码。
在本实施例中,目标产品指的是本次曲线码识别任务中所需要生成与之相应的曲线码的产品,具体可为生活中各个种类的产品。
曲线码指的是基于目标曲线所得到的曲线图案。在实际情况中,可直接将目标曲线作为该目标产品的曲线码,也可对目标曲线进行一些变换,将变换之后的目标曲线作为该目标产品的曲线码。曲线码所对应图案具体可以是曲线码的原有图案,也可以是对曲线码的原有图案进行缩放后的图案。
在本实施例中,通过获取待编码信息,并确定目标编码进制,按照所述目标编码进制将所述待编码信息转换为对应的多进制序列;根据预设的波形数字映射表,将所述多进制序列转换为对应的波形序列,其中,所述波形数字映射表用于记录各进制码值与各不同振幅和/或宽度的曲线波形之间的映射关系,所述波形序列由多个独立的曲线波形排列而成;确定每两相邻所述曲线波形之间的波形间隔,并在所述波形间隔内放置拟合曲线,以将所述波形序列拟合成连续平滑的目标曲线;基于所述目标曲线得到目标产品的曲线码。通过上述方式,该曲线码生成方法以波形作为目标产品的相关信息的载体(不同于传统条形码和二维码的黑白条或块),然后基于波形序列拟合出同样可作为相关信息载体的连续平滑的拟合曲线,根据拟合曲线生成目标产品对应的曲线码,由于曲线连续可追溯,因此当产品集中排放而导致多条曲线叠加在一起时,曲线码依然有很高概率被逐条识别到,因此实现了对于大批量产品的产品标签的同步识别,大大提高了大批量产品的识别效率,从而解决了通过现有方式对大批量产品的图形码进行识别的效率低下的技术问题。
进一步地,基于上述图2所示的曲线码生成方法第一实施例,提出本发明曲线码生成方法第二实施例,在本实施例中,步骤S40包括:
判断所述目标曲线的长度是否满足曲线长度条件,其中,所述曲线长度条件基于所述目标产品确定;
若是,则将所述目标曲线作为所述曲线码;
若否,则根据所述目标产品的形状将所述目标曲线进行弯折或翘曲处理,并基于弯折或翘曲后的目标曲线得到所述曲线码,以使所述曲线码贴合所述目标产品的形状。
在本实施例中,由于相较于条形码和二维码,曲线码所载的信息密度较低。如果曲线只朝单一方向进行延伸,当波形较多时,曲线码的总体长度可能会偏长。因此实际使用时,可以根据需要被标签物品也即是上述目标产品的形状,将整条曲线码进行弯折或翘曲处理。
曲线长度条件具体可根据目标产品的长度、宽度、高度等尺寸数据制定,例如根据目标产品的长度设置一长度阈值,若对应目标曲线的长度超出该长度阈值,则判定该目标曲线的长度不满足曲线长度条件;若对应目标曲线的长度未超出该长度阈值,则判定该目标曲线的长度安祖曲线长度条件。
若终端检测到目标曲线的长度满足曲线长度条件,则可直接将目标曲线作为曲线码;若终端检测到目标曲线的长度不满足曲线长度条件,则需要采取一些方式,在不破坏该目标曲线所承载信息的前提下,缩短目标曲线的长度。缩短目标曲线的方式主要有以下几种:
第一种,对目标曲线进行弯折或翘曲处理;
第二种,增加更多的波形,实现更高的进制,以增加曲线码的信息密度;
第三种,去掉波形间的间隔和拟合曲线,将波形上下交错排列。
后两种方式适用一些特殊场合。例如,目标产品体积过小,需要尽可能缩短曲线码长度、节省占用空间的场景。
进一步地,所述根据所述目标产品的形状将所述目标曲线进行弯折或翘曲处理,并基于弯折或翘曲后的目标曲线得到所述曲线码的步骤包括:
在检测到所述目标产品的形状为长条状时,获取长条状目标产品的第一规格数据,并基于所述第一规格数据将所述目标曲线进行对折处理,以基于对折处理后的目标曲线得到所述曲线码;
在检测到所述目标产品的形状的中部不平整时,获取中部不平整目标产品的第二规格数据,并基于所述第二规格数据将所述目标曲线弯折成多边形,以基于弯折成多边形的目标曲线得到所述曲线码;
在检测到所述目标产品的形状为圆柱状时,获取圆柱状目标产品的第三规格数据,并基于所述第三规格数据将所述目标曲线翘曲成螺旋状,以基于翘曲成螺旋状的目标曲线得到所述曲线码;或,
在检测到所述目标产品的形状中存在特定平面区域时,获取存在特定平面区域目标产品的第四规格数据,并基于所述第四规格数据将所述目标曲线翘曲成圆弧状或涡旋状,以基于翘曲成圆弧状或涡旋状的目标曲线得到所述曲线码。
在本实施例中,第一规格数据指的是长条状的目标产品(例如牙膏牙刷)的规格数据;第二规格数据指的是中部不平整的目标产品(例如鸡蛋)的规格数据;第三规格数据指的是圆柱状的目标产品的规格数据;第四规格数据指的是存在较大平面(也即是上述特定平面)的目标产品(例如餐盒)的规格数据。
如图5所示,从左往右第一分格中的图形表示将目标曲线原有的直线延伸方向对折后形成的新的曲线朝向,对应目标产品的形状为长条状的情况;
第二分格中的图形表示将目标曲线原有的直线延伸方向沿包装边缘弯折成多边形后形成的新的曲线朝向,对应目标产品的形状中部不平整的情况;
第三分格中的图形表示将目标曲线原有的直线延伸方向翘曲成螺旋状后形成的新的曲线朝向,对应目标产品的形状为圆柱状的情况;
第四分格中的图形表示将目标曲线原有的指向延伸方向翘曲成圆弧状、涡旋状后形成的新的曲线朝向,对应目标产品的形状中存在较大平面的情况。
进一步地,所述基于弯折或翘曲后的目标曲线得到所述曲线码的步骤包括:
判断所述弯折或翘曲后的目标曲线是否具有原始起止方向;
若是,则将所述弯折或翘曲后的目标曲线作为所述曲线码;
若否,则对所述目标曲线添加起始符和/或截止符得到目标标识曲线,以将所述目标标识曲线作为所述曲线码。
在本实施例中,原始起止方向指的是弯折或翘曲后的目标曲线所自带的起止方向,例如目标曲线若翘曲成平面涡旋状,由于涡旋线自带方向,因此只需预先对于此类情况设定起始位置即可,而无需对添加起始符和/或截止符。
而弯折或翘曲后的目标曲线,如果没有明显的起始和截止方向,则需要为其添加起始符和/或截止符(通常情况下单独添加起始符或截止符即可)。否则如图6所示,将图中的图形翻转180度,同样采用逆时针解码所得到的序列会出现倒置。
在本实施例中,进一步根据需要被标签物品的形状,将整条曲线码进行弯折或翘曲处理,使得最终的曲线码能够贴合产品的形状,而不会占用额外的空间;通过给曲线码曲线添加起始符或截止符,从而明确了解码方向,避免了因标签翻转而导致解码错误的情况。
进一步地,基于上述图2所示的曲线码生成方法第一实施例,提出本发明曲线码生成方法第三实施例。在本实施例中,步骤S20包括:
为每两相邻所述曲线波形之间随机设置不等距间隔,以作为所述波形间隔;
将所述不等距间隔整合进所述波形序列,得到波形间隔序列;
利用多次函数或三角级数得到所述拟合曲线,并将所述拟合曲线置于所述波形间隔序列中对应的间隔区间,以得到所述目标曲线。
在本实施例中,由于X射线拍照获得的实际图像,并不一定会十分清晰,且过多的条码交织在一起时,图案叠加也会变得复杂。因此,为进一步提高标签批量识别的成功率,使其达到实际应用水平,可将曲线码相邻波形之间的间隔设置为随机的不等距间隔。这样即便相同的编码,曲线的形状也各自不相同,从而降低了多条曲线码叠加时,数条曲线发生重合的概率。
如图7所示,以三次函数拟合为例。三次函数f(x)=a*x^3+b*x^2+c*x+d四个系数的确定,可由相邻波形两个端点处的值和斜率计算得出。(当然,更复杂的函数,如四次函数或三角级数,也可以用来进行拟合)。四进制序列0123经编码和拟合后,得到一段连续光滑的曲线(中间的直线为虚拟)。
另外,需要说明的是,将图7拟合好的曲线,直接翘曲成圆弧、涡旋状或空间螺旋状时,翘曲后的波形会相应变形,主要表现为波形的宽度变小。但弧状轨迹的“半径”远较波形大,所以这种变形相对轻微,并不影响实际使用。若是想完全消除变形,可以先定义好轨迹(虚拟),在弧状轨迹上逐段截取相应弦长,然后再依次放置编码相应的波形并计算拟合曲线。
进一步地,步骤S40之后,还包括:
获取随机缩放比例,并按照所述随机缩放比例对所述曲线码进行缩放,得到包含所述曲线码对应图案的缩放曲线码。
在本实施例中,为进一步降低多个曲线码交织重合的概率,可在终端生成曲线码后,将曲线码整体也做成随机的不同比例大小,这样即便同样的产品,因为标签图案大小大概率不同,其曲线码的叠加程度也会得到极大缓解。
在本实施例中,进一步通过为曲线码相邻波形之间的间隔设置为随机的不等距间隔,并将曲线码整体也做成随机的不同比例大小,从而提高了大批量产品同步识别时的识别成功率。
参照图8,图8为曲线码识别方法第一实施例的流程示意图,所述曲线码识别方法包括:
步骤S100,在多个目标产品存在于同一识别场景时,获取在所述识别场景下使用X射线对多个所述目标产品上对应附着的多个产品标签进行同步拍摄所得到的目标图像,并对所述目标图像中包含的多个曲线码进行同步识别,其中,所述产品标签由使用含有重金属物质的油墨印制所述曲线码对应图案而得。
在本实施例中,在通过终端得到目标商品的曲线码后,可选择将曲线码直接印制在产品上(主要适用于该产品本身不易变形的情况),或是将曲线码印制在相对硬质的材料上(例如圆环或长条状塑料板等,防止曲线码过大变形),制作成产品标签。如图9所示,图中的曲线码印制在硬质基板上。产品标签可贴在产品表面或放置在产品的包装内,且用于印制曲线码图案的印刷油墨需要掺杂硫酸钡、碘等重金属物质。根据重金属能够吸收更多X光的特性,使用X射线照射产品时,可以获得曲线码的阴影图像也即是上述目标图像。终端在获取到目标图像后经过图像处理即可解码出信息。
在本实施例中,通过在多个目标产品存在于同一识别场景时,获取在所述识别场景下使用X射线对多个所述目标产品上对应附着的多个产品标签进行同步拍摄所得到的目标图像,并对所述目标图像中包含的多个曲线码进行同步识别,其中,所述产品标签由使用含有重金属物质的油墨印制所述曲线码对应图案而得。通过上述方式,该曲线码识别方法通过印制曲线码得到目标产品的掺杂重金属的产品标签,使得在同一识别场景中,通过采用具有穿透性的X光即可对大批量目标产品的产品标签上印有的多个曲线码进行识别。由于曲线连续可追溯,因此当产品集中排放而导致多条曲线叠加在一起时,曲线码依然有很高概率被逐条识别到,因此实现了对于大批量产品的产品标签的同步识别,大大提高了大批量产品的识别效率,从而解决了通过现有方式对大批量产品的图形码进行识别的效率低下的技术问题。
进一步地,基于上述图8所示的曲线识别方法第一实施例,提出本发明曲线码识别方法第二实施例。在曲线识别方法第二实施例中,步骤S100包括:
在多个所述目标产品存在于同一识别场景时,确定多个所述目标产品的放置方式;
根据所述放置方式,控制外接的X光机按照一个或多个不同的拍摄角度以X射线对所述识别场景下的多个所述目标产品进行拍摄,以得到所述目标图像;
根据预设解码方式,对所述目标图像上显示的多个所述产品标签所包含的多个所述曲线码进行同步识别。
在本实施例中,放置方式可由终端根据图像处理技术自主判定,也可由相关人员确定后上传至终端。预设解码方式指的是预先设定的波形与码值的对应关系以及解码方向。
当多个目标产品的曲线码近乎平行堆叠时,只需从一个方向发射X光线,即可快速获得图像;当目标产品随机放置时,其各自对应的曲线码在空间上处于任意位置时,则需要至少从三个方向发射x光线,获得曲线码的空间立体图才能识别并解码信息。
对于多条曲线码交织的情况,说明如下:
条形码和二维码由线段(和点)构成,当采用同样的方法,当条码叠加时,由于图案干涉,机器将很难区分。如图10所示,两个条形码或二维码发生叠加时,前者识别变得十分困难,后者基本不可能被解码。
而曲线码为一条完整光滑的曲线,利用波形的高度和宽度两个特征来组合表征信息。虽然其信息密度低,但是由于曲线连续可追溯,当多条条码交织堆叠在一起时,其仍然具有很高程度的辨识性——相同编码的曲线叠加时,只要曲线各自的起始和终止位置不完全重合,图像即具有肉眼可辨识度;不同编码的曲线叠加在一起,由于不同信息编码出的曲线图案不同,所以无论怎样交织,信息都能大概率被解码。如图11所示,五条相同编码、完全相同的曲线,在几乎具有相同起始位置的情况下,平行堆叠在一起,肉眼依然可辨。实际场景中,物品的标签信息不同,则相应的曲线码形状也不相同,并且曲线的起始和截止位置都处于随机状态,此时的叠加曲线比上图更具可辨性。
另外,由于目标产品大多具有一定厚度,其产品标签在空间上并不都是紧密贴合在一起,因此,当交织的图像中某些地方识别存在困难的时候,可以灵活调整拍摄角度,错开干涉区域,以避免多个曲线码交织重叠的情况,提升曲线码识别成功率。
在本实施例中,进一步通过当曲线码在空间上处于任意位置,从多个方向发射X光线,并当交织的图像中某些地方识别有困难的时候,调整拍摄角度,以错开干涉区域,从而提高了大批量产品同步识别时的识别成功率。
本发明还提供一种终端设备。
所述终端设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中所述计算机程序被所述处理器执行时,实现如上所述方法的步骤。
其中,所述计算机程序被执行时所实现的方法可参照本发明曲线码生成方法以及识别方法的各个实施例,此处不再赘述。
本发明还提供一种计算机可读存储介质。
本发明计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述方法的步骤。
其中,所述计算机程序被执行时所实现的方法可参照本发明曲线码生成以及识别方法各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种曲线码生成方法,其特征在于,所述曲线码生成方法包括:
获取待编码信息,并确定目标编码进制,按照所述目标编码进制将所述待编码信息转换为对应的多进制序列;
根据预设的波形数字映射表,将所述多进制序列转换为对应的波形序列,其中,所述波形数字映射表用于记录各进制码值与各不同振幅和/或宽度的曲线波形之间的映射关系,所述波形序列由多个独立的曲线波形排列而成;
确定每两相邻所述曲线波形之间的波形间隔,并在所述波形间隔内放置拟合曲线,以将所述波形序列拟合成连续平滑的目标曲线;
基于所述目标曲线得到目标产品的曲线码。
2.如权利要求1所述的曲线码生成方法,其特征在于,所述基于所述目标曲线得到目标产品的曲线码的步骤包括:
判断所述目标曲线的长度是否满足曲线长度条件,其中,所述曲线长度条件基于所述目标产品确定;
若是,则将所述目标曲线作为所述曲线码;
若否,则根据所述目标产品的形状将所述目标曲线进行弯折或翘曲处理,并基于弯折或翘曲后的目标曲线得到所述曲线码,以使所述曲线码贴合所述目标产品的形状。
3.如权利要求2所述的曲线码生成方法,其特征在于,所述根据所述目标产品的形状将所述目标曲线进行弯折或翘曲处理,并基于弯折或翘曲后的目标曲线得到所述曲线码的步骤包括:
在检测到所述目标产品的形状为长条状时,获取长条状目标产品的第一规格数据,并基于所述第一规格数据将所述目标曲线进行对折处理,以基于对折处理后的目标曲线得到所述曲线码;
在检测到所述目标产品的形状的中部不平整时,获取中部不平整目标产品的第二规格数据,并基于所述第二规格数据将所述目标曲线弯折成多边形,以基于弯折成多边形的目标曲线得到所述曲线码;
在检测到所述目标产品的形状为圆柱状时,获取圆柱状目标产品的第三规格数据,并基于所述第三规格数据将所述目标曲线翘曲成螺旋状,以基于翘曲成螺旋状的目标曲线得到所述曲线码;或,
在检测到所述目标产品的形状中存在特定平面区域时,获取存在特定平面区域目标产品的第四规格数据,并基于所述第四规格数据将所述目标曲线翘曲成圆弧状或涡旋状,以基于翘曲成圆弧状或涡旋状的目标曲线得到所述曲线码。
4.如权利要求2所述的曲线码生成方法,其特征在于,所述基于弯折或翘曲后的目标曲线得到所述曲线码的步骤包括:
判断所述弯折或翘曲后的目标曲线是否具有原始起止方向;
若是,则将所述弯折或翘曲后的目标曲线作为所述曲线码;
若否,则对所述目标曲线添加起始符和/或截止符得到目标标识曲线,以将所述目标标识曲线作为所述曲线码。
5.如权利要求1所述的曲线码生成方法,其特征在于,所述确定每两相邻所述曲线波形之间的波形间隔,并在所述波形间隔内放置拟合曲线,以将所述波形序列拟合成连续平滑的目标曲线的步骤包括:
为每两相邻所述曲线波形之间随机设置不等距间隔,以作为所述波形间隔;
将所述不等距间隔整合进所述波形序列,得到波形间隔序列;
利用多次函数或三角级数得到所述拟合曲线,并将所述拟合曲线置于所述波形间隔序列中对应的间隔区间,以得到所述目标曲线。
6.如权利要求1-5中任一项所述的曲线码生成方法,其特征在于,所述基于所述目标曲线得到目标产品的曲线码的步骤之后,还包括:
获取随机缩放比例,并按照所述随机缩放比例对所述曲线码进行缩放,得到包含所述曲线码对应图案的缩放曲线码。
7.一种终端设备,其特征在于,所述终端设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至6中任一项所述方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110114763.9A CN112819121B (zh) | 2021-01-28 | 2021-01-28 | 曲线码生成方法、识别方法、终端设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110114763.9A CN112819121B (zh) | 2021-01-28 | 2021-01-28 | 曲线码生成方法、识别方法、终端设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112819121A CN112819121A (zh) | 2021-05-18 |
CN112819121B true CN112819121B (zh) | 2022-06-28 |
Family
ID=75860062
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110114763.9A Active CN112819121B (zh) | 2021-01-28 | 2021-01-28 | 曲线码生成方法、识别方法、终端设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112819121B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104732183A (zh) * | 2015-03-20 | 2015-06-24 | 杭州晟元芯片技术有限公司 | 一种基于图像采样线灰度信息分析的一维条码识别方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5861616A (en) * | 1996-10-01 | 1999-01-19 | Mustek Systems, Inc. | Method and device for recognizing a waveform of an analog signal |
CN103390183B (zh) * | 2012-05-09 | 2019-07-19 | 顾泽苍 | 一种适用于手机识别的防伪代码的生成方法 |
CN106102643A (zh) * | 2014-02-11 | 2016-11-09 | B·基泽 | 结构编码的可植入装置 |
TW201643816A (zh) * | 2015-06-11 | 2016-12-16 | Apdn維京群島公司 | 輪廓加密及解密技術 |
CN106548105A (zh) * | 2015-09-22 | 2017-03-29 | 上海行邑信息科技有限公司 | 一种新型扫码识别控制方法及装置 |
CN106778999A (zh) * | 2016-12-02 | 2017-05-31 | 武汉网码云防伪技术有限公司 | 一种二维弧线图码及一种产品防伪方法 |
CN107563243B (zh) * | 2017-03-14 | 2020-11-10 | 上海奥普生物医药股份有限公司 | 一维条码识别方法 |
WO2020142635A1 (en) * | 2019-01-02 | 2020-07-09 | Hsu Rein Lien | Embedded variable curved spiral patterns |
-
2021
- 2021-01-28 CN CN202110114763.9A patent/CN112819121B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104732183A (zh) * | 2015-03-20 | 2015-06-24 | 杭州晟元芯片技术有限公司 | 一种基于图像采样线灰度信息分析的一维条码识别方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112819121A (zh) | 2021-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5637849A (en) | Maxicode data extraction using spatial domain features | |
JP6144585B2 (ja) | 多次元カラーバーコードおよび方法 | |
EP0757823B1 (en) | Machine readable binary codes | |
EP2849115B1 (en) | Method for decoding matrix-type two-dimensional code | |
JP3964390B2 (ja) | グラフィカルバーコードの生成および復号化 | |
EP0999519B1 (en) | Distortion correction method in optical code reading | |
US20140097246A1 (en) | Method and device for batch scanning 2d barcodes | |
CN105046184A (zh) | 基于畸变图像校正的二维码解码方法和系统 | |
JP2007520001A (ja) | スキャン可能な歪補償用仮想バーコード画像 | |
JP2016028364A (ja) | 二次元コード、二次元コードの作成システムおよび解析プログラム | |
CN105046183A (zh) | 一种畸变qr码的解码方法和系统 | |
US20040062443A1 (en) | Extracting graphical bar codes from an input image | |
CN107392270B (zh) | 一种二维码生成方法 | |
CN112819121B (zh) | 曲线码生成方法、识别方法、终端设备及可读存储介质 | |
CN102763121A (zh) | 用于解码线性条码的方法 | |
WO2004095357A1 (fr) | Systeme code barres bidimensionnel synchrone a information multiple et procede de lecture associe | |
CN109376825A (zh) | 一种二维码生成方法及装置 | |
US20230267642A1 (en) | Fiducial location | |
CN114398920A (zh) | 编码读取方法、编码方法以及编码读取装置 | |
WO2021236107A1 (en) | Fiducial patterns | |
CN105046256A (zh) | 基于畸变图像校正的qr码解码方法和系统 | |
WO2012035552A2 (en) | Generating a code system using haar wavelets | |
JPH11316795A (ja) | 二次元コードデコード装置、及び記憶媒体 | |
CN117911049B (zh) | 一种基于隐形智码的生产日期防伪溯源方法及系统 | |
US20230105910A1 (en) | Encoding information with shifted linear patterns |
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 |