CN112598095B - 一种高密度二维码数据传输方法、装置及存储介质 - Google Patents
一种高密度二维码数据传输方法、装置及存储介质 Download PDFInfo
- Publication number
- CN112598095B CN112598095B CN202011459193.9A CN202011459193A CN112598095B CN 112598095 B CN112598095 B CN 112598095B CN 202011459193 A CN202011459193 A CN 202011459193A CN 112598095 B CN112598095 B CN 112598095B
- Authority
- CN
- China
- Prior art keywords
- image
- dimensional code
- data
- pixel points
- binarization
- 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
- 230000005540 biological transmission Effects 0.000 title claims abstract description 59
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000003860 storage Methods 0.000 title claims description 13
- 238000005520 cutting process Methods 0.000 claims abstract description 12
- 238000004806 packaging method and process Methods 0.000 claims abstract description 10
- 238000012163 sequencing technique Methods 0.000 claims abstract description 7
- 238000004590 computer program Methods 0.000 claims description 10
- 238000009432 framing Methods 0.000 claims description 10
- 238000001914 filtration Methods 0.000 claims description 3
- 230000009467 reduction Effects 0.000 claims description 3
- 238000002955 isolation Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 9
- 230000003287 optical effect Effects 0.000 description 9
- 230000000694 effects Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K17/00—Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations
- G06K17/0022—Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations arrangements or provisions for transferring data to distant stations, e.g. from a sensing device
- G06K17/0025—Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations arrangements or provisions for transferring data to distant stations, e.g. from a sensing device the arrangement consisting of a wireless interrogation device in combination with a device for optically marking the record carrier
-
- 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
-
- 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/146—Methods for optical code recognition the method including quality enhancement steps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Electromagnetism (AREA)
- Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Editing Of Facsimile Originals (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种高密度二维码数据传输方法,采用数据分包的方式将待传输数据转换成高密度二维码图像,并将高密度二维码图像通过每帧图像进行分帧传输;对获取到的每帧图像根据二维码的位置进行裁剪,对裁剪后的图像进行二维码识别,若识别出二维码信息,则解码得到数据包;若未识别出二维码信息,则对裁剪后的图像进行二值化和去除孤立点处理,并对处理后的图像进行二维码识别,若识别出二维码信息,则解码得到数据包,若未识别出二维码信息,则对二值化阈值进行调整,重复以上步骤直至解码得到数据包;将接收到的多个数据包根据时间戳的索引顺序由小到大排序,重新组合还原待传输数据。本发明在纯物理隔离的安全传输域中有广阔的应用前景。
Description
技术领域
本发明涉及数据传输领域,具体涉及一种高密度二维码数据传输方法、装置及存储介质。
背景技术
现有的纯物理隔离环境中进行数据交换传输,通常采用光盘摆渡、影像摆渡、红外传输等方式,这些方案存在操作复杂、造价成本高、设备体积大、不及时性的问题。另外现有的二维码纯物理隔离传输方案中二维码密度往往比较低,限制了每一帧数据的传输量,如若提高二维码的密度,解码的成功率会受到显著的影响,陷入两难的处境。
目前为了解决二维码高密度下的数据传输,即在320*320的像素尺寸上一次性装载2000个字符。如果摄像头从显示屏上采集到的每帧图像,直接用二维码解码模块解码的成功率往往很低,实际中测试不到20%。
有鉴于此,建立一种高密度二维码数据传输方法和装置是非常具有意义的。
发明内容
针对上述提到现有的纯物理隔离环境下的数据传输方法操作复杂、成本高,且对高密度二维码直接用二维码解码模块解码成功率低等问题。本申请的实施例的目的在于提出了一种高密度二维码数据传输方法、装置及存储介质来解决以上背景技术部分提到的技术问题。
第一方面,本申请的实施例提供了一种高密度二维码数据传输方法,包括以下步骤:
分帧传输步骤,采用数据分包的方式将待传输数据转换成高密度二维码图像,并将高密度二维码图像通过每帧图像进行分帧传输,其中数据分包的每帧图像所对应的数据包的结构包括时间戳、数据包数量、数据包索引、数据内容和冗余数据;
帧数据处理步骤,对获取到的每帧图像根据二维码的位置进行裁剪,对裁剪后的图像进行二维码识别,若识别出二维码信息,则解码得到数据包;若未识别出二维码信息,则对裁剪后的图像进行二值化和去除孤立点处理,并对处理后的图像进行二维码识别,若识别出二维码信息,则解码得到数据包,若未识别出二维码信息,则对二值化阈值进行调整,重复进行二值化和去除孤立点处理,直至识别出二维码信息,解码得到数据包;以及
数据还原步骤,将接收到的多个数据包根据时间戳的索引顺序由小到大排序,重新组合还原待传输数据。
在一些实施例中,分帧传输步骤还包括:对待传输数据进行压缩处理,并转为通用字符编码。待传输数据进行压缩处理和转编码后便于传输。
在一些实施例中,数据分包的方式为根据每帧图像的最大容量截取待传输数据,并加上时间戳和冗余数据形成数据包。待传输数据以数据分包的形式进行传输可以实现高密度二维码的识别和数据传输。
在一些实施例中,对获取到的每帧图像根据二维码的位置进行裁剪具体包括:对图像进行边角四周的裁剪,并对图像中的二维码进行快速定位,过滤无效的图像。这样可以提高二维码识别的速度和去除边界的干扰。
在一些实施例中,对裁剪后的图像进行二值化和去除孤立点处理具体包括:
对裁剪后的图像进行二值化处理,得到二值化图像;
对二值化图像进行X轴和Y轴方向的孤立点去除,其中X轴方向为二值化图像中二维码的水平方向,Y轴方向为二值化图像中二维码的垂直方向。
经过处理后的二值化图像可以去除环境噪音和光线变化引起的干扰,显著优化了高密度二维码图像二值化后信息的识别。
在一些实施例中,孤立点去除具体包括:将二值化图像中一个方向上的连续的像素点为有效信息像素点的个数小于或等于第一阈值的像素点设置为无效信息像素点。
在一些实施例中,对二值化图像进行X轴方向的孤立点去除具体包括:
遍历二值化图像的每行的二值化的值,获得连续的像素点为有效信息像素点的个数小于第一阈值的像素点并将像素点由有效信息像素点设置为无效信息像素点,其中遍历的范围为距离二值化图像的每行的边界的像素点个数超过第二阈值的像素点位置。
在一些实施例中,对二值化图像进行Y轴方向的孤立点去除具体包括:
遍历二值化图像的每列的二值化的值,获得连续的像素点为有效信息像素点的个数小于第一阈值的像素点并将像素点由有效信息像素点设置为无效信息像素点,其中遍历的范围为距离二值化图像的每列的边界的像素点个数超过第二阈值的像素点位置。
第二方面,本申请的实施例还提出了一种高密度二维码数据传输装置,包括:
分帧传输模块,被配置为采用数据分包的方式将待传输数据转换成高密度二维码图像,并将高密度二维码图像通过每帧图像进行分帧传输,其中数据分包的每帧图像所对应的数据包的结构包括时间戳、数据包数量、数据包索引、数据内容和冗余数据;
帧数据处理模块,被配置为对获取到的每帧图像根据二维码的位置进行裁剪,对裁剪后的图像进行二维码识别,若识别出二维码信息,则解码得到数据包;若未识别出二维码信息,则对裁剪后的图像进行二值化和去除孤立点处理,并对处理后的图像进行二维码识别,若识别出二维码信息,则解码得到数据包,若未识别出二维码信息,则对二值化阈值进行调整,重复进行二值化和去除孤立点处理,直至识别出二维码信息,解码得到数据包;以及
数据还原模块,被配置为将接收到的多个数据包根据时间戳的索引顺序由小到大排序,重新组合还原待传输数据。
第三方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面中任一实现方式描述的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面中任一实现方式描述的方法。
本申请的实施例提供了一种高密度二维码数据传输方法,采用数据分包的方式将待传输数据转换成高密度二维码图像,并将高密度二维码图像通过每帧图像进行分帧传输,其中数据分包的每帧图像所对应的数据包的结构包括时间戳、数据包数量、数据包索引、数据内容和冗余数据;对获取到的每帧图像根据二维码的位置进行裁剪,对裁剪后的图像进行二维码识别,若识别出二维码信息,则解码得到数据包;若未识别出二维码信息,则对裁剪后的图像进行二值化和去除孤立点处理,并对处理后的图像进行二维码识别,若识别出二维码信息,则解码得到数据包,若未识别出二维码信息,则对二值化阈值进行调整,重复进行二值化和去除孤立点处理,直至识别出二维码信息,解码得到数据包;将接收到的多个数据包根据时间戳的索引顺序由小到大排序,重新组合还原待传输数据。去除孤立点后可以显著的减少无效的像素干扰点而又不会丢失二维码的精度信息,从而达到显著提高的效果。本发明具有经济成本、体积小巧、数据传输高效稳定的优点,在需要纯物理隔离的安全传输域中有着广阔的应用前景。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请的一个实施例可以应用于其中的示例性装置架构图;
图2为本发明的实施例的高密度二维码数据传输方法的流程示意图;
图3为本发明的实施例的高密度二维码数据传输方法的步骤S2的流程示意图;
图4为本发明的实施例的高密度二维码数据传输方法的一般二值化局部放大图;
图5为本发明的实施例的高密度二维码数据传输方法的去除孤立点后的二值化局部放大图;
图6为本发明的实施例的高密度二维码数据传输装置的示意图;
图7为本发明的实施例的高密度二维码数据传输装置结合到产品的产品示意图;
图8是适于用来实现本申请实施例的电子设备的计算机装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1示出了可以应用本申请实施例的高密度二维码数据传输方法或高密度二维码数据传输装置的示例性装置架构100。
如图1所示,装置架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种应用,例如数据处理类应用、文件处理类应用等。
终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务的软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上传的文件或数据进行处理的后台数据处理服务器。后台数据处理服务器可以对获取的文件或数据进行处理,生成处理结果。
需要说明的是,本申请实施例所提供的高密度二维码数据传输方法可以由服务器105执行,也可以由终端设备101、102、103执行,相应地,高密度二维码数据传输装置可以设置于服务器105中,也可以设置于终端设备101、102、103中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。在所处理的数据不需要从远程获取的情况下,上述装置架构可以不包括网络,而只需服务器或终端设备。
图2示出了本申请的实施例公开一种高密度二维码数据传输方法,包括以下步骤:
步骤S1,采用数据分包的方式将待传输数据转换成高密度二维码图像,并将高密度二维码图像通过每帧图像进行分帧传输,其中数据分包的每帧图像所对应的数据包的结构包括时间戳、数据包数量、数据包索引、数据内容和冗余数据。
在具体的实施例中,步骤S1还包括:对待传输数据进行压缩处理,并转为通用字符编码。待传输数据进行压缩处理和转编码后便于传输。
在具体的实施例中,数据分包的方式为根据每帧图像的最大容量截取待传输数据,并加上时间戳和冗余数据形成数据包。待传输数据以数据分包的形式进行传输可以实现高密度二维码的识别和数据传输。本发明可以对待传输数据进行分帧传输,接收端可以根据发送的待传输数据的时间戳的大小对每帧数据进行重新排序,最后一起校验,从而实现对较大数据的传输。
步骤S2,对获取到的每帧图像根据二维码的位置进行裁剪,对裁剪后的图像进行二维码识别,若识别出二维码信息,则解码得到数据包;若未识别出二维码信息,则对裁剪后的图像进行二值化和去除孤立点处理,并对处理后的图像进行二维码识别,若识别出二维码信息,则解码得到数据包,若未识别出二维码信息,则对二值化阈值进行调整,重复进行二值化和去除孤立点处理,直至识别出二维码信息,解码得到数据包。
在具体的实施例中,对获取到的每帧图像根据二维码的位置进行裁剪具体包括:对图像进行边角四周的裁剪,并对图像中的二维码进行快速定位,过滤无效的图像。这样可以提高二维码识别的速度和去除边界的干扰,可以对采集到的每帧图像进行二维码的快速定位,以检测当前帧是否是有效的,从而提高二维码信息的整体发送速度。
在具体的实施例中,如图3所示,对裁剪后的图像进行二值化和去除孤立点处理具体包括:
S21:对裁剪后的图像进行二值化处理,得到二值化图像;
S22:对二值化图像进行X轴和Y轴方向的孤立点去除,其中X轴方向为二值化图像中二维码的水平方向,Y轴方向为二值化图像中二维码的垂直方向。
在具体的实施例中,孤立点去除具体包括:将二值化图像中一个方向上的连续的像素点为有效信息像素点的个数小于或等于第一阈值的像素点设置为无效信息像素点。
在此步骤如果采用一般的图像处理技术往往会丢失二维码的信息。在本实施例中,记二值化的值为0的像素点为有效信息像素点,二值化的值为1的像素点为无效信息像素点;在其他实施例中也可把二值化的值为1的作为有效信息像素点,二值化的值为0的作为无效信息像素点。连续的像素点为有效信息像素点的个数大于第一阈值的话有可能会把有效信息也去除,从而影响识别率。在优选的实施例中,第一阈值为1个或2个,即孤立点是指某一方向上连续的像素点二值化后值为0的只有一个或者两个的像素点。当然实际过程中也可以根据不同的图像分辨率来调整第一阈值。经过处理后的二值化图像可以去除环境噪音和光线变化引起的干扰,显著优化了高密度二维码图像二值化后信息的识别。
在具体的实施例中,对二值化图像进行X轴方向的孤立点去除具体包括:
遍历二值化图像的每行的二值化的值,获得连续的像素点为有效信息像素点的个数小于第一阈值的像素点并将像素点由有效信息像素点设置为无效信息像素点,其中遍历的范围为距离二值化图像的每行的边界的像素点个数超过第二阈值的像素点位置。
在其中一个的实施例中,记X轴方向上连续的相邻4个像素分别为A1、A2、A3、A4,图像数据用二维数组G表示,二维数组元素的内容是0或者1,则A1=G(row,col),A2=G(row,col+1),A3=G(row,col+2),A4=G(row,col+3),其中row表示的是行索引,col表示的是列索引。例如,若A2为0且A1为1且A3为1,则将A2设置为1,若A2为0且A3为0且A1为1且A4为1,则将A2设置为1且A3设置为1。在优选的实施例中,将第二阈值设置为3,则从每行起点开始计算3个像素点的位置开始遍历到距离终点3个像素点的位置截止,依次从第1行到第N行进行遍历。
在具体的实施例中,对二值化图像进行Y轴方向的孤立点去除具体包括:
遍历二值化图像的每列的二值化的值,获得连续的像素点为有效信息像素点的个数小于第一阈值的像素点并将像素点由有效信息像素点设置为无效信息像素点,其中遍历的范围为距离二值化图像的每列的边界的像素点个数超过第二阈值的像素点位置。
在其中一个的实施例中,记Y轴方向上连续的相邻4个像素分别为B1、B2、B3、B4,图像数据用二维数组G表示,二维数组元素的内容是0或者1,则B1=G(row,col),B2=G(row+1,col),B3=G(row+2,col),B4=G(row+3,col),其中row表示的是行索引,col表示的是列索引。例如,若B2为0且B1为1且B3为1,则将B2设置为1,若B2为0且B3为0且B1为1且B4为1,则将B2设置为1且B3设置为1。在优选的实施例中,将第二阈值设置为3,则从每列起点开始计算3个像素点的位置开始遍历到距离终点3个像素点的位置截止,依次从第1列到第M列进行遍历。
步骤S3,将接收到的多个数据包根据时间戳的索引顺序由小到大排序,重新组合还原待传输数据。
目前市场上没有针对高密度二维码传输的方案,本发明所保护的技术方案已经集成到相应的产品中,以下为常规的二维码识别和经过本发明所保护的技术方案处理的高密度二维码识别的对比效果,如表1所示:
表1
测试样本 | 直接二维码识别 | 本发明的技术方案识别二维码 |
106帧图像数据 | 106帧都不能识别 | 4帧不能识别 |
96帧图像数据 | 95帧不能识别 | 2帧不能识别 |
可以看出经过特殊处理后,高密度的QR码识别效果得到显著的提高,图4和图5是一般二值化后的二维码图和经过X和Y轴方向去除孤立点后的二值化图像的局部放大图的对比效果。去除孤立点后可以显著的减少无效的像素干扰点而又不会丢失二维码的精度信息,从而达到显著提高的效果。
进一步参考图6,作为对上述各图所示方法的实现,本申请提供了一种高密度二维码数据传输装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
本申请的实施例提出的高密度二维码数据传输装置,如图6所示,包括:
分帧传输模块1,被配置为采用数据分包的方式将待传输数据转换成高密度二维码图像,并将高密度二维码图像通过每帧图像进行分帧传输,其中数据分包的每帧图像所对应的数据包的结构包括时间戳、数据包数量、数据包索引、数据内容和冗余数据;
帧数据处理模块2,被配置为对获取到的每帧图像根据二维码的位置进行裁剪,对裁剪后的图像进行二维码识别,若识别出二维码信息,则解码得到数据包;若未识别出二维码信息,则对裁剪后的图像进行二值化和去除孤立点处理,并对处理后的图像进行二维码识别,若识别出二维码信息,则解码得到数据包,若未识别出二维码信息,则对二值化阈值进行调整,重复进行二值化和去除孤立点处理,直至识别出二维码信息,解码得到数据包;以及
数据还原模块3,被配置为将接收到的多个数据包根据时间戳的索引顺序由小到大排序,重新组合还原待传输数据。
将本发明所保护的技术方案固定在产品上,如图7所示,该产品由发送端和接收端组成的,发送端负责把待传输数据分包转换成高密度的二维码,并显示在显示屏上;接收端负责采集摄像头的实时帧数据并进行二维码的识别、业务数据的校验和显示。采用两套发送端和接收端组成的装置(下称光码)则可实现消息的互传,其中硬件结构图如7所示。其中左侧光码的显示屏连接到“计算机2”,摄像头连接到“计算机1”;右侧光码的显示屏连接到“计算机1”,摄像头连接到“计算机2”,实现了左侧计算机发送消息到右侧,右侧计算机发送消息到左侧,进而实现两侧设备互通消息的功能。在硬件上配置两个光码(二维码单向传输装置),在软件上实现互传消息的效果。
本申请的实施例提供了一种高密度二维码数据传输方法,采用数据分包的方式将待传输数据转换成高密度二维码图像,并将高密度二维码图像通过每帧图像进行分帧传输,其中数据分包的每帧图像所对应的数据包的结构包括时间戳、数据包数量、数据包索引、数据内容和冗余数据;对获取到的每帧图像根据二维码的位置进行裁剪,对裁剪后的图像进行二维码识别,若识别出二维码信息,则解码得到数据包;若未识别出二维码信息,则对裁剪后的图像进行二值化和去除孤立点处理,并对处理后的图像进行二维码识别,若识别出二维码信息,则解码得到数据包,若未识别出二维码信息,则对二值化阈值进行调整,重复进行二值化和去除孤立点处理,直至识别出二维码信息,解码得到数据包;将接收到的多个数据包根据时间戳的索引顺序由小到大排序,重新组合还原待传输数据。去除孤立点后可以显著的减少无效的像素干扰点而又不会丢失二维码的精度信息,从而达到显著提高的效果。本发明具有经济成本、体积小巧、数据传输高效稳定的优点,在需要纯物理隔离的安全传输域中有着广阔的应用前景。
下面参考图8,其示出了适于用来实现本申请实施例的电子设备(例如图1所示的服务器或终端设备)的计算机装置800的结构示意图。图8示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图8所示,计算机装置800包括中央处理单元(CPU)801和图形处理器(GPU)802,其可以根据存储在只读存储器(ROM)803中的程序或者从存储部分809加载到随机访问存储器(RAM)804中的程序而执行各种适当的动作和处理。在RAM 804中,还存储有装置800操作所需的各种程序和数据。CPU 801、GPU802、ROM 803以及RAM 804通过总线805彼此相连。输入/输出(I/O)接口806也连接至总线805。
以下部件连接至I/O接口806:包括键盘、鼠标等的输入部分807;包括诸如、液晶显示器(LCD)等以及扬声器等的输出部分808;包括硬盘等的存储部分809;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分810。通信部分810经由诸如因特网的网络执行通信处理。驱动器811也可以根据需要连接至I/O接口806。可拆卸介质812,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器811上,以便于从其上读出的计算机程序根据需要被安装入存储部分809。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分810从网络上被下载和安装,和/或从可拆卸介质812被安装。在该计算机程序被中央处理单元(CPU)801和图形处理器(GPU)802执行时,执行本申请的方法中限定的上述功能。
需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读介质或者是上述两者的任意组合。计算机可读介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的装置、装置或器件,或者任意以上的组合。计算机可读介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行装置、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行装置、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的装置来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:采用数据分包的方式将待传输数据转换成高密度二维码图像,并将高密度二维码图像通过每帧图像进行分帧传输,其中数据分包的每帧图像所对应的数据包的结构包括时间戳、数据包数量、数据包索引、数据内容和冗余数据;对获取到的每帧图像根据二维码的位置进行裁剪,对裁剪后的图像进行二维码识别,若识别出二维码信息,则解码得到数据包;若未识别出二维码信息,则对裁剪后的图像进行二值化和去除孤立点处理,并对处理后的图像进行二维码识别,若识别出二维码信息,则解码得到数据包,若未识别出二维码信息,则对二值化阈值进行调整,重复进行二值化和去除孤立点处理,直至识别出二维码信息,解码得到数据包;将接收到的多个数据包根据时间戳的索引顺序由小到大排序,重新组合还原待传输数据。
应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (7)
1.一种高密度二维码数据传输方法,其特征在于,包括以下步骤:
分帧传输步骤,采用数据分包的方式将待传输数据转换成高密度二维码图像,所述高密度二维码图像为在320*320的像素尺寸上装载2000个字符的二维码图像,并将所述高密度二维码图像通过每帧图像进行分帧传输,其中数据分包的每帧图像所对应的数据包的结构包括时间戳、数据包数量、数据包索引、数据内容和冗余数据;
帧数据处理步骤,对获取到的每帧图像根据二维码的位置进行裁剪,对裁剪后的所述图像进行二维码识别,若识别出二维码信息,则解码得到所述数据包;若未识别出二维码信息,则对裁剪后的所述图像进行二值化和去除孤立点处理,并对处理后的所述图像进行二维码识别,若识别出二维码信息,则解码得到所述数据包,若未识别出二维码信息,则对二值化阈值进行调整,重复进行二值化和去除孤立点处理,直至识别出二维码信息,解码得到所述数据包;
所述对裁剪后的所述图像进行二值化和去除孤立点处理具体包括:
对裁剪后的所述图像进行二值化处理,得到二值化图像;
对所述二值化图像进行X轴和Y轴方向的孤立点去除,其中X轴方向为所述二值化图像中二维码的水平方向,Y轴方向为所述二值化图像中二维码的垂直方向;
所述孤立点去除具体包括:将所述二值化图像中一个方向上的连续的像素点为有效信息像素点的个数小于或等于第一阈值的像素点设置为无效信息像素点;所述第一阈值为1;
所述对所述二值化图像进行X轴方向的孤立点去除具体包括:
遍历所述二值化图像的每行的二值化的值,获得连续的像素点为有效信息像素点的个数小于所述第一阈值的像素点并将所述像素点由有效信息像素点设置为无效信息像素点,其中遍历的范围为距离所述二值化图像的每行的边界的像素点个数超过第二阈值的像素点位置;
所述对所述二值化图像进行Y轴方向的孤立点去除具体包括:
遍历所述二值化图像的每列的二值化的值,获得连续的像素点为有效信息像素点的个数小于所述第一阈值的像素点并将所述像素点由有效信息像素点设置为无效信息像素点,其中遍历的范围为距离所述二值化图像的每列的边界的像素点个数超过第二阈值的像素点位置;
数据还原步骤,将接收到的多个所述数据包根据所述时间戳的索引顺序由小到大排序,重新组合还原所述待传输数据。
2.根据权利要求1所述的高密度二维码数据传输方法,其特征在于,所述分帧传输步骤还包括:对所述待传输数据进行压缩处理,并转为通用字符编码。
3.根据权利要求1所述的高密度二维码数据传输方法,其特征在于,所述数据分包的方式为根据所述每帧图像的最大容量截取所述待传输数据,并加上时间戳和冗余数据形成所述数据包。
4.根据权利要求1所述的高密度二维码数据传输方法,其特征在于,所述对获取到的每帧图像根据二维码的位置进行裁剪具体包括:对所述图像进行边角四周的裁剪,并对所述图像中的二维码进行快速定位,过滤无效的图像。
5.一种高密度二维码数据传输装置,其特征在于,包括:
分帧传输模块,被配置为采用数据分包的方式将待传输数据转换成高密度二维码图像,所述高密度二维码图像为在320*320的像素尺寸上装载2000个字符的二维码图像,并将所述高密度二维码图像通过每帧图像进行分帧传输,其中数据分包的每帧图像所对应的数据包的结构包括时间戳、数据包数量、数据包索引、数据内容和冗余数据;
帧数据处理模块,被配置为对获取到的每帧图像根据二维码的位置进行裁剪,对裁剪后的所述图像进行二维码识别,若识别出二维码信息,则解码得到所述数据包;若未识别出二维码信息,则对裁剪后的所述图像进行二值化和去除孤立点处理,并对处理后的所述图像进行二维码识别,若识别出二维码信息,则解码得到所述数据包,若未识别出二维码信息,则对二值化阈值进行调整,重复进行二值化和去除孤立点处理,直至识别出二维码信息,解码得到所述数据包;
所述对裁剪后的所述图像进行二值化和去除孤立点处理具体包括:
对裁剪后的所述图像进行二值化处理,得到二值化图像;
对所述二值化图像进行X轴和Y轴方向的孤立点去除,其中X轴方向为所述二值化图像中二维码的水平方向,Y轴方向为所述二值化图像中二维码的垂直方向;
所述孤立点去除具体包括:将所述二值化图像中一个方向上的连续的像素点为有效信息像素点的个数小于或等于第一阈值的像素点设置为无效信息像素点;所述第一阈值为1;所述对所述二值化图像进行X轴方向的孤立点去除具体包括:
遍历所述二值化图像的每行的二值化的值,获得连续的像素点为有效信息像素点的个数小于所述第一阈值的像素点并将所述像素点由有效信息像素点设置为无效信息像素点,其中遍历的范围为距离所述二值化图像的每行的边界的像素点个数超过第二阈值的像素点位置;
所述对所述二值化图像进行Y轴方向的孤立点去除具体包括:
遍历所述二值化图像的每列的二值化的值,获得连续的像素点为有效信息像素点的个数小于所述第一阈值的像素点并将所述像素点由有效信息像素点设置为无效信息像素点,其中遍历的范围为距离所述二值化图像的每列的边界的像素点个数超过第二阈值的像素点位置;
数据还原模块,被配置为将接收到的多个所述数据包根据所述时间戳的索引顺序由小到大排序,重新组合还原所述待传输数据。
6.一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-4中任一所述的方法。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-4中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011459193.9A CN112598095B (zh) | 2020-12-11 | 2020-12-11 | 一种高密度二维码数据传输方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011459193.9A CN112598095B (zh) | 2020-12-11 | 2020-12-11 | 一种高密度二维码数据传输方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112598095A CN112598095A (zh) | 2021-04-02 |
CN112598095B true CN112598095B (zh) | 2023-01-24 |
Family
ID=75192796
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011459193.9A Active CN112598095B (zh) | 2020-12-11 | 2020-12-11 | 一种高密度二维码数据传输方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112598095B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5790694A (en) * | 1995-12-05 | 1998-08-04 | Advantest Corporation | Image processing method for inspecting with analysis of binarized high and low pass information in wavelet transformed image data |
CN103473772A (zh) * | 2013-09-05 | 2013-12-25 | 北京捷成世纪科技股份有限公司 | 一种马赛克图像的检测方法和装置 |
CN105260694A (zh) * | 2015-10-22 | 2016-01-20 | 佛山科学技术学院 | 一种基于多级骨干提取与分析的二维码区域定位方法 |
CN108055116A (zh) * | 2017-10-25 | 2018-05-18 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 二维码双工通信方法 |
CN111064739A (zh) * | 2019-12-26 | 2020-04-24 | 中国人民解放军陆军工程大学 | 数据传输平台及其方法 |
-
2020
- 2020-12-11 CN CN202011459193.9A patent/CN112598095B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5790694A (en) * | 1995-12-05 | 1998-08-04 | Advantest Corporation | Image processing method for inspecting with analysis of binarized high and low pass information in wavelet transformed image data |
CN103473772A (zh) * | 2013-09-05 | 2013-12-25 | 北京捷成世纪科技股份有限公司 | 一种马赛克图像的检测方法和装置 |
CN105260694A (zh) * | 2015-10-22 | 2016-01-20 | 佛山科学技术学院 | 一种基于多级骨干提取与分析的二维码区域定位方法 |
CN108055116A (zh) * | 2017-10-25 | 2018-05-18 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 二维码双工通信方法 |
CN111064739A (zh) * | 2019-12-26 | 2020-04-24 | 中国人民解放军陆军工程大学 | 数据传输平台及其方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112598095A (zh) | 2021-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107886560B (zh) | 动画资源的处理方法及装置 | |
CN104079950A (zh) | 视频输出处理、视频接收处理的方法、装置和系统 | |
CN110675465B (zh) | 用于生成图像的方法和装置 | |
WO2022166258A1 (zh) | 行为识别方法、装置、终端设备及计算机可读存储介质 | |
CN110399511A (zh) | 基于Redis的图片缓存方法、设备、存储介质及装置 | |
CN111586473A (zh) | 视频的裁剪方法、装置、设备及存储介质 | |
US20130039429A1 (en) | Computer display content coding method and system | |
CN113691531B (zh) | 基于WebSocket协议的数据传输方法及系统、设备及存储介质 | |
CN112598095B (zh) | 一种高密度二维码数据传输方法、装置及存储介质 | |
CN115643310B (zh) | 一种压缩数据的方法、装置和系统 | |
CN113362318B (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN110504973A (zh) | 文件压缩、解压方法和装置 | |
CN113747063B (zh) | 一种视频传输的方法、装置、电子设备及可读存储介质 | |
CN112800183B (zh) | 内容名称数据处理方法及终端设备 | |
CN114598834A (zh) | 一种视频处理方法、装置、电子设备及可读存储介质 | |
CN114039969A (zh) | 一种数据传输方法及装置 | |
CN115409719A (zh) | 数据处理方法、装置、终端设备及计算机可读存储介质 | |
CN115460183A (zh) | 基于浏览器的流媒体数据播放方法、装置及相关设备 | |
CN112492250A (zh) | 图像传输系统收发两端分辨率的适配方法及装置 | |
Amarnath et al. | Enabling text-line segmentation in run-length encoded handwritten document image using entropy-driven incremental learning | |
CN112073731B (zh) | 图像解码方法、装置、计算机可读存储介质和电子设备 | |
CN110933413A (zh) | 视频帧处理方法和装置 | |
CN115426519A (zh) | H265视频在浏览器中的播放方法及系统 | |
CN110933444B (zh) | 位宽值存储方法和装置 | |
CN116634156A (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 |