CN106845593A - 一种矩形固定点阵信息编解码方法 - Google Patents

一种矩形固定点阵信息编解码方法 Download PDF

Info

Publication number
CN106845593A
CN106845593A CN201710032695.5A CN201710032695A CN106845593A CN 106845593 A CN106845593 A CN 106845593A CN 201710032695 A CN201710032695 A CN 201710032695A CN 106845593 A CN106845593 A CN 106845593A
Authority
CN
China
Prior art keywords
binary
information
coding
matrix
string
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
Application number
CN201710032695.5A
Other languages
English (en)
Inventor
林馥
戴敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan University WHU
Original Assignee
Wuhan University WHU
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuhan University WHU filed Critical Wuhan University WHU
Priority to CN201710032695.5A priority Critical patent/CN106845593A/zh
Publication of CN106845593A publication Critical patent/CN106845593A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record 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/06009Record 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/06037Record 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)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

本发明涉及一种矩形固定点阵信息编解码方法,基于Data Matrix码的部分编码规则,由用户根据所需要存储的信息自定义编码的矩形尺寸,将需要存储的信息以基于比特位并提供BCH纠错的形式按特定的顺序进行编码,然后再采用与信息编码相对应的信息解码方法读取信息。因此,本发明具有如下优点:1、可自定义编码尺寸,降低有效信息的冗余度;2、编码时使用尽可能少的特征位,增加可编码有效信息的位数;3、编码出的二维条码具有独一无二性,可用于商品防伪。

Description

