CN115906898A - DataMatrix码的解码方法及装置 - Google Patents
DataMatrix码的解码方法及装置 Download PDFInfo
- Publication number
- CN115906898A CN115906898A CN202310154183.1A CN202310154183A CN115906898A CN 115906898 A CN115906898 A CN 115906898A CN 202310154183 A CN202310154183 A CN 202310154183A CN 115906898 A CN115906898 A CN 115906898A
- Authority
- CN
- China
- Prior art keywords
- datamatrix code
- code
- datamatrix
- decoding
- target
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000007781 pre-processing Methods 0.000 claims abstract description 25
- 238000012937 correction Methods 0.000 claims description 32
- 238000004590 computer program Methods 0.000 claims description 16
- 238000006243 chemical reaction Methods 0.000 claims description 15
- 208000011580 syndromic disease Diseases 0.000 claims description 11
- 238000001914 filtration Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 9
- 239000011159 matrix material Substances 0.000 description 8
- 238000013528 artificial neural network Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 230000009466 transformation Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 125000004122 cyclic group Chemical group 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 235000014676 Phragmites communis Nutrition 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Landscapes
- Image Processing (AREA)
Abstract
本申请涉及图像识别技术领域,提供一种DataMatrix码的解码方法及装置。所述方法包括:对DataMatrix码进行预处理,获取目标DataMatrix码;根据预设纠错码,对所述目标DataMatrix码进行校正,获取校正DataMatrix码;根据多个开源解码库,对校正DataMatrix码进行解码,获取解码数据。本申请实施例提供的DataMatrix码的解码方法能够提高对DataMatrix码的解码准确率。
Description
技术领域
本申请涉及图像识别技术领域,具体涉及一种DataMatrix码的解码方法及装置。
背景技术
二维(2D)矩阵码的普及和使用正在增长,它们在生活中的许多领域取代传统的线性一维条形码。传统的二维码类型通常包括DataMatrix码Maxi Code、Aztec和QR Code等,而在用于标记电子元件等小物件时,通常采用DataMatrix码,因为其只需要更少的空间就可以编码相同数量的数据。
相关技术中,DataMatrix码的解码方式,可采用将DataMatrix码的数据区域从图像域转换为二进制矩阵进行解码。但这种解码方式,对获取到的二维码的图像质量要求较高,在二维码的图像质量较差时无法确保解码的准确率。
发明内容
本申请旨在至少解决相关技术中存在的技术问题之一。为此,本申请提出一种DataMatrix码的解码方法,能够提高对DataMatrix码的解码准确率。
本申请还提出一种DataMatrix码的解码装置。
本申请还提出一种电子设备。
本申请还提出一种计算机可读存储介质。
根据本申请第一方面实施例的DataMatrix码的解码方法,包括:
对DataMatrix码进行预处理,获取目标DataMatrix码;
根据预设纠错码,对所述目标DataMatrix码进行校正,获取校正DataMatrix码;
根据多个开源解码库,对校正DataMatrix码进行解码,获取解码数据。
本申请实施例提供的DataMatrix码的解码方法,通过将预处理后的目标DataMatrix码根据预设纠错码进行校正,获取校正DataMatrix码后,利用多个开源解码库,来对校正DataMatrix码进行解码,以获取解码数据,从而利用纠错码来对DataMatrix二维码进行校正,使DataMatrix码即使部分损坏,也可通过纠错码来恢复错误的数据,进而提高了DataMatrix码的图像质量,方便后续对DataMatrix码进行解码。且由于是通过多个开源解码库来对高图像质量的DataMatrix码进行解码,因此能够准确高效地识别DataMatrix码的内容,进而提高了DataMatrix码的解码准确率和解码效率。
根据本申请的一个实施例,对DataMatrix码进行预处理,获取目标DataMatrix码,包括:
对DataMatrix码进行预处理,获取初始DataMatrix码;
对所述初始DataMatrix码进行条码校正,获取所述目标DataMatrix码。
根据本申请的一个实施例,对所述初始DataMatrix码进行条码校正,获取所述目标DataMatrix码,包括:
获取所述初始DataMatrix码的各顶点的顶点坐标;
根据各所述顶点坐标和理想DataMatrix码的源方形域的边长,获取各转换系数;
根据各所述转换系数,对所述初始DataMatrix码进行透视转换,获取所述目标DataMatrix码。
根据本申请的一个实施例,根据预设纠错码,对所述目标DataMatrix码进行校正,获取校正DataMatrix码,包括:
根据所述预设纠错码,确定所述目标DataMatrix码的综合征多项式;
将所述综合征多项式根据欧几里得算法,构建误差***多项式和误差评估器多项式,以根据所述误差***多项式和误差评估器多项式,确定所述目标DataMatrix码的校正值;
根据所述校正值对所述目标DataMatrix码进行校正,获取校正DataMatrix码。
根据本申请的一个实施例,对DataMatrix码进行预处理,包括:
对所述DataMatrix码依次进行灰度化、高斯滤波、二值化以及直方图均衡化。
根据本申请的一个实施例,还包括:
调整所述直方图均衡化后的DataMatrix码的图像对比度。
根据本申请的一个实施例,各所述开源解码库包括zxing库和libdmtx库。
根据本申请第二方面实施例的DataMatrix码的解码装置,包括:
二维码处理模块,用于对DataMatrix码进行预处理,获取目标DataMatrix码;
二维码校正模块,用于根据预设纠错码,对所述目标DataMatrix码进行校正,获取校正DataMatrix码;
二维码解码模块,用于根据多个开源解码库,对校正DataMatrix码进行解码,获取解码数据;
其中,各所述开源解码库包括zxing库和labdmtx库。
根据本申请第三方面实施例的电子设备,包括处理器和存储有计算机程序的存储器,所述处理器执行所述计算机程序时实现上述任一实施例所述的DataMatrix码的解码方法。
根据本申请第四方面实施例的计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施例所述的DataMatrix码的解码方法。
根据本申请第五方面实施例的计算机程序产品,包括:所述计算机程序被处理器执行时实现如上述任一实施例所述的DataMatrix码的解码方法。
本申请实施例中的上述一个或多个技术方案,至少具有如下技术效果之一:
通过将预处理后的目标DataMatrix码根据预设纠错码进行校正,获取校正DataMatrix码后,利用多个开源解码库,来对校正DataMatrix码进行解码,以获取解码数据,从而利用纠错码来对DataMatrix二维码进行校正,使DataMatrix码即使部分损坏,也可通过纠错码来恢复错误的数据,进而提高了DataMatrix码的图像质量,方便后续对DataMatrix码进行解码。且由于是通过多个开源解码库来对高图像质量的DataMatrix码进行解码,因此能够准确高效地识别DataMatrix码的内容,进而提高了DataMatrix码的解码准确率和解码效率。
附图说明
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的DataMatrix码的解码方法的流程示意图;
图2是本申请实施例中对图1的DataMatrix码的解码方法中目标DataMatrix码的获取做进一步细化的流程示意图;
图3是本申请实施例提供的透视转换示意图;
图4是本申请实施例中对图1的DataMatrix码的解码方法中校正DataMatrix码的获取做进一步细化的流程示意图;
图5是本申请实施例提供的DataMatrix码的解码装置的结构示意图;
图6是本申请实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面,将通过几个具体的实施例对本申请实施例提供的DataMatrix码的解码方法及装置进行详细介绍和说明。
在一实施例中,提供了一种DataMatrix码的解码方法,该方法应用于服务器,用于实现对DataMatrix码的解码。其中,服务器可以是独立的服务器或者是多个服务器组成的服务器集群来实现,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能采样点设备等基础云计算服务的云服务器。
如图1所示,本实施例提供的一种DataMatrix码的解码方法包括:
步骤101,对DataMatrix码进行预处理,获取目标DataMatrix码;
步骤102,根据预设纠错码,对所述目标DataMatrix码进行校正,获取校正DataMatrix码;
步骤103,根据多个开源解码库,对校正DataMatrix码进行解码,获取解码数据。
通过将预处理后的目标DataMatrix码根据预设纠错码进行校正,获取校正DataMatrix码后,利用多个开源解码库,来对校正DataMatrix码进行解码,以获取解码数据,从而利用纠错码来对DataMatrix二维码进行校正,使DataMatrix码即使部分损坏,也可通过纠错码来恢复错误的数据,进而提高了DataMatrix码的图像质量,方便后续对DataMatrix码进行解码。且由于是通过多个开源解码库来对高图像质量的DataMatrix码进行解码,因此能够准确高效地识别DataMatrix码的内容,进而提高了DataMatrix码的解码准确率和解码效率。
在一实施例中,可通过图像捕获设备,如摄像头等获取DataMatrix码。而考虑到物理环境的限制,噪声和各种类型的失真在捕获的DataMatrix码的图像中是不可避免的。因此,为提高后续对DataMatrix码的识别的准确性与可靠性,可先对DataMatrix码进行预处理。其中,由于几乎所有通过图像捕获设备获取到的二维DataMatrix码的图像都是彩色图像,而由于图像是由像素点组成,每个点是由RGB三个分量组成的,范围均为0~255,因此只有在将图片灰度化之后才能进行一系列的单数值的变换。因此预处理可以是对DataMatrix码进行灰度化处理,使其转换为灰色图像,从而将该灰色图像作为目标DataMatrix码。
具体的,对DataMatrix码进行灰度化处理,可以是获取DataMatrix码中每个像素点的RGB分量,然后根据每个像素点的RGB分量,计算R、G、B这三个分量的平均值,然后将获取到的平均值分配给灰度值,从而将DataMatrix码通过该灰度值进行灰度化处理,转换为目标DataMatrix码。
除根据每个像素点的RGB分量的平均值确定灰度值外,考虑到人眼对不同颜色的敏感程度,如对绿色最敏感,因此通过设置不同的加权系数对R、G、B这三个分量的平均值进行加权,再根据加权后得到的数值分配给灰度值后,再将DataMatrix码通过该灰度值进行灰度化处理,转换为目标DataMatrix码。
或者,还可以采用最大值法来确定灰度值,如计算R、G、B这三个分量相加的最大值,然后将此值分配给灰度值后,再将DataMatrix码通过该灰度值进行灰度化处理,转换为目标DataMatrix码。
而考虑到DataMatrix码中受物理环境影响,可能会存在一些噪声,因此预处理还可以是对DataMatrix码采用高斯滤波进行预处理。其中,高斯滤波是一种滤波方法,其对DataMatrix码的滤波方式可以为:
;
其中,(x,y)表示DataMatrix码的任一像素点的以DataMatrix码的中心点为坐标原点的坐标值,σ为标准差。当σ小于预设值时,生成的高斯模板中心的系数比较大,而周围的系数比较小,这样对图像的平滑效果不明显。而当σ大于预设值时,生成的高斯模板的各个系数相差就不是很大,比较类似于均值模板,对DataMatrix码的平滑效果比较明显。因此,高斯滤波最主要的作用是滤除DataMatrix码的高斯噪声,即符合正态分布的噪声。
而为减少后续对DataMatrix码进行解码时所需要处理的数据量,以提高解码效率,在一实施例中,预处理还可以是对DataMatrix码进行二值化。其中,二值化是将DataMatrix码的图像上的像素点的灰度值设置为0或255,也就是将整个DataMatrix码呈现出明显的黑白效果的过程。具体的,对DataMatrix码进行二值化,可以是预先设定一个预设阈值T,然后对于灰度化后的DataMatrix码中,对于某一个像素点P(x,y)的像素值有:
;
其中,Psrc(x,y)表示像素点(x,y)灰度化后的灰度值,P(x,y)表示像素点(x,y)二值化后的值。当像素点(x,y)灰度化后的灰度值,小于或等于预设阈值T时,像素点(x,y)二值化后的值为0;否则,像素点(x,y)二值化后的值为255。
而通过在对DataMatrix码进行灰度化处理后,再对其进行二值化,以得到目标DataMatrix码,从而使目标DataMatrix码变得简单,而且数据量减小,能凸显出感兴趣的目标的轮廓。
此外,对DataMatrix码进行预处理,还可以通过直方图均衡化的方式对DataMatrix码进行预处理。其中,直方图均衡用于进行图像的对比增强,是一种间接增强对比度的方法。
具体的,对DataMatrix码进行直方图均衡化,可以是对灰度化后的DataMatrix码进行非线性拉伸,重新分配DataMatrix码的像素值,使一定灰度范围内的像素数量大致相同。
而为使DataMatrix码的预处理效果更好,以进一步提高DataMatrix码的解码准确率,在一实施例中,对DataMatrix码进行预处理,可以是对DataMatrix码依次进行灰度化、高斯滤波、二值化以及直方图均衡化处理,以通过级联处理的方式,使经过预处理的DataMatrix码能够更好地减少失真和噪声,从而进一步提高DataMatrix码的解码准确率。
考虑到图像的对比度也会对识别结果造成影响,因此为进一步提高DataMatrix码的解码准确率,在一实施例中,在对DataMatrix码依次进行灰度化、高斯滤波、二值化以及直方图均衡化后,还可以调整直方图均衡化后的DataMatrix码的图像对比度。
其中,图像对比度指的是一幅图像中明暗区域最亮的白和最暗的黑之间不同亮度层级的测量,差异范围越大代表对比越大,对比度反映了图片上亮区域和暗区域的层次感。而反应到DataMatrix码的图像编辑上,调整对比度就是在保证平均亮度不变的情况下,扩大或缩小亮的点和暗的点的差异。既然是要保证平均亮度不变,所以对每个点的调整比例必须作用在该值和平均亮度的差值之上,这样才能够保证计算后的平均亮度不变,故有调整公式:
Out = Average + (In – Average) * ( 1 + percent)
其中In表示DataMatrix码中各像素的原始像素点亮度,Average表示整张DataMatrix码的平均亮度,Out表示调整后的亮度,percent表示调整范围[-1,1]。
在对DataMatrix码进行图像对比度调整后,即可将调整后的DataMatrix码作为目标DataMatrix码。然而,由于DataMatrix码可能由于拍摄角度或物理环境的因素而出现条形扭曲的情况,而预处理主要是对DataMatrix码的像素点的像素值进行调整,无法进行图形纠正,这导致若获取到的DataMatrix码存在条形扭曲,经过预处理后的目标DataMatrix码也会依旧存在条形扭曲,影响解码的准确率。
为此,在一实施例中,如图2所示,对DataMatrix码进行预处理,获取目标DataMatrix码,包括:
步骤201,对DataMatrix码进行预处理,获取初始DataMatrix码;
步骤202,对所述初始DataMatrix码进行条码校正,获取所述目标DataMatrix码。
在一实施例中,在对DataMatrix码进行预处理后,即可将经过预处理的DataMatrix码标记为初始DataMatrix码。然后,通过预设的空间变换算法,如透视转换,来对初始DataMatrix码进行空间变换,以实现对初始DataMatrix码的条码校正,从而将校正后的初始DataMatrix码作为目标DataMatrix码。
为得到精度更好的目标DataMatrix码,在一实施例中,对所述初始DataMatrix码进行条码校正,获取所述目标DataMatrix码,包括:
获取所述初始DataMatrix码的各顶点的第一顶点坐标;
根据各所述顶点坐标和理想DataMatrix码的源方形域的边长,获取各转换系数;
根据各所述转换系数,对所述初始DataMatrix码进行透视转换,获取所述目标DataMatrix码。
在一实施例中,如图3所示,假设获取到初始DataMatrix码的4个顶点P1、P2、P3和P4的顶点坐标,就可以设置从表示理想DataMatrix码的源方形域,到表示初始DataMatrix码中真实数据矩阵代码的四边形目标的透视变换。具体的,假设P1在理想DataMatrix码的源方形域中的坐标为(x1,y1),P2在理想DataMatrix码的源方形域中的坐标为(x2,y2),P3在理想DataMatrix码的源方形域中的坐标为(x3,y3),P4在理想DataMatrix码的源方形域中的坐标为(x4,y4),则可使用以下等式,确定初始DataMatrix码的透视转换后的结果:
;
其中,当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码的源方形域的边长计算得到,具体的:
在对初始DataMatrix码进行透视转换后,即可得到目标DataMatrix码。
在获取到目标DataMatrix码后,由于目标DataMatrix码既可以在水平方向上,也可以垂直方向上表示信息,因此充分利用了大大增加信息密度的二维平面,并在小面积上对大数据进行编码。但是,在DataMatrix码的使用过程中难免会遇到部分数据丢失或者受到干扰而出错的情况,因此可利用预设纠错码,如非二元循环纠错码来对目标DataMatrix码进行校正。
为使对对目标DataMatrix码的校正结果更为准确,在一实施例中,如图4所示,根据预设纠错码,对所述目标DataMatrix码进行校正,获取校正DataMatrix码,包括:
步骤301,根据所述预设纠错码,确定所述目标DataMatrix码的综合征多项式;
步骤302,将所述综合征多项式根据欧几里得算法,构建误差***多项式和误差评估器多项式,以根据所述误差***多项式和误差评估器多项式,确定所述目标DataMatrix码的校正值;
步骤303,根据所述校正值对所述目标DataMatrix码进行校正,获取校正DataMatrix码。
由于在DataMatrix码解码过程中,我们可能会因为图像失真或不恰当的二值化而获得一些错误信息,而由于Reed-Solomon码具有很强的纠错能力,因此可以采用Reed-Solomon码来来恢复错误的数据,实现纠错码的功能。具体的,在获取到目标DataMatrix码后,先将从目标DataMatrix码中接收到的消息视为多项式S(x)的系数:
其中,ri表示接收到的消息位于位置i,因此,这些综合征:
被定义为:
其中,2t等于可用于纠错的码字数,并且α是伽罗瓦字段上的基本元素。综合征多项式定义为:
计算综合征多项式后,使用欧几里得算法构建误差***多项式和误差评估器多项式。误差***多项式可用于查找误差位置,误差赋值器多项式用于查找误差值。其中,欧几里得算法基于:
仅给定和t,因此要获得误差***多项式和误差评估器多项式,则上式可表示为:
。
最后,我们可以使用欧几里得算法生成误差***多项式和误差评估器多项式。
为了求解误差值,选择了 Forney 的算法。里德所罗门码的错误值计算公式为:
其中,eik是位置ik处的校正值,是 at 位置k的根;并且是的形式导数。由此,利用上式即可获取目标DataMatrix码的校正数据,从而得到校正DataMatrix码。
在获取到校正DataMatrix码后,即可根据多个开源解码库,如结合zxing库和libdmtx库,对校正DataMatrix码进行解码识别,从而获取校正DataMatrix码的解码数据。
考虑到在通过多个开源解码库对校正DataMatrix码进行解码时,可能由于校正DataMatrix码的分辨率不足,导致对DataMatrix码的识别失败。因此,为确保能够对DataMatrix码进行解码,在一实施例中,当校正DataMatrix码解码失败时,可通过摄像头获取DataMatrix码在预设时刻内的各图像帧,然后对各图像帧进行预处理,再通过预设纠错码进行校正,获取校正DataMatrix码的各图像帧,然后将这些校正DataMatrix码的各图像帧依次输入训练好的视频超分辨率结构神经网络,以从该视频超分辨率结构神经网络获取校正DataMatrix码对应的高分辨率校正码。在获取到高分辨率校正码后,再根据多个开源解码库,对高分辨率校正码进行解码,以获取解码数据。
其中,所述视频超分辨率结构神经网络由多个低分辨率的DataMatrix码,以及各低分辨率的DataMatrix码在高分辨率空间中的预测结果训练得到。具体的,视频超分辨率结构神经网络(ETDM)是一个基于单向结构的循环卷积网络,即隐层特征只采用正向的传播方式。在训练过程中,对于每个时刻,网络的输入分为两个层面:一个是低分辨率空间下的图像序列(前一帧_I{t-1}_、当前帧_I{t}和后一帧_I{t+1});另一个是高分辨率空间下的预测结果。通过将低分辨率空间下的图像序列与对应的高分辨率空间下的预测结果,输入视频超分辨率结构神经网络进行训练,以在训练至视频超分辨率结构神经网络能够确定不同图像序列在高分辨率空间下的预测结果时,完成视频超分辨率结构神经网络的训练,进而能够在后续应用中,预测校正DataMatrix码对应的高分辨率校正码。
下面对本申请提供的DataMatrix码的解码装置进行描述,下文描述的DataMatrix码的解码装置与上文描述的DataMatrix码的解码方法可相互对应参照。
在一实施例中,如图5所示,提供了一种DataMatrix码的解码装置,包括:
二维码处理模块210,用于对DataMatrix码进行预处理,获取目标DataMatrix码;
二维码校正模块220,用于根据预设纠错码,对所述目标DataMatrix码进行校正,获取校正DataMatrix码;
二维码解码模块230,用于根据多个开源解码库,对校正DataMatrix码进行解码,获取解码数据;
其中,各所述开源解码库包括zxing库和labdmtx库。
通过将预处理后的目标DataMatrix码根据预设纠错码进行校正,获取校正DataMatrix码后,利用多个开源解码库,来对校正DataMatrix码进行解码,以获取解码数据,从而利用纠错码来对DataMatrix二维码进行校正,使DataMatrix码即使部分损坏,也可通过纠错码来恢复错误的数据,进而提高了DataMatrix码的图像质量,方便后续对DataMatrix码进行解码。且由于是通过多个开源解码库来对高图像质量的DataMatrix码进行解码,因此能够准确高效地识别DataMatrix码的内容,进而提高了DataMatrix码的解码准确率和解码效率。
在一实施例中,二维码处理模块210具体用于:
对DataMatrix码进行预处理,获取初始DataMatrix码;
对所述初始DataMatrix码进行条码校正,获取所述目标DataMatrix码。
在一实施例中,二维码处理模块210具体用于:
获取所述初始DataMatrix码的各顶点的顶点坐标;
根据各所述顶点坐标和理想DataMatrix码的源方形域的边长,获取各转换系数;
根据各所述转换系数,对所述初始DataMatrix码进行透视转换,获取所述目标DataMatrix码。
在一实施例中,二维码校正模块220具体用于:
根据所述预设纠错码,确定所述目标DataMatrix码的综合征多项式;
将所述综合征多项式根据欧几里得算法,构建误差***多项式和误差评估器多项式,以根据所述误差***多项式和误差评估器多项式,确定所述目标DataMatrix码的校正值;
根据所述校正值对所述目标DataMatrix码进行校正,获取校正DataMatrix码。
在一实施例中,二维码处理模块210具体用于:
对所述DataMatrix码依次进行灰度化、高斯滤波、二值化以及直方图均衡化。
在一实施例中,二维码处理模块210还用于:
调整所述直方图均衡化后的DataMatrix码的图像对比度。
在一实施例中,各所述开源解码库包括zxing库和libdmtx库。
图6示例了一种电子设备的实体结构示意图,如图6所示,该电子设备可以包括:处理器(processor)810、通信接口(Communication Interface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的计算机程序,以执行DataMatrix码的解码方法,例如包括:
对DataMatrix码进行预处理,获取目标DataMatrix码;
根据预设纠错码,对所述目标DataMatrix码进行校正,获取校正DataMatrix码;
根据多个开源解码库,对校正DataMatrix码进行解码,获取解码数据。
此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本申请实施例还提供一种存储介质,存储介质包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,计算机程序被处理器执行时,计算机能够执行上述各实施例所提供的DataMatrix码的解码方法,例如包括:
对DataMatrix码进行预处理,获取目标DataMatrix码;
根据预设纠错码,对所述目标DataMatrix码进行校正,获取校正DataMatrix码;
根据多个开源解码库,对校正DataMatrix码进行解码,获取解码数据。
另一方面,本申请实施例还提供一种处理器可读存储介质,处理器可读存储介质存储有计算机程序,计算机程序用于使处理器执行上述各实施例提供的方法,例如包括:
对DataMatrix码进行预处理,获取目标DataMatrix码;
根据预设纠错码,对所述目标DataMatrix码进行校正,获取校正DataMatrix码;
根据多个开源解码库,对校正DataMatrix码进行解码,获取解码数据。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种DataMatrix码的解码方法,其特征在于,包括:
对DataMatrix码进行预处理,获取目标DataMatrix码;
根据预设纠错码,对所述目标DataMatrix码进行校正,获取校正DataMatrix码;
根据多个开源解码库,对校正DataMatrix码进行解码,获取解码数据。
2.根据权利要求1所述的DataMatrix码的解码方法,其特征在于,对DataMatrix码进行预处理,获取目标DataMatrix码,包括:
对DataMatrix码进行预处理,获取初始DataMatrix码;
对所述初始DataMatrix码进行条码校正,获取所述目标DataMatrix码。
3.根据权利要求2所述的DataMatrix码的解码方法,其特征在于,对所述初始DataMatrix码进行条码校正,获取所述目标DataMatrix码,包括:
获取所述初始DataMatrix码的各顶点的顶点坐标;
根据各所述顶点坐标和理想DataMatrix码的源方形域的边长,获取各转换系数;
根据各所述转换系数,对所述初始DataMatrix码进行透视转换,获取所述目标DataMatrix码。
4.根据权利要求1所述的DataMatrix码的解码方法,其特征在于,根据预设纠错码,对所述目标DataMatrix码进行校正,获取校正DataMatrix码,包括:
根据所述预设纠错码,确定所述目标DataMatrix码的综合征多项式;
将所述综合征多项式根据欧几里得算法,构建误差***多项式和误差评估器多项式,以根据所述误差***多项式和误差评估器多项式,确定所述目标DataMatrix码的校正值;
根据所述校正值对所述目标DataMatrix码进行校正,获取校正DataMatrix码。
5.根据权利要求1-4任意一项所述的DataMatrix码的解码方法,其特征在于,对DataMatrix码进行预处理,包括:
对所述DataMatrix码依次进行灰度化、高斯滤波、二值化以及直方图均衡化。
6.根据权利要求5所述的DataMatrix码的解码方法,其特征在于,还包括:
调整所述直方图均衡化后的DataMatrix码的图像对比度。
7.根据权利要求1所述的DataMatrix码的解码方法,其特征在于,各所述开源解码库包括zxing库和libdmtx库。
8.一种DataMatrix码的解码装置,其特征在于,包括:
二维码处理模块,用于对DataMatrix码进行预处理,获取目标DataMatrix码;
二维码校正模块,用于根据预设纠错码,对所述目标DataMatrix码进行校正,获取校正DataMatrix码;
二维码解码模块,用于根据多个开源解码库,对校正DataMatrix码进行解码,获取解码数据;
其中,各所述开源解码库包括zxing库和labdmtx库。
9.一种电子设备,包括处理器和存储有计算机程序的存储器,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述的DataMatrix码的解码方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述的DataMatrix码的解码方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310154183.1A CN115906898A (zh) | 2023-02-23 | 2023-02-23 | DataMatrix码的解码方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310154183.1A CN115906898A (zh) | 2023-02-23 | 2023-02-23 | DataMatrix码的解码方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115906898A true CN115906898A (zh) | 2023-04-04 |
Family
ID=86491663
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310154183.1A Pending CN115906898A (zh) | 2023-02-23 | 2023-02-23 | DataMatrix码的解码方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115906898A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1653699A (zh) * | 2002-05-08 | 2005-08-10 | 汤姆森特许公司 | 软判定解码里德-索洛蒙码的方法 |
CN101882207A (zh) * | 2010-06-01 | 2010-11-10 | 福建新大陆电脑股份有限公司 | Data Matrix码条码解码芯片及其解码方法 |
CN105046184A (zh) * | 2015-07-22 | 2015-11-11 | 福建新大陆自动识别技术有限公司 | 基于畸变图像校正的二维码解码方法和*** |
CN107545207A (zh) * | 2017-09-28 | 2018-01-05 | 云南电网有限责任公司电力科学研究院 | 基于图像处理的dm二维码识别方法及装置 |
CN109597951A (zh) * | 2018-12-05 | 2019-04-09 | 广州酷狗计算机科技有限公司 | 信息分享方法、装置、终端及存储介质 |
CN110032907A (zh) * | 2019-04-15 | 2019-07-19 | 苏州国芯科技股份有限公司 | 一种二维码识别方法、***及电子设备和存储介质 |
CN115248924A (zh) * | 2021-04-27 | 2022-10-28 | 中移(苏州)软件技术有限公司 | 一种二维码处理方法、装置、电子设备和存储介质 |
CN115456003A (zh) * | 2022-09-02 | 2022-12-09 | 合肥埃科光电科技股份有限公司 | 一种dpm二维码的识别方法及存储介质 |
CN115630662A (zh) * | 2022-09-15 | 2023-01-20 | 国网浙江省电力有限公司嘉兴供电公司 | 一种输变电设备健康码核验及校正方法 |
-
2023
- 2023-02-23 CN CN202310154183.1A patent/CN115906898A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1653699A (zh) * | 2002-05-08 | 2005-08-10 | 汤姆森特许公司 | 软判定解码里德-索洛蒙码的方法 |
CN101882207A (zh) * | 2010-06-01 | 2010-11-10 | 福建新大陆电脑股份有限公司 | Data Matrix码条码解码芯片及其解码方法 |
CN105046184A (zh) * | 2015-07-22 | 2015-11-11 | 福建新大陆自动识别技术有限公司 | 基于畸变图像校正的二维码解码方法和*** |
CN107545207A (zh) * | 2017-09-28 | 2018-01-05 | 云南电网有限责任公司电力科学研究院 | 基于图像处理的dm二维码识别方法及装置 |
CN109597951A (zh) * | 2018-12-05 | 2019-04-09 | 广州酷狗计算机科技有限公司 | 信息分享方法、装置、终端及存储介质 |
CN110032907A (zh) * | 2019-04-15 | 2019-07-19 | 苏州国芯科技股份有限公司 | 一种二维码识别方法、***及电子设备和存储介质 |
CN115248924A (zh) * | 2021-04-27 | 2022-10-28 | 中移(苏州)软件技术有限公司 | 一种二维码处理方法、装置、电子设备和存储介质 |
CN115456003A (zh) * | 2022-09-02 | 2022-12-09 | 合肥埃科光电科技股份有限公司 | 一种dpm二维码的识别方法及存储介质 |
CN115630662A (zh) * | 2022-09-15 | 2023-01-20 | 国网浙江省电力有限公司嘉兴供电公司 | 一种输变电设备健康码核验及校正方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7446997B2 (ja) | 敵対的生成ネットワークのトレーニング方法、画像処理方法、デバイスおよび記憶媒体 | |
US20230215197A1 (en) | Systems and Methods for Detection and Localization of Image and Document Forgery | |
US11790198B2 (en) | Method and apparatus for processing encoded pattern, storage medium, and electronic apparatus | |
US8550351B2 (en) | Matrix type two-dimensional barcode decoding chip and decoding method thereof | |
US8810633B2 (en) | Robust image alignment for distributed multi-view imaging systems | |
CN111275626A (zh) | 一种基于模糊度的视频去模糊方法、装置及设备 | |
CN115294409A (zh) | 一种用于安防监控的视频压缩方法、***及介质 | |
CN112560861A (zh) | 票据处理方法、装置、设备及存储介质 | |
CN111784624B (zh) | 目标检测方法、装置、设备及计算机可读存储介质 | |
CN113570508A (zh) | 图像修复方法及装置、存储介质、终端 | |
EP4300411A1 (en) | Training method and apparatus for image processing network, computer device, and storage medium | |
CN116309148A (zh) | 图像修复模型训练方法、图像修复方法、装置和电子设备 | |
Fang et al. | An optimization model for aesthetic two-dimensional barcodes | |
CN108491913B (zh) | 一种含密美化qr码认证的方法 | |
Wang et al. | LLDiffusion: Learning degradation representations in diffusion models for low-light image enhancement | |
US20240062333A1 (en) | Upscaling image data | |
CN113592965A (zh) | 图像处理方法、装置、电子设备和计算机可读存储介质 | |
CN115906898A (zh) | DataMatrix码的解码方法及装置 | |
CN116934634A (zh) | 一种基于像素分类的图像增强方法及装置 | |
Melgar et al. | Channel capacity analysis of 2D barcodes: QR Code and CQR Code-5 | |
CN112669240B (zh) | 高清图像修复方法、装置、电子设备和存储介质 | |
CN114066709A (zh) | 一种基于深度学习的抗拍屏鲁棒水印***及算法 | |
CN115936037A (zh) | 二维码的解码方法及装置 | |
CN112183695A (zh) | 编码方法、编码图形、编码图形读取方法和拍摄装置 | |
Wasule et al. | An effective approach to recover corrupted or mobile captured 2D barcode images with improved accuracy |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20230404 |