CN115936037B - 二维码的解码方法及装置 - Google Patents
二维码的解码方法及装置 Download PDFInfo
- Publication number
- CN115936037B CN115936037B CN202310148328.7A CN202310148328A CN115936037B CN 115936037 B CN115936037 B CN 115936037B CN 202310148328 A CN202310148328 A CN 202310148328A CN 115936037 B CN115936037 B CN 115936037B
- Authority
- CN
- China
- Prior art keywords
- dimensional code
- point
- target
- decoding
- code
- 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 42
- 238000001514 detection method Methods 0.000 claims abstract description 59
- 238000012545 processing Methods 0.000 claims abstract description 23
- 230000000877 morphologic effect Effects 0.000 claims abstract description 19
- 238000012937 correction Methods 0.000 claims description 25
- 238000006243 chemical reaction Methods 0.000 claims description 19
- 238000013528 artificial neural network Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 15
- 238000007781 pre-processing Methods 0.000 claims description 12
- 230000005484 gravity Effects 0.000 claims description 9
- 238000005259 measurement Methods 0.000 claims description 8
- 230000009466 transformation Effects 0.000 claims description 5
- 238000012795 verification Methods 0.000 claims description 5
- 238000005260 corrosion Methods 0.000 claims description 4
- 230000007797 corrosion Effects 0.000 claims description 4
- 238000001914 filtration Methods 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000012549 training Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 239000000047 product Substances 0.000 description 3
- 208000011580 syndromic disease Diseases 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000007670 refining Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 229910052704 radon Inorganic materials 0.000 description 1
- SYUHGPGVQRZVTB-UHFFFAOYSA-N radon atom Chemical compound [Rn] SYUHGPGVQRZVTB-UHFFFAOYSA-N 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000011265 semifinished product Substances 0.000 description 1
- 239000007921 spray Substances 0.000 description 1
- 238000005507 spraying Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Landscapes
- Image Processing (AREA)
Abstract
本申请涉及图像识别技术领域,提供一种二维码的解码方法及装置。所述方法包括:对获取到的二维码进行像素点间距测算,获取所述二维码的点间距检测结果;确定所述点间距检测结果为所述二维码存在点间粘合,对所述二维码进行形态学处理,获取校正二维码;对所述校正二维码进行解码,获取解码数据。本申请实施例提供的二维码的解码方法能够对获取到的二维码进行质量检测,当获取到二维码质量较差时,可提高对二维码的解码准确率。
Description
技术领域
本申请涉及图像识别技术领域,具体涉及一种二维码的解码方法及装置。
背景技术
二维码(dimensional barcode),又称二维条码,是用某种特定的几何图形按一定规律在平面二维方向上分布的的图形记录数据符号信息,在代码编制上利用构成计算机内部逻辑基础的“0”、“1” 比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理。 现有部分企业已使用产品二维码管理方式,将二维码与各工位对应,各工位完成 后的半成品在指定区域进行贴码并流入生产线供后者使用。多工位完成后,对指定区域的 多个二维码进行识别,将多个二维码信息有选择地整合为一个二维码并贴附或喷涂在产品 或外包装上,供内部其他部门、或者消费者对二维码进行解码识别。
而在对二维码进行解码识别时,通常是在获取到二维码后,直接采用基于线段检测和组合的Finder模式检测方法、基于霍夫变换的算法和基于氡变换的算法等算法对二维码进行解码。但是,受二维码喷涂技艺或物理环境的影响,获取到的二维码可能质量较差,这导致若直接对二维码进行解码,可能会由于获取到二维码质量较差而导致解码后从二维码中获得的解码数据不够准确。
发明内容
本申请旨在至少解决相关技术中存在的技术问题之一。为此,本申请提出一种二维码的解码方法,能够对获取到的二维码进行质量检测,当获取到二维码质量较差时,可提高对二维码的解码准确率。
本申请还提出一种二维码的解码装置。
本申请还提出一种电子设备。
本申请还提出一种计算机可读存储介质。
根据本申请第一方面实施例的二维码的解码方法,包括:
对获取到的二维码进行像素点间距测算,获取所述二维码的点间距检测结果;
确定所述点间距检测结果为所述二维码存在点间粘合,对所述二维码进行形态学处理,获取校正二维码;
对所述校正二维码进行解码,获取解码数据。
本申请实施例提供的二维码的解码方法,通过对获取到的二维码进行像素点间距测算,获取二维码的点间距检测结果,并在确定点间距检测结果为二维码存在点间粘合时,对所述二维码进行形态学处理,获取校正二维码后,再对校正二维码进行解码,获取解码数据,从而在对二维码进行解码之前,可先根据二维码的像素点来及时检测二维码的质量,以在二维码的质量存在问题时,先对二维码进行校正,避免因未对二维码进行质量检测和质量校正而导致从二维码中获得的解码数据不够准确,进而提高后续从二维码中获得的解码数据的准确率。
根据本申请的一个实施例,对获取到的二维码进行像素点间距测算,获取所述二维码的点间距检测结果,包括:
将所述二维码转换为hsv色彩空间;
从所述hsv色彩空间中,获取目标颜色的码点像素集合;
根据霍夫变换,从所述码点像素集合中获取多个目标圆,以根据各所述目标圆的重心,获取与各目标圆一一对应的各标识点;
将各所述标识点之间的平均点距,与各目标圆的平均半径进行比对,确定所述二维码的点间距检测结果;
其中,所述目标颜色为白色或黑色。
根据本申请的一个实施例,确定所述点间距检测结果为所述二维码存在点间粘合,包括:
所述平均点距小于所述平均半径,确定所述点间距检测结果为所述二维码存在点间粘合。
根据本申请的一个实施例,对所述二维码进行形态学处理,获取校正二维码,包括:
对所述二维码进行图像腐蚀,获取所述校正二维码。
根据本申请的一个实施例,对所述校正二维码进行解码,获取解码数据,包括:
对校正二维码进行预处理,获取第一目标二维码;
根据预设纠错码,对所述第一目标二维码进行纠错,获取第二目标二维码;
根据多个开源解码库,对所述第二目标二维码进行解码,获取解码数据。
根据本申请的一个实施例,对校正二维码进行预处理,获取第一目标二维码,包括:
对校正二维码进行预处理,获取初始二维码;
根据所述初始二维码的各顶点坐标,以及理想二维码的源方形域的边长,获取各转换系数;
根据各所述转换系数,对所述初始二维码进行透视转换,获取所述第一目标二维码。
根据本申请的一个实施例,还包括:
确定所述第二目标二维码解码失败,根据预设时刻内获取到的所述二维码的各图像帧,获取与各所述图像帧一一对应的各所述第二目标二维码;
将与各所述图像帧一一对应的各所述第二目标二维码,依次输入训练好的视频超分辨率结构神经网络,获取所述二维码对应的高分辨率校正码;
根据多个开源解码库,对高分辨率校正码进行解码,获取解码数据;
其中,所述视频超分辨率结构神经网络由多个低分辨率的二维码,以及各低分辨率的二维码在高分辨率空间中的预测结果训练得到。
根据本申请第二方面实施例的二维码的解码装置,包括:
间距检测模块,用于对获取到的二维码进行像素点间距测算,获取所述二维码的点间距检测结果;
二维码校验模块,用于确定所述点间距检测结果为所述二维码存在点间粘合,对所述二维码进行形态学处理,获取校正二维码;
二维码解码模块,用于对所述校正二维码进行解码,获取解码数据。
根据本申请第三方面实施例的电子设备,包括处理器和存储有计算机程序的存储器,所述处理器执行所述计算机程序时实现上述任一实施例所述的二维码的解码方法。
根据本申请第四方面实施例的计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施例所述的二维码的解码方法。
根据本申请第五方面实施例的计算机程序产品,包括:所述计算机程序被处理器执行时实现如上述任一实施例所述的二维码的解码方法。
本申请实施例中的上述一个或多个技术方案,至少具有如下技术效果之一:
通过对获取到的二维码进行像素点间距测算,获取二维码的点间距检测结果,并在确定点间距检测结果为二维码存在点间粘合时,对所述二维码进行形态学处理,获取校正二维码后,再对校正二维码进行解码,获取解码数据,从而在对二维码进行解码之前,可先根据二维码的像素点来及时检测二维码的质量,以在二维码的质量存在问题时,先对二维码进行校正,避免因未对二维码进行质量检测和质量校正而导致从二维码中获得的解码数据不够准确,进而提高后续从二维码中获得的解码数据的准确率。
附图说明
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的二维码的解码方法的流程示意图;
图2是本申请实施例中对图1的二维码的解码方法中点间距的检测做进一步细化的流程示意图;
图3是本申请实施例中对图1的二维码的解码方法中校正二维码的解码做进一步细化的流程示意图;
图4是本申请实施例提供的透视转换示意图;
图5是本申请又一实施例提供的二维码的解码方法的流程示意图;
图6是本申请实施例提供的二维码的解码装置的结构示意图;
图7是本申请实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面,将通过几个具体的实施例对本申请实施例提供的二维码的解码方法及装置进行详细介绍和说明。
在一实施例中,提供了一种二维码的解码方法,该方法应用于服务器,用于实现对二维码的解码。其中,服务器可以是独立的服务器或者是多个服务器组成的服务器集群来实现,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能采样点设备等基础云计算服务的云服务器。
如图1所示,本实施例提供的一种二维码的解码方法包括:
步骤101,对获取到的二维码进行像素点间距测算,获取所述二维码的点间距检测结果;
步骤102,确定所述点间距检测结果为所述二维码存在点间粘合,对所述二维码进行形态学处理,获取校正二维码;
步骤103,对所述校正二维码进行解码,获取解码数据。
通过对获取到的二维码进行像素点间距测算,获取二维码的点间距检测结果,并在确定点间距检测结果为二维码存在点间粘合时,对所述二维码进行形态学处理,获取校正二维码后,再对校正二维码进行解码,获取解码数据,从而在对二维码进行解码之前,可先根据二维码的像素点来及时检测二维码的质量,以在二维码的质量存在问题时,先对二维码进行校正,避免因未对二维码进行质量检测和质量校正而导致从二维码中获得的解码数据不够准确,进而能够对获取到的二维码进行质量检测,当获取到二维码质量较差时,可提高对二维码的解码准确率。
在一实施例中,服务器可通过图像捕获设备,如摄像头等获取二维码。而考虑到二维码可能因喷印技术不佳而导致像素点之间粘合,影响后续解码的准确性,因此在获取到二维码后,需先对二维码进行像素点间距测算。其中,像素点间距测算,可以是获取任意两个像素点之间的点距离,然后将该点距离与预设点距离,如0进行比对。若该点距离小于预设点距离,则表示这两个像素点存在点间粘合;否则,表示这两个像素点之间不存在点间粘合。从而通过这种方式,可以获取所有像素点之间的点间距检测结果。
而为提高对二维码的点间距检测的检测效率,同时提高点间距检测的准确性,在一实施例中,如图2所示,对获取到的二维码进行像素点间距测算,获取所述二维码的点间距检测结果,包括:
步骤201,将所述二维码转换为hsv色彩空间;
步骤202,从所述hsv色彩空间中,获取目标颜色的码点像素集合;
步骤203,根据霍夫变换,从所述码点像素集合中获取多个目标圆,以根据各所述目标圆的重心,获取与各目标圆一一对应的各标识点;
步骤204,将各所述标识点之间的平均点距,与各目标圆的平均半径进行比对,确定所述二维码的点间距检测结果;
其中,所述目标颜色为白色或黑色。
在一实施例中,在获取到二维码后,将二维码的图像转换为hsv色彩空间,然后从该hsv色彩空间中,提取白色或黑色的码点像素集合,以及码点像素集合中各像素点的对应坐标。然后,使用霍夫变换检测圆,以从码点像素集合中检测所有的圆作为目标圆,区分码点像素集合中各像素点所属的目标圆。此时每个目标圆中即存在码点像素集合中的子码点像素集合。随后,根据目标圆的子码点像素集合中各像素点的坐标,计算该目标圆的重心,作为该目标圆的标识点。在获取到各目标圆的标识点后,用欧式距离计算点之间点距离,最后再取平均值,得到各标识点之间的平均点距,同时,计算各目标圆的平均半径。在获取到平均点距和平均半径后,即可将平均点距与平均半径进行比对,以确定二维码的点间距检测结果。
其中,若平均点距大于或等于平均半径,则判定本次检测的二维码中不存在粘合点;若平均点距计算小于平均半径,则判定本次检测的二维码中存在大量粘合点,此时可确定点间距检测结果为二维码存在点间粘合。
确定二维码中存在点间粘合时,则对二维码进行形态学处理。具体的,对二维码进行形态学处理,可以是对二维码进行图像腐蚀,这样,二维码中相粘合的部分可能会断开,从而实现校正的目的。
在对二维码进行进行形态学处理,获取校正二维码后,即可对校正二维码进行解码,来获取解码数据。
而为进一步提高获取到的解码数据的准确性,在一实施例中,如图3所示,对所述校正二维码进行解码,获取解码数据,包括:
步骤301,对校正二维码进行预处理,获取第一目标二维码;
步骤302,根据预设纠错码,对所述第一目标二维码进行纠错,获取第二目标二维码;
步骤303,根据多个开源解码库,对所述第二目标二维码进行解码,获取解码数据。
考虑到物理环境的限制,噪声和各种类型的失真在捕获的二维码的图像中是不可避免的。因此,为提高后续对二维码的识别的准确性与可靠性,可先对二维码进行预处理。具体的,对二维码的预处理,可以是对二维码依次进行灰度化、高斯滤波、二值化以及直方图均衡化处理,以通过级联处理的方式,使经过预处理的二维码能够更好地减少失真和噪声,从而进一步提高二维码的解码准确率。
具体的,对二维码进行灰度化处理,可以是获取二维码中每个像素点的RGB分量,然后根据每个像素点的RGB分量,计算R、G、B这三个分量的平均值,然后将获取到的平均值分配给灰度值,从而将二维码通过该灰度值进行灰度化处理,转换为目标二维码。
其中,(x,y)表示二维码的任一像素点的以二维码的中心点为坐标原点的坐标值,σ为标准差。
在通过高斯滤波对二维码进行处理后,即可对二维码进行二值化。具体的,对二维码进行二值化,可以是预先设定一个预设阈值T,然后对于高斯滤波后的二维码中,对于某一个像素点P(x,y)的像素值有:
其中,Psrc(x,y)表示像素点(x,y)灰度化后的灰度值,P(x,y)表示像素点(x,y)二值化后的值。
在对二维码进行二值化后,还可以通过直方图均衡化的方式对二维码进行预处理。具体的,对二维码进行直方图均衡化,可以是对二值化后的二维码进行非线性拉伸,重新分配二维码的像素值,使一定灰度范围内的像素数量大致相同。
在一实施例中,在对二维码依次进行灰度化、高斯滤波、二值化以及直方图均衡化后,还可以调整直方图均衡化后的二维码的图像对比度。
其中,图像对比度的调整模型为:
Out = Average + (In – Average) * ( 1 + percent)
其中In表示二维码中各像素的原始像素点亮度,Average表示整张二维码的平均亮度,Out表示调整后的亮度,percent表示调整范围[-1,1]。
在对二维码进行图像对比度调整后,即可将调整后的二维码作为第一目标二维码。考虑到获取到的二维码可能存在条形扭曲,此时经过预处理后的目标二维码也会依旧存在条形扭曲,影响解码的准确率。因此,为进一步提高解码的准确率,在一实施例中,对校正二维码进行预处理,获取第一目标二维码,包括:
对校正二维码进行预处理,获取初始二维码;
根据所述初始二维码的各顶点坐标,以及理想二维码的源方形域的边长,获取各转换系数;
根据各所述转换系数,对所述初始二维码进行透视转换,获取所述第一目标二维码。
在一实施例中,在对二维码进行预处理后,即可将经过预处理的二维码标记为初始二维码。然后,获取初始二维码的4个顶点坐标,以进行透视转换。如图4所示,假设获取到初始二维码的4个顶点P1、P2、P3和P4的顶点坐标,就可以设置从表示理想二维码的源方形域,到表示初始二维码中真实数据矩阵代码的四边形目标的透视变换。具体的,假设P1在理想二维码的源方形域中的坐标为(x1,y1),P2在理想二维码的源方形域中的坐标为(x2,y2),P3在理想二维码的源方形域中的坐标为(x3,y3),P4在理想二维码的源方形域中的坐标为(x4,y4),则可使用以下等式,确定初始二维码的透视转换后的结果:
其中,当x,y为x1,y1时,u’,v’为u’1,v’1,即此时透视转换后的顶点P1为P(u’1,v’1)。同理,当x,y为x2,y2时,u’,v’为u’2,v’2;当x,y为x3,y3时,u’,v’为u’3,v’3;当x,y为x4,y4时,u’,v’为u’4,v’4。
各转换系数a、b、c、d、e、f、g、h可以根据四个顶点 P1(u1,v1)、P2(u2,v2)、P3(u3,v3)、P4(u4,v4) 的顶点坐标和理想DataMatrix码的源方形域的边长计算得到,具体的:
在对初始二维码进行透视转换后,即可得到第一目标二维码。
而考虑到在二维码解码过程中,可能会因为图像失真或不恰当的二值化而获得一些错误信息,而由于Reed-Solomon码具有很强的纠错能力,因此可以采用Reed-Solomon码来来恢复错误的数据,实现纠错码的功能。具体的,在获取到目标二维码后,先将从第一目标二维码中接收到的消息视为多项式S(x)的系数:
其中,ri表示接收到的消息位于位置i,因此,这些综合征:
被定义为:
其中,2t等于可用于纠错的码字数,并且α是伽罗瓦字段上的基本元素。综合征多项式定义为:
计算综合征多项式后,使用欧几里得算法构建误差定位器多项式和误差评估器多项式。误差定位器多项式可用于查找误差位置,误差赋值器多项式用于查找误差值。其中,欧几里得算法基于:
最后,我们可以使用欧几里得算法生成误差定位器多项式和误差评估器多项式。
为了求解误差值,选择了 Forney 的算法。里德所罗门码的错误值计算公式为:
在获取到第二目标二维码后,即可根据多个开源解码库,如结合zxing库和libdmtx库,对第二目标二维码进行解码识别,从而获取第二目标二维码的解码数据。
考虑到在通过多个开源解码库对校正二维码进行解码时,可能由于校正二维码的分辨率不足,导致对二维码的识别失败。因此,为确保能够对二维码进行解码,在一实施例中,如图5所示,还包括:
步骤104,确定所述第二目标二维码解码失败,根据预设时刻内获取到的所述二维码的各图像帧,获取与各所述图像帧一一对应的各所述第二目标二维码;
步骤105,将与各所述图像帧一一对应的各所述第二目标二维码,依次输入训练好的视频超分辨率结构神经网络,获取所述二维码对应的高分辨率校正码;
步骤106,根据多个开源解码库,对高分辨率校正码进行解码,获取解码数据;
其中,所述视频超分辨率结构神经网络由多个低分辨率的二维码,以及各低分辨率的二维码在高分辨率空间中的预测结果训练得到。
当第二目标二维码解码失败时,可通过摄像头获取二维码在预设时刻内的各图像帧,然后对各图像帧通过上述步骤进行处理,获取第二目标二维码的各图像帧,然后将这些第二目标二维码的各图像帧依次输入训练好的视频超分辨率结构神经网络,以从该视频超分辨率结构神经网络获取第二目标二维码对应的高分辨率校正码。在获取到高分辨率校正码后,再根据多个开源解码库,对高分辨率校正码进行解码,以获取解码数据。
其中,所述视频超分辨率结构神经网络由多个低分辨率的二维码,以及各低分辨率的二维码在高分辨率空间中的预测结果训练得到。具体的,视频超分辨率结构神经网络(ETDM)是一个基于单向结构的循环卷积网络,即隐层特征只采用正向的传播方式。在训练过程中,对于每个时刻,网络的输入分为两个层面:一个是低分辨率空间下的图像序列(前一帧_I{t-1}_、当前帧_I{t}和后一帧_I{t+1});另一个是高分辨率空间下的预测结果。通过将低分辨率空间下的图像序列与对应的高分辨率空间下的预测结果,输入视频超分辨率结构神经网络进行训练,以在训练至视频超分辨率结构神经网络能够确定不同图像序列在高分辨率空间下的预测结果时,完成视频超分辨率结构神经网络的训练,进而能够在后续应用中,预测第二目标二维码对应的高分辨率校正码。
其中,ETDM的核心是提出用相邻帧的差分图来统一这两个层面下的时序建模方式。这里定义当前帧为参考帧,时间差分图为参考帧与相邻帧的差,它既可以表示为前后帧图像的像素变化差异,也可以被认为是参考帧到邻近帧的转换“桥梁”。图像超分辨率重建关注的是恢复图像中丢失的细节,即高频信息。
下面对本申请提供的二维码的解码装置进行描述,下文描述的二维码的解码装置与上文描述的二维码的解码方法可相互对应参照。
在一实施例中,如图6所示,提供了一种二维码的解码装置,包括:
间距检测模块210,用于对获取到的二维码进行像素点间距测算,获取所述二维码的点间距检测结果;
二维码校验模块220,用于确定所述点间距检测结果为所述二维码存在点间粘合,对所述二维码进行形态学处理,获取校正二维码;
二维码解码模块230,用于对所述校正二维码进行解码,获取解码数据。
通过对获取到的二维码进行像素点间距测算,获取二维码的点间距检测结果,并在确定点间距检测结果为二维码存在点间粘合时,对所述二维码进行形态学处理,获取校正二维码后,再对校正二维码进行解码,获取解码数据,从而在对二维码进行解码之前,可先根据二维码的像素点来及时检测二维码的质量,以在二维码的质量存在问题时,先对二维码进行校正,避免因未对二维码进行质量检测和质量校正而导致从二维码中获得的解码数据不够准确,进而提高后续从二维码中获得的解码数据的准确率。
在一实施例中,间距检测模块210具体用于:
将所述二维码转换为hsv色彩空间;
从所述hsv色彩空间中,获取目标颜色的码点像素集合;
根据霍夫变换,从所述码点像素集合中获取多个目标圆,以根据各所述目标圆的重心,获取与各目标圆一一对应的各标识点;
将各所述标识点之间的平均点距,与各目标圆的平均半径进行比对,确定所述二维码的点间距检测结果;
其中,所述目标颜色为白色或黑色。
在一实施例中,二维码校验模块220具体用于:
所述平均点距小于所述平均半径,确定所述点间距检测结果为所述二维码存在点间粘合。
在一实施例中,二维码校验模块220具体用于:
对所述二维码进行图像腐蚀,获取所述校正二维码。
在一实施例中,二维码解码模块230具体用于:
对校正二维码进行预处理,获取第一目标二维码;
根据预设纠错码,对所述第一目标二维码进行纠错,获取第二目标二维码;
根据多个开源解码库,对所述第二目标二维码进行解码,获取解码数据。
在一实施例中,二维码解码模块230具体用于:
对校正二维码进行预处理,获取初始二维码;
根据所述初始二维码的各顶点坐标,以及理想二维码的源方形域的边长,获取各转换系数;
根据各所述转换系数,对所述初始二维码进行透视转换,获取所述第一目标二维码。
在一实施例中,二维码解码模块230还用于:
确定所述第二目标二维码解码失败,根据预设时刻内获取到的所述二维码的各图像帧,获取与各所述图像帧一一对应的各所述第二目标二维码;
将与各所述图像帧一一对应的各所述第二目标二维码,依次输入训练好的视频超分辨率结构神经网络,获取所述二维码对应的高分辨率校正码;
根据多个开源解码库,对高分辨率校正码进行解码,获取解码数据;
其中,所述视频超分辨率结构神经网络由多个低分辨率的二维码,以及各低分辨率的二维码在高分辨率空间中的预测结果训练得到。
图7示例了一种电子设备的实体结构示意图,如图7所示,该电子设备可以包括:处理器(processor)810、通信接口(Communication Interface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的计算机程序,以执行二维码的解码方法,例如包括:
对获取到的二维码进行像素点间距测算,获取所述二维码的点间距检测结果;
确定所述点间距检测结果为所述二维码存在点间粘合,对所述二维码进行形态学处理,获取校正二维码;
对所述校正二维码进行解码,获取解码数据。
此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本申请实施例还提供一种存储介质,存储介质包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,计算机程序被处理器执行时,计算机能够执行上述各实施例所提供的二维码的解码方法,例如包括:
对获取到的二维码进行像素点间距测算,获取所述二维码的点间距检测结果;
确定所述点间距检测结果为所述二维码存在点间粘合,对所述二维码进行形态学处理,获取校正二维码;
对所述校正二维码进行解码,获取解码数据。
另一方面,本申请实施例还提供一种处理器可读存储介质,处理器可读存储介质存储有计算机程序,计算机程序用于使处理器执行上述各实施例提供的方法,例如包括:
对获取到的二维码进行像素点间距测算,获取所述二维码的点间距检测结果;
确定所述点间距检测结果为所述二维码存在点间粘合,对所述二维码进行形态学处理,获取校正二维码;
对所述校正二维码进行解码,获取解码数据。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (9)
1.一种二维码的解码方法,其特征在于,包括:
对获取到的二维码进行像素点间距测算,获取所述二维码的点间距检测结果;
确定所述点间距检测结果为所述二维码存在点间粘合,对所述二维码进行形态学处理,获取校正二维码;
对所述校正二维码进行解码,获取解码数据;
对获取到的二维码进行像素点间距测算,获取所述二维码的点间距检测结果,包括:
将所述二维码转换为hsv色彩空间;
从所述hsv色彩空间中,获取目标颜色的码点像素集合;
根据霍夫变换,从所述码点像素集合中获取多个目标圆,以根据各所述目标圆的重心,获取与各目标圆一一对应的各标识点;
将各所述标识点之间的平均点距,与各目标圆的平均半径进行比对,确定所述二维码的点间距检测结果;
其中,所述目标颜色为白色或黑色,所述目标圆的重心根据所述码点像素集合中,属于所述目标圆的各像素点的坐标确定。
2.根据权利要求1所述的二维码的解码方法,其特征在于,确定所述点间距检测结果为所述二维码存在点间粘合,包括:
所述平均点距小于所述平均半径,确定所述点间距检测结果为所述二维码存在点间粘合。
3.根据权利要求1所述的二维码的解码方法,其特征在于,对所述二维码进行形态学处理,获取校正二维码,包括:
对所述二维码进行图像腐蚀,获取所述校正二维码。
4.根据权利要求1-3任意一项所述的二维码的解码方法,其特征在于,对所述校正二维码进行解码,获取解码数据,包括:
对校正二维码进行预处理,获取第一目标二维码;
根据预设纠错码,对所述第一目标二维码进行纠错,获取第二目标二维码;
根据多个开源解码库,对所述第二目标二维码进行解码,获取解码数据。
5.根据权利要求4所述的二维码的解码方法,其特征在于,对校正二维码进行预处理,获取第一目标二维码,包括:
对校正二维码进行预处理,获取初始二维码;
根据所述初始二维码的各顶点坐标,以及理想二维码的源方形域的边长,获取各转换系数;
根据各所述转换系数,对所述初始二维码进行透视转换,获取所述第一目标二维码。
6.根据权利要求4所述的二维码的解码方法,其特征在于,还包括:
确定所述第二目标二维码解码失败,根据预设时刻内获取到的所述二维码的各图像帧,获取与各所述图像帧一一对应的各所述第二目标二维码;
将与各所述图像帧一一对应的各所述第二目标二维码,依次输入训练好的视频超分辨率结构神经网络,获取所述二维码对应的高分辨率校正码;
根据多个开源解码库,对高分辨率校正码进行解码,获取解码数据;
其中,所述视频超分辨率结构神经网络由多个低分辨率的二维码,以及各低分辨率的二维码在高分辨率空间中的预测结果训练得到。
7.一种二维码的解码装置,其特征在于,包括:
间距检测模块,用于对获取到的二维码进行像素点间距测算,获取所述二维码的点间距检测结果;
二维码校验模块,用于确定所述点间距检测结果为所述二维码存在点间粘合,对所述二维码进行形态学处理,获取校正二维码;
二维码解码模块,用于对所述校正二维码进行解码,获取解码数据;
所述间距检测模块具体用于:
将所述二维码转换为hsv色彩空间;
从所述hsv色彩空间中,获取目标颜色的码点像素集合;
根据霍夫变换,从所述码点像素集合中获取多个目标圆,以根据各所述目标圆的重心,获取与各目标圆一一对应的各标识点;
将各所述标识点之间的平均点距,与各目标圆的平均半径进行比对,确定所述二维码的点间距检测结果;
其中,所述目标颜色为白色或黑色,所述目标圆的重心根据所述码点像素集合中,属于所述目标圆的各像素点的坐标确定。
8.一种电子设备,包括处理器和存储有计算机程序的存储器,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6任一项所述的二维码的解码方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6任一项所述的二维码的解码方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310148328.7A CN115936037B (zh) | 2023-02-22 | 2023-02-22 | 二维码的解码方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310148328.7A CN115936037B (zh) | 2023-02-22 | 2023-02-22 | 二维码的解码方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115936037A CN115936037A (zh) | 2023-04-07 |
CN115936037B true CN115936037B (zh) | 2023-05-30 |
Family
ID=85823830
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310148328.7A Active CN115936037B (zh) | 2023-02-22 | 2023-02-22 | 二维码的解码方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115936037B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110032907A (zh) * | 2019-04-15 | 2019-07-19 | 苏州国芯科技股份有限公司 | 一种二维码识别方法、系统及电子设备和存储介质 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7571864B2 (en) * | 2005-12-16 | 2009-08-11 | Pisafe, Inc. | Method and system for creating and using barcodes |
CN102346850B (zh) * | 2011-10-13 | 2013-08-14 | 西北工业大学 | 复杂金属背景下DataMatrix条码区域定位方法 |
KR101991496B1 (ko) * | 2014-02-04 | 2019-06-20 | 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. | 허프 프로세서 |
CN107748855B (zh) * | 2017-08-29 | 2021-01-08 | 广东顺德中山大学卡内基梅隆大学国际联合研究院 | 一种二维码寻像图形的检测方法 |
CN112187284A (zh) * | 2019-07-05 | 2021-01-05 | 杭州海康机器人技术有限公司 | 编码方法、编码图形、编码图形读取方法和拍摄装置 |
CN111604909A (zh) * | 2020-06-24 | 2020-09-01 | 辽宁工业大学 | 一种四轴工业码垛机器人的视觉系统 |
CN112580381A (zh) * | 2020-12-23 | 2021-03-30 | 成都数之联科技有限公司 | 一种基于深度学习的二维码超辨率重构增强方法及系统 |
CN112991517B (zh) * | 2021-03-08 | 2022-04-29 | 武汉大学 | 一种纹理影像编解码自动匹配的三维重建方法 |
CN113177959B (zh) * | 2021-05-21 | 2022-05-03 | 广州普华灵动机器人技术有限公司 | 一种快速运动过程中qr码实时提取方法 |
US11265455B1 (en) * | 2021-06-30 | 2022-03-01 | Zebra Technologies Corporation | Method of differentiating between focus drift and a change in distance to target for variable focus lens |
CN114897000A (zh) * | 2022-05-20 | 2022-08-12 | 成都航天思睿信息技术有限公司 | 环形二维码定位位置探测生成及识别方法 |
CN115511031A (zh) * | 2022-09-30 | 2022-12-23 | 三维码(厦门)网络科技有限公司 | 一种扩容二维码、三维码解码方法、系统、设备和介质 |
-
2023
- 2023-02-22 CN CN202310148328.7A patent/CN115936037B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110032907A (zh) * | 2019-04-15 | 2019-07-19 | 苏州国芯科技股份有限公司 | 一种二维码识别方法、系统及电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115936037A (zh) | 2023-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105069394B (zh) | 二维码加权平均灰度法解码方法及系统 | |
CN108256562B (zh) | 基于弱监督时空级联神经网络的显著目标检测方法及系统 | |
CN110827247B (zh) | 一种识别标签的方法及设备 | |
CN112560861B (zh) | 票据处理方法、装置、设备及存储介质 | |
CN111222513B (zh) | 车牌号码识别方法、装置、电子设备及存储介质 | |
CN109118473B (zh) | 基于神经网络的角点检测方法、存储介质与图像处理系统 | |
TW201719505A (zh) | 從成像檔案擷取正文之方法、設備以及有形電腦可讀儲存媒體 | |
CN111652233B (zh) | 一种针对复杂背景的文本验证码自动识别方法 | |
CN111680690B (zh) | 一种文字识别方法及装置 | |
CN109344820B (zh) | 基于计算机视觉和深度学习的数字式电表读数识别方法 | |
CN114333338A (zh) | 一种车牌辨识系统与方法 | |
CN111784624A (zh) | 目标检测方法、装置、设备及计算机可读存储介质 | |
CN115116074A (zh) | 一种手写体文字识别、及模型训练方法和装置 | |
CN113111674A (zh) | Aztec码定位与解码方法、系统、设备及存储介质 | |
US20230245483A1 (en) | Handwriting recognition method and apparatus, and electronic device and storage medium | |
CN114417904A (zh) | 一种基于深度学习的条形码识别方法及图书检索系统 | |
KR20190098996A (ko) | 원거리 고밀도 시각적 마커의 검출 및 인식 방법 | |
CN113780492A (zh) | 一种二维码二值化方法、装置、设备及可读存储介质 | |
CN115880683A (zh) | 一种基于深度学习的城市内涝积水智能水位检测方法 | |
CN111274863A (zh) | 一种基于文本山峰概率密度的文本预测方法 | |
CN115936037B (zh) | 二维码的解码方法及装置 | |
CN113468905A (zh) | 图形码识别方法、装置、计算机设备和存储介质 | |
CN117474771A (zh) | 一种二维码识别的方法、装置及设备 | |
CN117132552A (zh) | 标识码图像质量评价方法、装置、设备及存储介质 | |
CN111178111A (zh) | 二维码检测方法、电子设备、存储介质及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 266000 Room 501, tower a, Haier International Plaza, No. 939, Zhenwu Road, Jimo Economic Development Zone, Qingdao, Shandong Patentee after: Innovation Qizhi Technology Group Co.,Ltd. Country or region after: China Address before: 266000 Room 501, tower a, Haier International Plaza, No. 939, Zhenwu Road, Jimo Economic Development Zone, Qingdao, Shandong Patentee before: Qingdao Chuangxin Qizhi Technology Group Co.,Ltd. Country or region before: China |
|
CP03 | Change of name, title or address |