一种矩形固定点阵信息编解码方法
技术领域
本发明属于信息学领域,尤其涉及一种矩形固定点阵信息编解码方法。
背景技术
一维条码自出现以来,得到了人们的普遍关注,发展速度十分迅速。但随着现代高新技术的发展,为了满足***的信息表示的需要,迫切要求用条码在有限的几何空间内表示更多的信息。由此,为了解决一维条码无法解决的问题,二维条码应运而生。它采用矩形、点、六边形等几何图案来表示信息,编码时使用若干个与二进制相对应的几何形体来表示文字数值信息,解码时则通过图像输入或光电扫描设备自动识读信息。它的使用,极大地提高了数据采集和信息处理的速度,提高了工作效率,并为管理的科学化和现代化做出了很大贡献。随着智能手机的逐渐普及,二维码编解码功能软件已经几乎成为了智能手机的标配软件。目前常用或知名的二维条码编码机制有Data Matrix,Maxi Code,QRCode,汉信码等。
在众多二维条码中DataMatrix码是一种矩阵式二维条码,其最大特点就是密度高,其最小尺寸是目前所有条码中最小的码。除此之外,DataMatrix码采用了复杂的纠错码技术,使得该编码具有超强的抗污染能力。但是,Data Matrix编码机制中一方面由于只能选择特定的尺寸进行编码,目前最小Data Matrix的尺寸也是10*10矩形区域,当存储小量信息时会造成大量信息位冗余;另一方面,Data Matrix码中所需要的特征位过多,在一定程度上占用了可以进行信息编码的信息位。为了解决这两个问题,本发明通过借鉴了二维条码中Data Matrix编码机制的部分编码规则,发明了一种自定义矩形尺寸的固定点阵信息编解码方法。
发明内容
本发明基于Data Matrix码的部分编码规则,由用户根据所需要存储的信息自定义编码的矩形尺寸,将需要存储的信息以基于比特位并提供BCH纠错的形式按特定的顺序进行编码,然后再采用与信息编码相对应的信息解码方法读取信息。
本发明的技术方案为利用第三方开源条码生成软件zxing设计的一种矩形固定点阵信息编解码方法,包括:
信息编码的步骤:首先确定信息编码矩形的宽度与高度,然后将编码信息转换成二进制字符串,并基于BCH编码原理得到包含纠错码的编码信息的二进制字符串,其次创建一个二进制矩阵,设置二进制矩阵的特征位的值并将包含纠错码的编码信息的二进制字符串按照“之”字型顺序放入二进制矩阵中除特征位以外的区域,最后将二进制矩阵进行掩码,并将该矩阵根据“0”“1”进行着色转换为图片;
信息解码的步骤:用户使用解码程序对编码图片进行解析,将图片转换为二进制位图得到符号图像,然后找到符号图像的四个顶点并确定四个顶点的正确位置,其次根据传入的参数即编码的宽度与高度将符号图像纠正、变换为二进制矩阵,最后将二进制矩阵解掩码提取二进制信息进行BCH纠错得到正确的二进制字符串,并转换为明文进行输出。
在上述的一种矩形固定点阵信息编解码方法,所述信息编码的步骤具体包括:
步骤1,根据计算所需编码的信息增加BCH纠错码后的二进制长度,确定编码的尺寸,即编码区域的宽度与高度,其中编码的宽度与高度需满足(宽度-1)*(高度-1)的值减去编码的信息增加BCH纠错码后的二进制长度的值不少于3,并将确定的编码尺寸作为参数传入编码程序中;
步骤2,将所需编码的信息转换为二进制字符串,根据隐藏信息需要纠错的位数对该字符串进行分组,每组含k位二进制信息,并利用BCH编码原理计算得出每组二进制信息的n位BCH纠错码;若二进制字符串在分组后存在某组二进制信息不足k位时,应先在二进制字符串首部添“0”补足,直到各个分组都包含k位二进制位,再将补足后的二进制字符串进行分组计算得到BCH纠错码;在得到各组的BCH纠错码后将每组的BCH纠错码分别***至相应有效信息后,形成包含纠错码的编码信息的二进制字符串,即为最终的所需编码的二进制信息;
步骤3,创建一个宽度等于步骤1中自定义编码宽度,高度等于步骤1中自定义编码高度的二进制矩阵,并将二进制矩阵的最左一列与最底部一行各个信息位全部置为“1”,将其作为编码的特征位;然后,从二进制矩阵剩余编码区域中最左下角的信息位开始一位一位按照“之”字形的顺序依次将步骤2最后得出的二进制字符串放入二进制矩阵的编码区域中,注意放入时跳过二进制矩阵的最右上角、右上角左侧及下侧相邻位置,当二进制信息长度小于矩形区域可放置长度时选择在末尾添0补足;最后,将二进制矩阵的最右上角的信息位置为“1”,右上角左侧相邻位置置为“0”,右上角下侧相邻位置同样置为“0”;将二进制矩阵的这三个信息位位置设为编码的特征位;
步骤4,,选择一种掩码模式对步骤3最后生成的二进制矩阵除特征位外进行掩膜,使得最后生成的二维条码图形中的有颜色且白色除外的区域与白色区域能够比率最优的分布;
步骤5,将掩码过后的二进制矩阵根据“0”、“1”进行着色并转换为图片。
在上述的一种矩形固定点阵信息编解码方法,所述信息解码的步骤具体包括:
步骤1,用户将需要解码的图片用对应的解码程序进行解码,并将图片的编码尺寸大小作为参数传入解码程序中;解码程序首先将图片转化为二进制位图得到图像的符号图像,然后画出符号图像的位置,最后确定符号图像的四个顶点;画出图像位置的方法是从图像中间画一个30X30的框,然后依次向四边推行,检测四边上是否有黑色的点,直到每一边都没有黑色的点为止;
初步范围确定以后就需要确定符号图像四个角的顶点,有了四个角的顶点就可以进行透视变换,符号码图像也就能够取出;解码程序中首先在大检测框的四个角用斜45度的直线去检测:
按照图中四个角的箭头所示方向进行扫描,检测到第一个黑色的点就返回;如果在线上没有检测到黑点,就将扫描线向对角线推进;最后就能找到四个角的顶点;
步骤2,确定符号图像各个顶点的正确位置;首先基于bresenham算法扫描得出各个顶点之间连线是否为一条直线,从而可以将两条直线的交点顶点确定为符号图像的左下角顶点,将两条都不是直线的交点顶点确定为符号图像的右上角顶点;然后经过两点间距离的比较确定符号图像的左上角和右下角顶点;
步骤3,根据步骤1传入的图片的编码尺寸确定符号图像每条边上各有多少模块,然后基于SampleGrid进行透视变换和采样变换,将原始图像中的符号图像纠正、变换为我们解码需要的规则的,以模块为单位的符号矩阵即图像的二进制矩阵;
步骤4,首先将步骤3中得到的二进制矩阵解掩码得到正确的二进制矩阵,然后再根据编码规则将正确的二进制矩阵中数据域的二进制信息依次提取出来,然后分组进行BCH解码得到正确的有效信息,最后将有效信息转换为明文形式进行输出,完成解码。
因此,本发明具有如下优点:1、用户可根据需要编码信息的长度自定义编码尺寸,一方面可以满足用户对编码尺寸的一些特定要求,另一方面可以最大程度的降低编码图片中有效信息的冗余度;2、相比较于目前常用的二维条码编码规则中使用的特征位位数,本发明在编码时使用的特征位位数明显少于它们,从而在一定程度上增加了可编码有效信息的位数;3、本发明的编码规则不同于目前公开的所有的二维条码编码规则,并且对于按照本发明中的信息编码方法编码的二维条码,只能按照本发明中提出的信息解码方法进行解码,因此信息编码出的二维条码具有独一无二性,当将本发明应用于商品标识中,可以满足商家对商品进行防伪的需求。
附图说明
图1是本发明的信息的编码流程图。
图2是本发明的信息的解码流程图。
图3是本发明信息解码的提取步骤中经过步骤1中得到的大致范围示意图。
图4是本发明信息解码的提取步骤中经过步骤1中解码程序在大检测框的四个角用斜45度的直线去检测后的示意图。
图5是本发明中生成的二维码示意图。
具体实施方式
本发明基于QR码对编码的原始数据的纠错性能,将需要隐藏的信息以基于比特位并提供纠错的形式嵌入到编码中,然后再采用特定的隐藏信息的提取方法进行提取,从而达到传递隐藏信息的目的。
本发明提供的方法能够用计算机软件技术实现流程。
对于信息的编码参见图1,实施例以编码信息为“123044162062”,对于编码信息提供4位纠错为例对本发明的流程进行一个具体的阐述,如下:
定义t为BCH纠错位数,s为编码信息转换的二进制字符串,t为编码信息增加BCH纠错码后的二进制字符串
步骤1,根据计算所需编码的信息增加BCH纠错码后的二进制长度,确定编码的尺寸,即编码区域的宽度与高度,其中编码的宽度与高度需满足(宽度-1)*(高度-1)的值减去编码的信息增加BCH纠错码后的二进制长度的值不少于3,并将确定的编码尺寸作为参数传入编码程序中。
实施例具体的实施过程说明如下:
将编码信息转换为二进制字符串为:s=1110010100110000000001110101000001110,长度为37位,由于总共需纠四位错,选择将s分为两组,每组进行BCH编码,即t=2,根据BCH编码原理选取本原BCH(31,21)码,即21位有效信息的字符串生成10位BCH纠错码。因此最后需嵌入的包含BCH纠错码的二进制信息应有62位,所以可选取的编码尺寸最小应为7*12,在本例中为了尽可能不浪费可编码的信息位,我们选取编码的宽度为12,高度为7。
步骤2,将所需编码的信息转换为二进制字符串,根据隐藏信息需要纠错的位数对该字符串进行分组,每组含k位二进制信息,并利用BCH编码原理计算得出每组二进制信息的n位BCH纠错码。若二进制字符串在分组后存在某组二进制信息不足k位时,应先在二进制字符串首部添“0”补足,直到各个分组都包含k位二进制位,再将补足后的二进制字符串进行分组计算得到BCH纠错码。在得到各组的BCH纠错码后将每组的BCH纠错码分别***至相应有效信息后,形成包含纠错码的编码信息的二进制字符串,即为最终的所需编码的二进制信息。
实施例具体的实施过程说明如下:
首先将s分为两组,每组长度21位,分别为:000001110010100110000、000001110101000001110。
然后分别计算两组二进制信息的BCH纠错码。
BCH码的定义为:若循环码的生成多项式具有如下形式:
g(x)=LCM[m1(x),m3(x),...,m2t-1(x)]其中LCM表示最小公倍式,t为纠错个数,mi(x)为素多项式,则由此生成的循环码称为BCH码。
BCH码部分不可约多项式表如下:
2阶 1 7
3阶 1 13
4阶 1 23 3 37 5 07
5阶 1 45 3 75 5 67
在本实施例中由步骤1的实施例可得BCH纠错码采用BCH(31,21)码,t=2,则n=31=25–1,通过查询上述不可约多项式表可得:
m1(x)=(45)8=100101=x5+x2+1;
m3(x)=(75)8=111101=x5+x4+x3+x2+1;
所以g(x)=LCM[m1(x),m3(x)]=x10+x9+x8+x6+x5+x3+1=11101101001,将每组21位二进制信息对生成多项式进行模2运算得到两组二进制信息的BCH纠错码分别为:1000101110、0011110100。
最后将纠错码***相应的二进制有效信息后面得到包含BCH纠错码的编码信息的二进制字符串。本例中将上述纠错码***字符串s中得到字符串t,可得t的结果为:00000111001010011000010001011100000011101010000011100011110100。
步骤3,创建一个宽度等于步骤1中自定义编码宽度,高度等于步骤1中自定义编码高度的二进制矩阵,并将二进制矩阵的最左一列与最底部一行各个信息位全部置为“1”,将其作为编码的特征位。然后,从二进制矩阵剩余编码区域中最左下角的信息位开始一位一位按照“之”字形的顺序依次将步骤2最后得出的二进制字符串放入二进制矩阵的编码区域中,注意放入时跳过二进制矩阵的最右上角、右上角左侧及下侧相邻位置,当二进制信息长度小于矩形区域可放置长度时选择在末尾添0补足。最后,将二进制矩阵的最右上角的信息位置为“1”,右上角左侧相邻位置置为“0”,右上角下侧相邻位置同样置为“0”。将二进制矩阵的这三个信息位位置设为编码的特征位。
实施例的具体实施过程如下:
根据步骤1的实施过程可知,选取的编码尺寸的宽度为12,高度为7。因此首先创建一个尺寸为7*12的二进制矩阵,并将矩阵的最右一列与最底部一行各个信息位全部置为“1”,将其作为编码的特征位。得到的二进制矩阵如下:为了方便后续说明在下图中借用了坐标图来表示二进制矩阵中各个位置
然后,从二进制矩阵剩余编码区域中最右下角的信息位开始即从坐标为(1,5)的位置开始一位一位按照“之”字形的顺序依次将字符串t跳过二进制矩阵的最右上角及其相邻位置放入二进制矩阵的编码区域中,由于t的长度为62位,可编码区域长度为(6*11)-3=63位,因此需添加一位“0”补足。全部***后二进制矩阵为:
最后,将二进制矩阵的最右上角的信息位即坐标为(11,0)置为“1”,右上角左侧相邻位置即坐标为(10,0)置为“0”,右上角下侧相邻位置即坐标为(11,1)同样置为“0”。将二进制矩阵的这三个信息位位置设为编码的特征位。
步骤4,,选择一种掩码模式对步骤3最后生成的二进制矩阵除特征位外进行掩膜,使得最后生成的二维条码图形中的有颜色(白色除外)区域与白色区域能够比率最优的分布。
实施例的具体实施过程如下:
为了简单起见,本例中选择的掩码方案为:将二进制矩阵中除特征位以外的区域而信息位进行“取反”操作,最后得到的二进制矩阵为:
步骤5,将掩码过后的二进制矩阵根据“0”、“1”进行着色并转换为图片。
实施例的具体实施过程如下:
对步骤4实施例最终生成的二进制矩阵进行着色,由于常见编码图片为黑白两色,因此在本例中将二进制位为“1”着色为黑色,将二进制位为“0”着色为白色,最终生成的二维条码图片如图5所示。
对于信息的解码,参见图2,实施例以上述例子中生成的图片为例对本方案的流程做一个具体的阐述:
定义:S为提取出来包含纠错码的编码信息的二进制字符串,T为正确的编码信息的有效二进制字符串,M为编码的信息明文
步骤1,用户将需要解码的图片用对应的解码程序进行解码,并将图片的编码尺寸大小作为参数传入解码程序中。解码程序首先将图片转化为二进制位图得到图像的符号码图像,然后大致画出符号图像的位置,最后确定符号图像的四个顶点。
实施例的具体实施过程如下:
首先,由该图像的编码可知,图像的编码尺寸为7*12,将图像的宽度为12,高度为7作为参数传入解码程序中。
然后,将图像转换为二进制位图,采用上述信息解码步骤1中的具体方法找出符号图像的大致范围,确定符号图像的四个顶点坐标,分别记为A、B、C、D。在本例中确定的四个顶点坐标分别为A(23.05,53.14),B(25.12,166.53),C(216.85,167.32),D(218.44,54.45)。
步骤2,确定符号图像各个顶点的正确位置。首先利用bresenham算法扫描得出各个顶点之间连线是否为一条实线,从而可以将两条实线的交点顶点确定为符号图像的左下角顶点,将两条都不是实线的交点顶点确定为符号图像的右上角顶点。然后经过两点间距离的比较确定符号图像的左上角和右下角顶点。
实施例的具体实施过程如下:
分别利用bresenham算法计算A-B,A-C,A-D,B-C,B-D,C-D两两顶点之间是否为一条实线,在本例中得出顶点A-B,B-C之间为实线,顶点A-D,C-D之间不是实线,从而本例中图像正确的左下角顶点坐标为B(25.12,166.53),右上角坐标为D(218.44,54.45)。对于顶点C(216.85,167.32))和顶点A(23.05,53.14),根据它们分别到顶点B和顶点D的距离可以得出左上角的顶点坐标为A(23.05,53.14),右下角的顶点坐标为C(216.85,167.32)。
步骤3,根据步骤1传入的图片的编码尺寸确定符号图像每条边上各有多少模块,然后使用SampleGrid进行透视变换和采样变换,将原始图像中的符号图像纠正、变换为我们解码需要的规则的,以模块为单位的符号矩阵即图像的二进制矩阵。
实施例的具体实施过程如下:
本例中,图片的编码尺寸为宽度为12,高度为7,从而可确定符号图像的上下两条边各有12个模块,左右两条边各有7个模块,进一步将符号图像进行透视变换和采样变换可得到7*12的二进制矩阵如下:
步骤4,首先将步骤3中得到的二进制矩阵解掩码得到正确的二进制矩阵,然后再根据编码规则将正确的二进制矩阵中数据域的二进制信息依次提取出来,然后分组进行BCH解码得到正确的有效信息,最后将有效信息转换为明文形式进行输出,完成解码。
实施例的具体实施过程如下:
首先,将步骤3实施例的二进制矩阵根据编码选择的掩码方案进行解掩码,即将二进制矩阵中除特征位外的所有二进制进行取反操作,得到的正确的二进制矩阵如下:
然后将二进制矩阵中数据域的二进制信息依次提取出来得到的二进制字符串为:000001110010100110000100010111000000111010100000111000111101000,由于在信息编码时,采用的是BCH(31,21)码,所以编码的字符串长度应为62位,去除上述提取出来的二进制字符串的后1位得到的正确的二进制字符串应为:
S=00000111001010011000010001011100000011101010000011100011110100
对字符串S按每组31位分为两组,分别对每组进行BCH解码,得到正确的有效信息。其中对分组字符串1:0000011100101001100001000101110进行解码得到的正确信息为:000001110010100110000;对分组字符串2:0000011101010000011100011110100进行解码得到的正确信息为:000001110101000001110。最后,将各组解码得到的正确信息按照分组顺序进行拼接得到最终的编码信息的二进制字符串,最终结果为:T=000001110010100110000000001110101000001110
最后,将T转换为十进制的整数,M=123044162062。
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

Claims (3)

1.矩形固定点阵信息编解码方法和***,其特征在于,包括:
信息编码的步骤:首先确定信息编码矩形的宽度与高度,然后将编码信息转换成二进制字符串,并基于BCH编码原理得到包含纠错码的编码信息的二进制字符串,其次创建一个二进制矩阵,设置二进制矩阵的特征位的值并将包含纠错码的编码信息的二进制字符串按照“之”字型顺序放入二进制矩阵中除特征位以外的区域,最后将二进制矩阵进行掩码,并将该矩阵根据“0”“1”进行着色转换为图片;
信息解码的步骤:用户使用解码程序对编码图片进行解析,将图片转换为二进制位图得到符号图像,然后找到符号图像的四个顶点并确定四个顶点的正确位置,其次根据传入的参数即编码的宽度与高度将符号图像纠正、变换为二进制矩阵,最后将二进制矩阵解掩码提取二进制信息进行BCH纠错得到正确的二进制字符串,并转换为明文进行输出。
2.根据权利要求1所述的矩形固定点阵信息编解码方法和***,其特征在于,所述信息编码的步骤具体包括:
步骤1,根据计算所需编码的信息增加BCH纠错码后的二进制长度,确定编码的尺寸,即编码区域的宽度与高度,其中编码的宽度与高度需满足(宽度-1)*(高度-1)的值减去编码的信息增加BCH纠错码后的二进制长度的值不少于3,并将确定的编码尺寸作为参数传入编码程序中;
步骤2,将所需编码的信息转换为二进制字符串,根据隐藏信息需要纠错的位数对该字符串进行分组,每组含k位二进制信息,并利用BCH编码原理计算得出每组二进制信息的n位BCH纠错码;若二进制字符串在分组后存在某组二进制信息不足k位时,应先在二进制字符串首部添“0”补足,直到各个分组都包含k位二进制位,再将补足后的二进制字符串进行分组计算得到BCH纠错码;在得到各组的BCH纠错码后将每组的BCH纠错码分别***至相应有效信息后,形成包含纠错码的编码信息的二进制字符串,即为最终的所需编码的二进制信息;
步骤3,创建一个宽度等于步骤1中自定义编码宽度,高度等于步骤1中自定义编码高度的二进制矩阵,并将二进制矩阵的最左一列与最底部一行各个信息位全部置为“1”,将其作为编码的特征位;然后,从二进制矩阵剩余编码区域中最左下角的信息位开始一位一位按照“之”字形的顺序依次将步骤2最后得出的二进制字符串放入二进制矩阵的编码区域中,注意放入时跳过二进制矩阵的最右上角、右上角左侧及下侧相邻位置,当二进制信息长度小于矩形区域可放置长度时选择在末尾添0补足;最后,将二进制矩阵的最右上角的信息位置为“1”,右上角左侧相邻位置置为“0”,右上角下侧相邻位置同样置为“0”;将二进制矩阵的这三个信息位位置设为编码的特征位;
步骤4,,选择一种掩码模式对步骤3最后生成的二进制矩阵除特征位外进行掩膜,使得最后生成的二维条码图形中的有颜色且白色除外的区域与白色区域能够比率最优的分布;
步骤5,将掩码过后的二进制矩阵根据“0”、“1”进行着色并转换为图片。
3.根据权利要求1所述的矩形固定点阵信息编解码方法和***,其特征在于,所述信息解码的步骤具体包括:
步骤1,用户将需要解码的图片用对应的解码程序进行解码,并将图片的编码尺寸大小作为参数传入解码程序中;解码程序首先将图片转化为二进制位图得到图像的符号图像,然后画出符号图像的位置,最后确定符号图像的四个顶点;画出图像位置的方法是从图像中间画一个30X30的框,然后依次向四边推行,检测四边上是否有黑色的点,直到每一边都没有黑色的点为止;
初步范围确定以后就需要确定符号图像四个角的顶点,有了四个角的顶点就可以进行透视变换,符号码图像也就能够取出;解码程序中首先在大检测框的四个角用斜45度的直线去检测:
按照四个角的斜45度方向进行扫描,检测到第一个黑色的点就返回;如果在线上没有检测到黑点,就将扫描线向对角线推进;最后就能找到四个角的顶点;
步骤2,确定符号图像各个顶点的正确位置;首先基于bresenham算法扫描得出各个顶点之间连线是否为一条直线,从而可以将两条直线的交点顶点确定为符号图像的左下角顶点,将两条都不是直线的交点顶点确定为符号图像的右上角顶点;然后经过两点间距离的比较确定符号图像的左上角和右下角顶点;
步骤3,根据步骤1传入的图片的编码尺寸确定符号图像每条边上各有多少模块,然后基于SampleGrid进行透视变换和采样变换,将原始图像中的符号图像纠正、变换为我们解码需要的规则的,以模块为单位的符号矩阵即图像的二进制矩阵;
步骤4,首先将步骤3中得到的二进制矩阵解掩码得到正确的二进制矩阵,然后再根据编码规则将正确的二进制矩阵中数据域的二进制信息依次提取出来,然后分组进行BCH解码得到正确的有效信息,最后将有效信息转换为明文形式进行输出,完成解码。
CN201710032695.5A 2017-01-16 2017-01-16 一种矩形固定点阵信息编解码方法 Pending CN106845593A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710032695.5A CN106845593A (zh) 2017-01-16 2017-01-16 一种矩形固定点阵信息编解码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710032695.5A CN106845593A (zh) 2017-01-16 2017-01-16 一种矩形固定点阵信息编解码方法

Publications (1)

Publication Number Publication Date
CN106845593A true CN106845593A (zh) 2017-06-13

Family

ID=59124229

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710032695.5A Pending CN106845593A (zh) 2017-01-16 2017-01-16 一种矩形固定点阵信息编解码方法

Country Status (1)

Country Link
CN (1) CN106845593A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107330843A (zh) * 2017-06-15 2017-11-07 深圳大学 一种灰度图像编码隐藏方法及装置、解码方法及装置
CN107941256A (zh) * 2017-11-20 2018-04-20 中国电子科技集团公司第四十研究所 一种高精度测量仪器的数值个性化显示方法
CN112418374A (zh) * 2020-12-14 2021-02-26 合肥高维数据技术有限公司 一种信息码生成方法
CN114820827A (zh) * 2022-05-06 2022-07-29 翼存(上海)智能科技有限公司 一种用于数据存储的矩形灰阶点阵图像的数据解码方法
CN114898002A (zh) * 2022-05-03 2022-08-12 翼存(上海)智能科技有限公司 一种用于数据存储的矩形灰阶点阵图像的数据编码方法
CN117273044A (zh) * 2023-10-27 2023-12-22 广州通赢科技有限公司 一种点阵图、点阵图构建方法及识别点阵图的方法
CN117436907A (zh) * 2023-12-20 2024-01-23 中科微点技术有限公司 基于手机扫描点阵码和数字水印结合的防伪信息溯源方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102034127A (zh) * 2009-09-28 2011-04-27 上海易悠通信息科技有限公司 新型大容量二维条码与***及其编解码方法和应用
CN102546095A (zh) * 2010-12-03 2012-07-04 英飞凌科技股份有限公司 用于检测编码二进制字中的错误的设备和方法
CN103544516A (zh) * 2012-07-12 2014-01-29 ***通信集团公司 二维码的编、解码方法及二维码编码器、解码器
CN103605950A (zh) * 2013-11-25 2014-02-26 广西大学 一种可信二维码中签名的隐藏方法及***

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102034127A (zh) * 2009-09-28 2011-04-27 上海易悠通信息科技有限公司 新型大容量二维条码与***及其编解码方法和应用
CN102546095A (zh) * 2010-12-03 2012-07-04 英飞凌科技股份有限公司 用于检测编码二进制字中的错误的设备和方法
CN103544516A (zh) * 2012-07-12 2014-01-29 ***通信集团公司 二维码的编、解码方法及二维码编码器、解码器
CN103605950A (zh) * 2013-11-25 2014-02-26 广西大学 一种可信二维码中签名的隐藏方法及***

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
博客园: "DataMatrix二维条码源码分析检测识别图像位置", 《HTTPS://WWW.CNBLOGS.COM/QQHFENG/P/4240600.HTML》 *
李雅静: "Data_Matrix二维条码图像识别的算法研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
码迷: "DataMatrix二维条码源码分析检测识别图像位置", 《HTTP://WWW.MAMICODE.COM/INFO-DETAIL-435781.HTML》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107330843A (zh) * 2017-06-15 2017-11-07 深圳大学 一种灰度图像编码隐藏方法及装置、解码方法及装置
CN107330843B (zh) * 2017-06-15 2021-03-16 深圳大学 一种灰度图像编码隐藏方法及装置、解码方法及装置
CN107941256A (zh) * 2017-11-20 2018-04-20 中国电子科技集团公司第四十研究所 一种高精度测量仪器的数值个性化显示方法
CN107941256B (zh) * 2017-11-20 2020-03-06 中国电子科技集团公司第四十一研究所 一种高精度测量仪器的数值个性化显示方法
CN112418374A (zh) * 2020-12-14 2021-02-26 合肥高维数据技术有限公司 一种信息码生成方法
CN114898002A (zh) * 2022-05-03 2022-08-12 翼存(上海)智能科技有限公司 一种用于数据存储的矩形灰阶点阵图像的数据编码方法
CN114820827A (zh) * 2022-05-06 2022-07-29 翼存(上海)智能科技有限公司 一种用于数据存储的矩形灰阶点阵图像的数据解码方法
CN117273044A (zh) * 2023-10-27 2023-12-22 广州通赢科技有限公司 一种点阵图、点阵图构建方法及识别点阵图的方法
CN117273044B (zh) * 2023-10-27 2024-03-29 广州通赢科技有限公司 一种点阵图构建方法及识别点阵图的方法
CN117436907A (zh) * 2023-12-20 2024-01-23 中科微点技术有限公司 基于手机扫描点阵码和数字水印结合的防伪信息溯源方法
CN117436907B (zh) * 2023-12-20 2024-03-19 中科微点技术有限公司 基于手机扫描点阵码和数字水印结合的防伪信息溯源方法

Similar Documents

Publication Publication Date Title
CN106845593A (zh) 一种矩形固定点阵信息编解码方法
CN100369059C (zh) 一种矩阵式二维条码及其编码解码方法
CN102999772B (zh) 一种新型矩阵式二维码的编解码方法
JP4294025B2 (ja) インターフェース表面を生成する方法、および符号化データを読み取る方法
CN101882207B (zh) Data Matrix码条码解码芯片及其解码方法
CN101908125B (zh) Qr码条码解码芯片及其解码方法
CN103400174B (zh) 一种二维码的编码方法、解码方法及***
CN106815544A (zh) 一种基于二维码的信息隐藏方法
CN107545289A (zh) 矩阵式二维码的编码方法及解码方法
CN104899630A (zh) 彩色qr码的编/解码方法
WO2008058480A1 (fr) Code bidimensionnel, procédé de décodage de celui-ci et publication d'impression pour appliquer un code bidimensionnel
US8360333B2 (en) HD barcode
KR100729824B1 (ko) 이미지 코드 생성 장치 및 그 방법과 이미지 코드 디코딩장치 및 그 방법
WO2017198189A1 (zh) 颜色标识型彩色二维图码的生成、识读方法及装置
CN104143200B (zh) 一种图像附加信息的边框型编码与智能识别方法
CN102081748B (zh) 一种节点矩阵和节点连线形成的条码图案与条码群图案及其生成、识别方法
CN101334849A (zh) 二维码标签的符号生成方法及装置、以及二维码标签结构
CN111046996B (zh) 一种彩色qr码生成和识别方法
CN108073966A (zh) 一种二维码与孔阵码的转换方法
US20240086670A1 (en) Methods for constructing, generating, and reading dot-matrix code, dot-matrix code generating and reading terminals, and dot-matrix code system
CN108734048A (zh) 基于专***的多维度二维码生成与译码方法
ES2808953T3 (es) Procedimiento y aparato de identificación de código de barras
CN112418374B (zh) 一种信息码生成方法
CN103986476B (zh) 一种用于二维图形码的级联纠错编码方法和装置
CN109635613B (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170613