CN109325573B - 一种二维码生成方法、二维码识读方法及装置 - Google Patents

一种二维码生成方法、二维码识读方法及装置 Download PDF

Info

Publication number
CN109325573B
CN109325573B CN201811117043.2A CN201811117043A CN109325573B CN 109325573 B CN109325573 B CN 109325573B CN 201811117043 A CN201811117043 A CN 201811117043A CN 109325573 B CN109325573 B CN 109325573B
Authority
CN
China
Prior art keywords
brightness
area
reset
preset
areas
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
Application number
CN201811117043.2A
Other languages
English (en)
Other versions
CN109325573A (zh
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.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and Technology Co Ltd
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 Beijing QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN201811117043.2A priority Critical patent/CN109325573B/zh
Publication of CN109325573A publication Critical patent/CN109325573A/zh
Application granted granted Critical
Publication of CN109325573B publication Critical patent/CN109325573B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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/06046Constructional details
    • G06K19/06112Constructional details the marking being simulated using a light source, e.g. a barcode shown on a display or a laser beam with time-varying intensity profile
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods 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/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14172D bar codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods 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/1404Methods for optical code recognition
    • G06K7/1439Methods for optical code recognition including a method step for retrieval of the optical code
    • G06K7/1447Methods for optical code recognition including a method step for retrieval of the optical code extracting optical codes from image or text carrying said optical code

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Optics & Photonics (AREA)
  • Image Analysis (AREA)
  • Cash Registers Or Receiving Machines (AREA)

Abstract

本发明实施例提供了一种二维码生成方法、二维码识读方法及装置,其中方法包括:获取待处理二维码,所述待处理二维码包括:多个已设有亮度的区域,将已设有亮度的区域,作为被设区域;划分每一被设区域为L行×L列的重置亮度区域,所述L大于或等于2;从与每一被设区域预先建立位置关联的L2个被设区域中,得到每一被设区域关联的L2个被设区域各自的亮度;基于每一被设区域的亮度,与所述关联的L2个被设区域各自的亮度,获得重置亮度区域中的L2个重置亮度;将L2个重置亮度设置在L行×L列的重置亮度区域中,获得已处理的二维码。

Description

一种二维码生成方法、二维码识读方法及装置
技术领域
本发明涉及移动应用技术领域,特别涉及一种二维码生成方法、二维码识读方法及装置。
背景技术
随着电子商务模式的崛起,二维码已经广泛应用在电子设备之间的通信之中。比如,手机A扫描手机B展示的二维码,读取出手机B的二维码为加好友的二维码,可以实现将手机B的二维码所展示的好友,加为手机A用户的好友。
由于二维码是用某种特定的几何图形按一定规律,在二维平面分布的黑白相间的图形记录数据符号信息,这些数据符号信息可以表示加好友的信息以及手机付款的信息等等,因此可以通过二维码实现电子设备之间的通信。用户实现上述电子设备之间的通信,可以将电子设备的二维码展示在电子设备上,或者将电子设备所展示的二维码打印为纸质版的二维码,展示纸质版的二维码。
本申请发明人在实现本发明的过程中,发现目前用户使用手机扫描二维码,存在如下问题。
不论电子设备所展示的二维码,还是纸质版的二维码,一旦展示二维码,二维码的大小固定不变。由于二维码的大小固定不变,用户需要调整手机与所扫描的二维码之间的距离,比如,若没有扫描到所有二维码,就需要用户调整手机向远离所扫描的二维码移动,从而识读二维码,这样二维码的辨识方式较为单一。
发明内容
本发明实施例的目的在于提供一种二维码生成方法、二维码识读方法及装置,解决目前二维码的辨识方式较为单一的问题。
具体技术方案如下:
第一方面,本发明实施提供了一种二维码生成方法,所述方法包括:
获取待处理二维码,所述待处理二维码包括:多个已设有亮度的区域,将已设有亮度的区域,作为被设区域;
划分每一被设区域为L行×L列的重置亮度区域,所述L大于或等于2;
从与每一被设区域预先建立位置关联的L2个被设区域中,得到每一被设区域关联的L2个被设区域各自的亮度;
基于每一被设区域的亮度,与所述关联的L2个被设区域各自的亮度,获得重置亮度区域中的L2个重置亮度;
将L2个重置亮度设置在L行×L列的重置亮度区域中,获得已处理的二维码。
进一步的,所述将L2个重置亮度设置在L行×L列的重置亮度区域中,获得已处理的二维码,包括:
将已设置重置亮度的重置亮度区域确定为被设区域,继续返回执行划分每一被设区域为L行×L列的重置亮度区域的步骤,直至达到预设划分条件,将L2个重置亮度设置在L行×L列的重置亮度区域中,获得已处理的二维码。
进一步的,所述关联的L2个被设区域包括:第一关联被设区域及第二关联被设区域,所述第一关联被设区域为所述关联的L2个被设区域中的亮度最小区域,所述第二关联被设区域为所述关联的L2个被设区域中的亮度最大区域;
所述重置亮度区域包括:第一重置亮度区域及第二重置亮度区域;所述第一重置亮度区域与所述第一关联被设区域对应,所述第二重置亮度区域与所述第二关联被设区域对应;
所述基于每一被设区域的亮度,与所述关联的L2个被设区域各自的亮度,获得重置亮度区域中的L2个重置亮度,包括:
若每一被设区域的亮度大于或等于第一预设亮度,则获取第一定义亮度,并
将所述第一定义亮度确定为第一重置亮度区域各自的重置亮度;以及
将所述每一被设区域的亮度确定为所述第二重置亮度区域各自的重置亮度;
若每一被设区域的亮度小于第一预设亮度,则将所述每一被设区域的亮度确定为所述第一重置亮度区域各自的重置亮度;以及
获取第二定义亮度,并将所述第二定义亮度确定为所述第二重置亮度区域各自的重置亮度,所述第一定义亮度与所述第二定义亮度数值不同。
进一步的,所述第一定义亮度是每一被设区域的亮度减去预设数值后得到的;
所述第二定义亮度是每一被设区域的亮度加上所述预设数值后得到的。
进一步的,多个被设区域呈P行×P列;
采用如下步骤,每一被设区域与相关联的L2个被设区域建立位置关联:
所述每一被设区域为所述多个被设区域中第N行第M列的被设区域,所述N大于0,且小于或等于P的整数,所述M大于0,且小于或等于P的整数;
与所述每一被设区域各自相关联的L2个被设区域包括:所述多个被设区域中的第
Figure GDA0003185107850000031
行第
Figure GDA0003185107850000032
列的被设区域,
Figure GDA0003185107850000033
行第
Figure GDA0003185107850000034
列的被设区域,
Figure GDA0003185107850000035
行第
Figure GDA0003185107850000036
列的被设区域,
Figure GDA0003185107850000037
行第
Figure GDA0003185107850000038
列的被设区域。
第二方面,本发明实施提供了一种二维码识读方法,所述二维码识读方法包括:
扫描二维码;
获取所述二维码中每个被设区域被划分的规则以及,基于被划分的规则,从所述二维码中扫描到的多个被设区域,所述每个被设区域被划分的规则为划分每一被设区域为L行×L列的重置亮度区域,所述被设区域已设有亮度;
若所述扫描到的多个被设区域的区域数量小于预设区域数量,则从所述扫描到的多个被设区域中,获取重置亮度区域的区域数量,所述预设区域数量为所述二维码的所有被设区域的区域总数;
若所述重置亮度区域的区域数量大于或等于所述预设区域数量,则读取所述重置亮度区域设有的亮度,所述重置亮度区域设有的亮度是基于每一被设区域的亮度,与关联的L2个被设区域各自的亮度获得的,所述每一被设区域关联的L2个被设区域各自的亮度是从与每一被设区域预先建立位置关联的L2个被设区域中得到的;
按照预设亮度映射的二进制算符,与所述预设亮度之间的映射关系,将所述重置亮度区域设有的亮度,映射成二进制序列。
进一步的,所述方法还包括:
若所述扫描到的多个被设区域的区域数量大于或等于预设区域数量,则从所述扫描到的多个被设区域中,获取每一被设区域各自划分的所述重置亮度区域设有的亮度;
将每一被设区域各自划分的所述重置亮度区域设有的亮度求平均值,得到每一被设区域的亮度平均值;
若每一被设区域的亮度平均值高于第二预设亮度,则将每一被设区域的亮度平均值映射为第一二进制算符;
若每一被设区域的亮度平均值低于所述第二预设亮度,则将每一被设区域的亮度平均值映射为第二二进制算符,所述第一二进制算符和所述第二二进制算符的数值不同。
进一步的,所述按照预设亮度映射的二进制算符,与所述预设亮度之间的映射关系,将所述重置亮度区域设有的亮度,映射成二进制序列,包括:
确定所述重置亮度区域设有的亮度的种类数量;
从预设亮度映射的二进制算符,与预设亮度之间的映射关系中,按照种类数量,找到每种所述重置亮度区域设有的亮度对应的二进制算符;
按照预设亮度映射的二进制算符,与所述预设亮度之间的映射关系中每种亮度对应的二进制算符,将所述重置亮度区域设有的亮度,映射成二进制序列。
第三方面,本发明实施例提供了一种二维码生成装置,所述装置包括:
第一获取模块,用于获取待处理二维码,所述待处理二维码包括:多个已设有亮度的区域,将已设有亮度的区域,作为被设区域;
划分模块,用于划分每一被设区域为L行×L列的重置亮度区域,所述L大于或等于2;
第二获取模块,用于从与每一被设区域预先建立位置关联的L2个被设区域中,得到每一被设区域关联的L2个被设区域各自的亮度;
第一获得模块,用于基于每一被设区域的亮度,与所述关联的L2个被设区域各自的亮度,获得重置亮度区域中的L2个重置亮度;
第二获得模块,用于将L2个重置亮度设置在L行×L列的重置亮度区域中,获得已处理的二维码。
进一步的,所述第二获得模块,具体用于:
将已设置重置亮度的重置亮度区域确定为被设区域,继续返回执行划分每一被设区域为L行×L列的重置亮度区域的步骤,直至达到预设划分条件,将L2个重置亮度设置在L行×L列的重置亮度区域中,获得已处理的二维码。
进一步的,所述关联的L2个被设区域包括:第一关联被设区域及第二关联被设区域,所述第一关联被设区域为所述关联的L2个被设区域中的亮度最小区域,所述第二关联被设区域为所述关联的L2个被设区域中的亮度最大区域;
所述重置亮度区域包括:第一重置亮度区域及第二重置亮度区域;所述第一重置亮度区域与所述第一关联被设区域对应,所述第二重置亮度区域与所述第二关联被设区域对应;
所述第一获得模块,具体用于:
若每一被设区域的亮度大于或等于第一预设亮度,则获取第一定义亮度,并
将所述第一定义亮度确定为第一重置亮度区域各自的重置亮度;以及
将所述每一被设区域的亮度确定为所述第二重置亮度区域各自的重置亮度;
若每一被设区域的亮度小于第一预设亮度,则将所述每一被设区域的亮度确定为所述第一重置亮度区域各自的重置亮度;以及
获取第二定义亮度,并将所述第二定义亮度确定为所述第二重置亮度区域各自的重置亮度,所述第一定义亮度与所述第二定义亮度数值不同。
进一步的,多个被设区域呈P行×P列;
所述装置还包括:建立模块,该建立模块,用于采用如下步骤,每一被设区域与相关联的L2个被设区域建立位置关联:
采用如下步骤,每一被设区域与相关联的L2个被设区域建立位置关联:
所述每一被设区域为所述多个被设区域中第N行第M列的被设区域,所述N大于0,且小于或等于P的整数,所述M大于0,且小于或等于P的整数;
与所述每一被设区域各自相关联的L2个被设区域包括:所述多个被设区域中的第
Figure GDA0003185107850000061
行第
Figure GDA0003185107850000062
列的被设区域,
Figure GDA0003185107850000063
行第
Figure GDA0003185107850000064
列的被设区域,
Figure GDA0003185107850000065
行第
Figure GDA0003185107850000066
列的被设区域,
Figure GDA0003185107850000067
行第
Figure GDA0003185107850000068
列的被设区域。
第四方面,本发明实施提供了一种二维码识读装置,所述二维码识读装置包括:
第一读取模块,用于扫描二维码;
第二读取模块,用于获取所述二维码中每个被设区域被划分的规则以及,基于被划分的规则,从所述二维码中扫描到的多个被设区域,所述每个被设区域被划分的规则为划分每一被设区域为L行×L列的重置亮度区域,所述被设区域已设有亮度;
第三获取模块,用于若所述扫描到的多个被设区域的区域数量小于预设区域数量,则从所述扫描到的多个被设区域中,获取重置亮度区域的区域数量,所述预设区域数量为所述二维码的所有被设区域的区域总数;
第三读取模块,用于若所述重置亮度区域的区域数量大于或等于所述预设区域数量,则读取所述重置亮度区域设有的亮度,所述重置亮度区域设有的亮度是基于每一被设区域的亮度,与关联的L2个被设区域各自的亮度获得的,所述每一被设区域关联的L2个被设区域各自的亮度是从与每一被设区域预先建立位置关联的L2个被设区域中;
映射模块,用于按照预设亮度映射的二进制算符,与所述预设亮度之间的映射关系,将所述重置亮度区域设有的亮度,映射成二进制序列。
进一步的,所述装置还包括:第四获取模块,所述第四获取模块,用于:
若所述扫描到的多个被设区域的区域数量大于或等于预设区域数量,则从所述扫描到的多个被设区域中,获取每一被设区域各自划分的所述重置亮度区域设有的亮度;
将每一被设区域各自划分的所述重置亮度区域设有的亮度求平均值,得到每一被设区域的亮度平均值;
若每一被设区域的亮度平均值高于第二预设亮度,则将每一被设区域的亮度平均值映射为第一二进制算符;
若每一被设区域的亮度平均值低于所述第二预设亮度,则将每一被设区域的亮度平均值映射为第二二进制算符,所述第一二进制算符和所述第二二进制算符的数值不同。
进一步的,所述映射模块,具体用于:
确定所述重置亮度区域设有的亮度的种类数量;
从预设亮度映射的二进制算符,与预设亮度之间的映射关系中,按照种类数量,找到每种所述重置亮度区域设有的亮度对应的二进制算符;
按照预设亮度映射的二进制算符,与所述预设亮度之间的映射关系中每种亮度对应的二进制算符,将所述重置亮度区域设有的亮度,映射成二进制序列。
第五方面,本发明实施提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现第一方面所述的方法步骤。
第六方面,本发明实施提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现第二方面所述的方法步骤。
第七方面,本发明实施提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面任一的方法。
第八方面,本发明实施提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第二方面任一的方法。
第九方面,本发明实施还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面任一的方法。
第十方面,本发明实施还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第二方面任一的方法。
本发明实施例提供的一种二维码生成方法,将待处理二维码中每个被设区域,划分为L行×L列的重置亮度区域;从与每一被设区域预先建立位置关联的L2个被设区域中,得到每一被设区域关联的L2个被设区域各自的亮度;基于每一被设区域的亮度,与关联的L2个被设区域各自的亮度,获得重置亮度区域中的L2个重置亮度;将L2个重置亮度设置在L行×L列的重置亮度区域中,获得已处理的二维码。
由此可见,待处理二维码中的每个被设区域,划分为L行×L列的重置亮度区域,重置亮度区域的大小为被设区域的相当于1/L2倍,并且所有重置亮度区域各自的重置亮度来自于待处理二维码的所有被设区域的亮度,相当于,在待处理二维码的被设区域中,嵌入了重置亮度区域的重置亮度。这样,不仅待处理二维码的所有被设区域,展示待处理二维码所有被设区域的亮度,而且,重置亮度区域,也展示待处理二维码被设区域的亮度,从而可以通过在二维码的被设区域和重置亮度区域来辨识已处理的二维码,增加了已处理的二维码的辨识方式,也提高了已处理的二维码的信息承载能力。
本发明实施例提供的一种二维码识读方法,获取扫描的二维码中每个被设区域被划分的规则以及,基于被划分的规则,从二维码中扫描到的多个被设区域,每个被设区域被划分的规则为将多个被设区域中的每个被设区域,划分为L行×L列的重置亮度区域,被设区域已设有亮度;若扫描到的多个被设区域的区域数量小于预设区域数量,则从扫描到的多个被设区域中,获取重置亮度区域的区域数量,预设区域数量为二维码的所有被设区域的区域总数;若重置亮度区域的区域数量大于或等于预设区域数量,则读取重置亮度区域设有的亮度;按照预设亮度映射的二进制算符,与预设亮度之间的映射关系,将重置亮度区域设有的亮度,映射成二进制序列。
由此可见,相较于现有技术,若只扫描到二维码中部分区域,也就是重置亮度区域,并不是所有的被设区域,且扫描的二维码中,重置亮度区域的数量大于或等于预设区域数量,则读取重置亮度区域设有的亮度,映射成二进制序列,不需要用户调整手机与所扫描的二维码之间的距离,提高了二维码的辨识度,提高用户信息获取的效率。
当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例提供的二维码生成方法的第一流程示意图;
图2为本发明实施例提供的图1中步骤140的具体流程示意图;
图3为本发明实施例提供的二维码生成方法的第二流程示意图;
图4为本发明实施例的待处理二维码的示意图;
图5为本发明实施例的已处理的二维码的第一示意图;
图6为本发明实施例的已处理的二维码的第二示意图;
图7为本发明实施例提供的二维码生成方法的第一流程示意图
图8为本发明实施例的二维码生成装置的结构示意图;
图9为本发明实施例的二维码识读装置的结构示意图;
图10为本发明实施例二维码生成装置对应的电子设备的结构示意图;
图11为本发明实施例为二维码识读装置对应的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
为了解决现有技术二维码的辨识方式较为单一的问题,本发明实施例提供一种二维码生成方法、二维码识读方法及装置,将待处理二维码中每个被设区域,划分为L行×L列的重置亮度区域;从与每一被设区域预先建立位置关联的L2个被设区域中,得到每一被设区域关联的L2个被设区域各自的亮度;基于每一被设区域的亮度,与关联的L2个被设区域各自的亮度,获得重置亮度区域中的L2个重置亮度;将L2个重置亮度设置在L行×L列的重置亮度区域中,获得已处理的二维码。
由此可见,将待处理二维码中的每个被设区域,划分为L行×L列的重置亮度区域,重置亮度区域的大小为被设区域的相当于1/L2倍,并且所有重置亮度区域各自的重置亮度来自于待处理二维码的所有被设区域的亮度,相当于,在待处理二维码的被设区域中,嵌入了重置亮度区域的重置亮度。这样,不仅待处理二维码的所有被设区域,展示待处理二维码所有被设区域的亮度,而且,重置亮度区域,也展示待处理二维码被设区域的亮度,从而可以通过在二维码的被设区域和重置亮度区域来辨识已处理的二维码,增加了已处理的二维码的辨识方式,也提高了已处理的二维码的信息承载能力。相较于现有技术,若只扫描到二维码中部分区域,也就是重置亮度区域,并不是所有的被设区域,且扫描的二维码中,重置亮度区域的数量大于或等于预设区域数量,则读取重置亮度区域设有的亮度,映射成二进制序列,不需要用户调整手机与所扫描的二维码之间的距离,提高了二维码的辨识度,提高用户信息获取的效率。
第一方面,下面首先对本发明实施例提供的一种二维码生成方法进行介绍。
本发明实施例所提供的二维码生成方法可以应用的行业,比如物流行业,进一步的,应用于商场、超市等批发零售行业。本发明实施例所提供的二维码生成方法可以应用的电子设备,比如移动终端,进一步的,POS(point of sale,销售网点系统)机,智能手机等。
参见图1,图1为本发明实施例提供的二维码生成方法的第一流程示意图。本发明实施例所提供的一种二维码生成方法,可以包括如下步骤:
步骤110,获取待处理二维码,该待处理二维码包括:多个已设有亮度的区域,将已设有亮度的区域,作为被设区域。
本发明实施例需要对二维码进行重置亮度的处理,因此,将这个二维码称为待处理二维码。本发明实施例这个待处理二维码,可以与最终的已处理的二维码进行区分。待处理二维码说明需要对二维码进行重置亮度,而,已处理的二维码是指已经完成对待处理二维码进行重置亮度的二维码。
本发明实施例中待处理二维码所呈现出来的黑白相间的图形,这些图形用于记录数据符号信息,示例性的,数据符号信息包括:零售商品、储运包装商品、物流单元及二维码标识。这些黑白相间的图形中的每个黑块图形/白块图形,分别可以称为黑色块/白色块。这里的黑色块和白色块可以统称为色块。每个色块在待处理二维码中的位置,称为被设区域。也就是说,设有亮度的被设区域,可以称为色块。这些被设区域可以是指待处理二维码中未被划分的被设区域,也可以是待处理二维码中已被划分并且重置亮度的被设区域,只要是包含有亮度,并且属于二维码中的已设有亮度的区域,均属于本发明实施例被设区域。若待处理二维码的被设区域是未被划分过的被设区域,则这个被设区域内的亮度,就是待处理二维码中的原有的亮度;若待处理二维码的被设区域是已被划分并且重置亮度的被设区域,则这个被设区域内的亮度,就是待处理二维码中的被设区域内的重置亮度。相当于,上述亮度包括:原有的亮度及重置亮度,具体的亮度,根据实际情况决定。
为了能够获取到待处理二维码,本步骤110可以采用如下至少一种可能的实现方式获取待处理二维码,具体包括:
在一种可能的实现方式中,从预设的二维码数据库中,获取任一二维码,将这个二维码作为,待处理二维码;预设的二维码数据库用于存储用户预先存储的所需二维码。这样方便用户直接获取到待处理二维码。
由于上述预设的二维码数据库存在占用内存的问题,因此为解决此问题,在另一种可能的实现方式中,接收用户输入的二维码的二进制序列,基于二进制序列的预设规则,生成待处理二维码。这样用户可以实时输入二进制序列,减少上述预设的二维码数据库的占用内存,及时地生成待处理二维码,也满足用户及时输入二维码的要求。
上述二进制序列是由二进制算符组成,其中二进制算符分别为0,1。第一二进制算符为二进制算符中的一个,第二二进制算符为二进制算符中的另一个。比如,第一二进制算符为0,第二二进制算符为1;第二二进制算符为1,第一二进制算符为0。上述另一种可能的实现方式中采用如下的二进制序列的预设规则,生成待处理二维码:
第一步,将二维码的二进制序列的每三位二进制数,划分为一组二进制子序列;
第二步,针对每组二进制子序列,该组二进制子序列中的第一二进制算符的数量多于第二二进制算符,将在该组二进制子序列中添补一位第二二进制算符;
第三步,针对每组二进制子序列,该组二进制子序列中的第二二进制算符的数量多于第一二进制算符,将在该组二进制子序列中添补一位第一二进制算符;
第四步,将所有组添补后的二进制序列,生成待处理二维码。这样每三个二进制数的数量变成四个,然后后续使用每四个二进制数进行一组进行处理,这样方便后期利用每四个二进制数所在被设区域进行解码。
步骤120,划分每一被设区域为L行×L列的重置亮度区域,L大于或等于2。
其中,一般待处理二维码中未划分的被设区域的亮度为黑色或白色,可以通过扫描待处理二维码的被设区域的亮度或重置亮度区域的重置亮度,进而识读得到二进制序列。一般待处理二维码中为1的二进制算符可以映射为白色块,也就是,被设区域的亮度可以为白色,亮度数值为255;二维码中为0的二进制算符可以映射为黑色块,也就是,被设区域的亮度可以为黑色,亮度数值为0。重置亮度区域是划分被设区域后,所划分得到的区域。
本步骤120中,划分每一被设区域为L行×L列的重置亮度区域具体包括:不规则划分每一被设区域为L行×L列的重置亮度区域。只要能够展示各自的重置亮度的重置亮度区域,均属于本发明实施例保护范围。
由于不规则划分每一被设区域可能会使得二维码展示出来的重置亮度区域大小不一,不方便统一调整重置亮度区域的大小,也会使得用户直观感觉不适,因此为了解决这个问题,本发明实施例步骤120可以采用如下至少一种可能的实现方式,划分每一被设区域为L行×L列的重置亮度区域:
在一种可能的实现方式中,均匀划分分每一被设区域为L行×L列的重置亮度区域。这样可以按照统一设置的所需划分的个数,划分每一被设区域,并且,能够方便均匀的展示重置亮度区域,提高用户舒适度。
步骤130,从与每一被设区域预先建立位置关联的L2个被设区域中,得到每一被设区域关联的L2个被设区域各自的亮度。
上述与每一被设区域预设建立位置关联的L2个被设区域,也就是每一被设区域与相关联的L2个被设区域建立位置关联,是基于每一被设区域,建立与相关联的L2个被设区域的位置关联。具体可根据用户需要或者工业需求,所建立的位置关联。
为了能够确定待处理二维码中每一被设区域与相关联的L2个被设区域,因此本步骤130可以采用如下步骤,每一被设区域与相关联的L2个被设区域建立位置关联:
多个被设区域呈P行×P列;每一被设区域为多个被设区域中第N行第M列的被设区域,其中N大于0,且小于或等于P的整数,M大于0,且小于或等于P的整数;
与每一被设区域各自相关联的L2个被设区域包括:多个被设区域中的第
Figure GDA0003185107850000141
行第
Figure GDA0003185107850000142
列的被设区域,其中,i∈(0,L],j∈(0,L],i,j均为正整数。每次从i∈(0,L]中依次为i取一个固定取值时,从j∈(0,L]中依次为j取不同值,得到与每一被设区域各自相关联的L2个被设区域;或者,每次从j∈(0,L]中依次i取一个固定取值时,从i∈(0,L]中依次给j取不同值,得到与每一被设区域各自相关联的L2个被设区域。具体的,参见如下:
与每一被设区域各自相关联的L2个被设区域包括:多个被设区域中的第
Figure GDA0003185107850000143
行第
Figure GDA0003185107850000144
列的被设区域,
Figure GDA0003185107850000145
行第
Figure GDA0003185107850000146
列的被设区域,
Figure GDA0003185107850000147
行第
Figure GDA0003185107850000148
列的被设区域,
Figure GDA0003185107850000149
行第
Figure GDA00031851078500001410
列的被设区域。
第一示例,在L的取值为2时,L2的取值为4,重置亮度区域呈2行×2列;P=24,多个被设区域呈24行×24列,每一被设区域与相关联的L2个被设区域建立位置关联:
每一被设区域为多个被设区域中第N行第M列的被设区域,N大于0,且小于或等于P的整数,M大于0,且小于或等于P的整数;
与每一被设区域各自相关联的22个被设区域包括:多个被设区域中的第2[(N-1)mod12]+1行第2[(M-1)mod12]+1列的被设区域,第2[(N-1)mod12]+1行第2[(M-1)mod12]+2列的被设区域,第2[(N-1)mod12]+2行第2[(M-1)mod12]+1列的被设区域,以及第2[(N-1)mod12]+2行第2[(M-1)mod12]+2列的被设区域。
这样可以每一被设区域与各自相关联的4个被设区域建立位置关系,方便在掌握每一被设区域的情况下,直接使用与每一被设区域各自相关联的4个被设区域。
第二示例,在L的取值为4时,L2的取值为16,重置亮度区域呈4行×4列;P=24,多个被设区域呈24行×24列。这里可以通过两种方式实现取值为16的L2。其中,一种实现方式,可以通过两次划分每一被设区域完成的。具体的,
已划分每一被设区域为2行×2列的重置亮度区域,并且该2行×2列的重置亮度区域已设置重置亮度,再重新将已设置重置亮度的重置亮度区域确定为被设区域;将重新确定的被设区域划分为2行×2列的重置亮度区域,对重新确定的重置亮度区域,进而得到呈4行×4列的重置亮度区域。
这样,按照上述第一示例,将每一被设区域与相关联的L2个被设区域建立位置进行两次关联,既可,完成在重置亮度区域呈4行×4列时,每一被设区域与相关联的L2个被设区域建立位置关联的过程。
另一种实现方式,每一被设区域为所述多个被设区域中第N行第M列的被设区域,所述N大于0,且小于或等于P的整数,所述M大于0,且小于或等于P的整数;
与每一被设区域各自相关联的42个被设区域包括:多个被设区域中的第4[(N-1)mod12]+1行第4[(M-1)mod12]+1列的被设区域,
第4[(N-1)mod12]+1行第4[(M-1)mod12]+2列的被设区域,
第4[(N-1)mod12]+1行第4[(M-1)mod12]+3列的被设区域,
第4[(N-1)mod12]+1行第4[(M-1)mod12]+4列的被设区域,
第4[(N-1)mod12]+2行第4[(M-1)mod12]+1列的被设区域,
第4[(N-1)mod12]+2行第4[(M-1)mod12]+2列的被设区域,
第4[(N-1)mod12]+2行第4[(M-1)mod12]+3列的被设区域,
第4[(N-1)mod12]+2行第4[(M-1)mod12]+4列的被设区域,
第4[(N-1)mod12]+3行第4[(M-1)mod12]+1列的被设区域,
第4[(N-1)mod12]+3行第4[(M-1)mod12]+2列的被设区域,
第4[(N-1)mod12]+3行第4[(M-1)mod12]+3列的被设区域,
第4[(N-1)mod12]+3行第4[(M-1)mod12]+4列的被设区域,
第4[(N-1)mod12]+4行第4[(M-1)mod12]+1列的被设区域,
第4[(N-1)mod12]+4行第4[(M-1)mod12]+2列的被设区域,
第4[(N-1)mod12]+4行第4[(M-1)mod12]+3列的被设区域,以及,
第4[(N-1)mod12]+4行第2[(M-1)mod12]+4列的被设区域。
这样可以每一被设区域与各自相关联的16个被设区域建立位置关系,方便在掌握每一被设区域的情况下,直接使用与每一被设区域各自相关联的16个被设区域。
步骤140,基于每一被设区域的亮度,与关联的L2个被设区域各自的亮度,获得重置亮度区域中的L2个重置亮度。
本发明实施例中二维码中未划分的被设区域的亮度,称为被设区域的亮度。这个被设区域的亮度,可以与重置亮度进行区分。本发明实施例的重置亮度是指需要对重置亮度区域所重新设置的亮度。
上述重置亮度可以是定义亮度;这里的定义亮度包括但不限:第一定义亮度及第二定义亮度。定义亮度可以根据用户需要进行设置,也可以基于每一被设区域的亮度,与关联的L2个被设区域各自的亮度,计算得到的。进一步的,采用如下步骤,计算得到定义亮度:
将关联的L2个被设区域中大于或等于第一预设亮度的亮度,减去预设数值后,得到的第一定义亮度;
将关联的L2个被设区域中小于第一预设亮度的亮度,加上所述预设数值后,得到的第二定义亮度。上述的预设数值及预设数值可以根据用户需要进行设置。优选地,第一定义亮度是每一被设区域的亮度减去预设数值后得到的,并该第一定义亮度大于所述第一预设亮度;第二定义亮度是每一被设区域的亮度加上预设数值后得到的,并该第二定义亮度小于第一预设亮度。这样,重置亮度前和重置亮度后的色差不会太大,方便后期取亮度平均值,识读二维码。
遵从四舍五入,预设数值一般设置为255/2约等于128,这样方便快速得到预设数值;在L2的取值为4时,预设数值也可以是在85与170之间取任一数值,预设数值可以是
Figure GDA0003185107850000171
约等于85;在L2的取值为16时,预设数值也可以是在113与142之间取任一数值,预设数值可以是
Figure GDA0003185107850000172
约等于28,预设数值可以是
Figure GDA0003185107850000173
约等于36。
步骤150,将L2个重置亮度设置在L行×L列的重置亮度区域中,获得已处理的二维码。
若针对所有的重置亮度区域,将重置亮度已经完成设置在各自的重置亮度区域中,目前只需要获得已处理的二维码,则本步骤150可以采用如下至少一种实现方式,将L2个重置亮度设置在L行×L列的重置亮度区域中,获得已处理的二维码:
针对所有的重置亮度区域,将L2个重置亮度设置在L行×L列的重置亮度区域中,将已经完成重置亮度的所有重置亮度区域,生成已处理的二维码。这样可以需要进行本次重置亮度,得到所需的已处理的二维码,方便快速地得到所需的已处理的二维码。
若针对所有的重置亮度区域,将L2个重置亮度设置在L行×L列的重置亮度区域中,还需要对已经完成设置重置亮度的重置亮度区域,再进行重置亮度,最终获得已处理的二维码,则本步骤150可以采用如下步骤实现将L2个重置亮度设置在L行×L列的重置亮度区域中,获得已处理的二维码:
针对所有的重置亮度区域,将已设置重置亮度设置的重置亮度区域,确定为被设区域,继续返回执行划分每一被设区域为L行×L列的重置亮度区域的步骤,直至达到预设划分条件,将L2个重置亮度设置在L行×L列的重置亮度区域中,获得已处理的二维码,也就是将已经完成重置亮度的所有重置亮度区域,生成已处理的二维码。这样可以进行多次重置亮度,满足不同用户的需求,也可以通过多次设置的重置亮度区域,分别展示一个完整二维码的亮度,增加了已处理的二维码的辨识方式。后续用户可以利用任一个二维码的亮度,识读重置亮度区域设有的亮度,映射成二进制序列,不需要用户调整手机与所扫描的二维码之间的距离,提高了二维码的辨识度,提高用户信息获取的效率。
这里的预设划分条件是根据用户需求进行设置的。比如,预设划分条件为被设区域开始划分的份数为4份,也就是L2的取值为4;被设区域结束划分的份数为16份,也就是L2的取值为16。只要能够满足使用本发明实施例的二维码生成方法进行任何划分的预设划分条件,均属于本发明实施例的保护范围。一般4份都可以展示一个完整二维码的亮度,已经可以满足用户的需求,16份都可以展示一个完整二维码的亮度,满足用户更高的需求,如果份数大于16份,可能会增加计算量,但是并不做限定。
本发明实施例的二维码生成方法,相当于实现将待处理二维码的所有被设区域,统一划分为L行×L列矩阵的L2个区域;每个区域内的所有被设区域被划分为L行×L列矩阵的L2个重置亮度区域,这样每个区域内的所有重置亮度区域包含待处理二维码的所有被设区域的亮度。这样可以由被设区域形成一个完整二维码的亮度,也可以在每个区域的所有重置亮度区域中展示一个完整二维码的亮度,也就是,一个已处理的二维码可以包含一个待处理二维码的亮度,和划分后L2待处理二维码的亮度,即,一个已处理的二维码合计可包含至少L2+1个二维码的亮度,增加了已处理的二维码的辨识方式。后续用户可以利用任一个二维码的亮度,识读重置亮度区域设有的亮度,映射成二进制序列,不需要用户调整手机与所扫描的二维码之间的距离,提高了二维码的辨识度,提高用户信息获取的效率。
结合上述图1所示的实施例,参见图2,图2为本发明实施例提供的图1中步骤140,可以采用如下步骤141至步骤143,实现基于每一被设区域的亮度,与所述关联的L2个被设区域各自的亮度,获得L2个重置亮度区域各自的重置亮度:
关联的L2个被设区域包括:第一关联被设区域及第二关联被设区域,第一关联被设区域为关联的L2个被设区域中的亮度最小区域,第二关联被设区域为关联的L2个被设区域中的亮度最大区域;
重置亮度区域包括:第一重置亮度区域及第二重置亮度区域;第一重置亮度区域与第一关联被设区域对应,第二重置亮度区域与第二关联被设区域对应;
步骤141,判断每一被设区域的亮度是否小于第一预设亮度,若否,说明被设区域的亮度存在有处于第一预设亮度区间中的亮度,或者被设区域的亮度较大,则执行步骤142;若是,说明被设区域的亮度存在有处于第二预设亮度区间中的亮度,或者被设区域的亮度较小,则执行步骤143;
步骤142,获取第一定义亮度,并将第一定义亮度确定为第一重置亮度区域各自的重置亮度;以及将每一被设区域的亮度确定为第二重置亮度区域各自的重置亮度。这样可以通过每一被设区域的亮度及第一定义亮度,区分被设区域的亮度及重置亮度区域的亮度,不仅待处理二维码的所有被设区域,展示待处理二维码所有被设区域的亮度,而且,重置亮度区域,也展示待处理二维码被设区域的亮度,
为了能够获取第一定义亮度,本步骤142中可以采用如下至少一种方式获取第一定义亮度:
在一种方式中,从预先定义好的亮度区间中,获取小于被设区域的亮度的任一亮度确定为第一定义亮度。这样可以获取预先定义好的第一定义亮度,方便快速获取。
预先定义好的亮度区间可以为利用亮度范围划分的预设亮度区间,这个预设亮度区间包括:第一预设亮度区间及第二预设亮度区间。第一预设亮度区间的亮度可以均大于第二预设亮度区间;第一预设亮度区间的亮度也可以均小于第二预设亮度区间。根据实际需要进行设定。
预设亮度区间可以包括:被划分的子区间,子区间包括:第一预设亮度子区间及第二预设亮度子区间。第一预设亮度子区间的亮度可以均大于第二预设亮度子区间;第一预设亮度子区间的亮度也可以均小于第二预设亮度子区间。根据实际需要进行设定。
进一步的,第一预设亮度区间的子区间包括:第一预设亮度区间的第一预设亮度子区间及第一预设亮度区间的第二预设亮度子区间;第二预设亮度区间的子区间包括:第二预设亮度区间的第一预设亮度子区间及第二预设亮度区间的第二预设亮度子区间。
示例性的,亮度范围为[0,255],第一预设亮度区间为[0,85],第一预设亮度区间的第一预设亮度子区间为[0,28],第一预设亮度区间的第二预设亮度子区间为(28,85];第二预设亮度区间为[170,255],第二预设亮度区间的第一预设亮度子区间为[85,170),第二预设亮度区间的第二预设亮度子区间为[170,255]。或者,第一预设亮度区间为[0,13],第一预设亮度区间的第一预设亮度子区间为[0,28],第一预设亮度区间的第二预设亮度子区间为[85,113];第二预设亮度区间为[142,255],第二预设亮度区间的第一预设亮度子区间为[142,170],第二预设亮度区间的第二预设亮度子区间为[197,255]。
第一预设亮度为亮度范围内的亮度,第一定义亮度为从亮度范围内的第一预设亮度区间中,获取一个小于被设区域的亮度得到的亮度。示例性的,假设一第一预设亮度区间的亮度均小于第二预设亮度区间,即为[0,85]的第一预设亮度区间均小于为[170,255]的第二预设亮度区间,第一预设亮度可以为128,第一预设亮度区间为[0,85],第一定义亮度为可以为85。
在另一种方式中,获取每一被设区域的亮度,将每一被设区域的亮度减去预设数值后,得到第一定义亮度。这样可以实时计算出第一定义亮度。
第一示例,在被设区域的亮度大于第一预设亮度,预设数值为85时,被设区域的亮度为255,第一预设亮度为128,第一定义亮度为255-85=170;
第二示例,在被设区域的亮度大于第一预设亮度,预设数值为85时,被设区域的亮度为170,第一预设亮度为128,第一定义亮度为170-85=85。
第三示例,在被设区域的亮度大于第一预设亮度,预设数值为28时,被设区域的亮度为255,第一预设亮度为128,第一定义亮度为255-28=227;
第四示例,在被设区域的亮度大于第一预设亮度,预设数值为28时,被设区域的亮度为170,第一预设亮度为128,第一定义亮度为170-28=142。
步骤143,将每一被设区域的亮度确定为第一重置亮度区域各自的重置亮度;以及获取第二定义亮度,并将第二定义亮度确定为第二重置亮度区域各自的重置亮度,第一定义亮度与第二定义亮度数值不同。
这里的第二定义亮度可以大于第一定义亮度,也可以小于第一定义亮度,只要是能够区分,被设区域和重置亮度区域的亮度既可。这样可以通过每一被设区域的亮度及第二定义亮度,区分被设区域的亮度及重置亮度区域的亮度,不仅待处理二维码的所有被设区域,展示待处理二维码所有被设区域的亮度,而且,重置亮度区域,也展示待处理二维码被设区域的亮度。
这里的,第二定义亮度可以使用第一定义亮度的获取的方式进行处理,第二定义亮度的获取方式,除了将第一定义亮度的获取的方式中的第一定义亮度替换为第二定义亮度作为处理对象以外,其他步骤均与第一定义亮度相同,均能够达到相同或相似的有益效果,在此不再详细解释说明。
第一示例,在被设区域的亮度小于第一预设亮度,预设数值为85时,被设区域的亮度为0,第一预设亮度为128,第二定义亮度为0+85=85;
第二示例,在被设区域的亮度小于第一预设亮度,预设数值为85时,被设区域的亮度为85,第一预设亮度为128,第二定义亮度为85+85=170。
第三示例,在被设区域的亮度小于第一预设亮度,预设数值为28时,被设区域的亮度为0,第一预设亮度为128,第一定义亮度为0+28=28;
第四示例,在被设区域的亮度小于第一预设亮度,预设数值为28时,被设区域的亮度为85,第一预设亮度为128,第一定义亮度为85+28=113。
本发明实施例,若每一被设区域的亮度大于或等于第一预设亮度,则使用第一定义亮度确定为第一重置亮度区域各自的重置亮度;若每一被设区域的亮度小于第一预设亮度,则使用第二定义亮度确定为所述第二重置亮度区域各自的重置亮度。这样可以基于预先定义的第一定义亮度及第二定义亮度,或者计算的第一定义亮度及第二定义亮度确定为重置亮度区域各自的重置亮度,这样可以区分被设区域的亮度及重置亮度区域的亮度,不仅待处理二维码的所有被设区域,展示待处理二维码所有被设区域的亮度,而且,重置亮度区域,也展示待处理二维码被设区域的亮度,从而可以通过在二维码的被设区域和重置亮度区域来辨识已处理的二维码,增加了已处理的二维码的辨识方式,也提高了已处理的二维码的信息承载能力。后期可以利用被设区域的亮度及重置亮度区域的亮度,识读已处理二维码。
参见图3所示,本发明实施例的具体实现流程举例如下。
先说明一下,图4、图5及图6中只示意了图4中的一个待处理二维码的被设区域W。
步骤210,获取待处理二维码,待处理二维码包括:多个已设有亮度的区域,将已设有亮度的区域,作为被设区域。
图4中的待处理二维码的被设区域的亮度:如下只示意出包含:待处理二维码的被设区域的亮度中第1行第1个的亮度至第1行第4个的亮度,即,255、0、255、0、0、255、0、0;第2行第1个的亮度至第1行第4个的亮度,即,255、0、255、0、0、255、255、255;第P行第1个的亮度至第P行第4个的亮度,即,255、255、255、0、0、255、255、0,第1行第P个的亮度,即,0,以及至第P行第P个的亮度。
Figure GDA0003185107850000221
步骤220,划分每一被设区域为L行×L列的重置亮度区域,L的取值为2。
步骤230,从与每一被设区域预先建立位置关联的L2个被设区域中,得到每一被设区域关联的L2个被设区域各自的亮度。
步骤240,在第一预设亮度为128,预设数值为85,被设区域的亮度分别为255和0时,判断每一被设区域的亮度是否小于第一预设亮度,若是,则执行步骤241,若否,则执行步骤244;
步骤241,在被设区域的亮度为255时,被设区域的亮度大于第一预设亮度,获取第一定义亮度为255-85=170。
步骤242,将第一定义亮度确定为第一重置亮度区域各自的重置亮度,第一重置亮度区域与第一关联的L2个被设区域对应,第一关联的L2个被设区域的亮度最小,即,将为170的第一定义亮度替换,为0待处理二维码的被设区域的亮度;以及
步骤243,将每一被设区域的亮度确定为第二重置亮度区域各自的重置亮度,第二重置亮度区域与第二关联的L2个被设区域对应,第二关联的L2个被设区域的亮度最大;即,将为255的被设区域的亮度保留为,为255待处理二维码的被设区域的亮度。
步骤244,在被设区域的亮度为0时,被设区域的亮度小于第一预设亮度,获取第二定义亮度为0+85=85。
步骤245,将第二定义亮度确定为第二重置亮度区域各自的重置亮度,也就是,将为85的第一定义亮度替换,为255待处理二维码的被设区域的亮度。
步骤246,将每一被设区域的亮度确定为第一重置亮度区域各自的重置亮度;也就是,将为0的被设区域的亮度保留为,为0待处理二维码的被设区域的亮度。
采用如下第一种方式表示待处理二维码的重置亮度区域各自的重置亮度,只示意出图4中待处理二维码的被设区域的亮度中第1行第1个的亮度至第1行第4个的亮度,即,255、0、255、0;第2行第1个的亮度至第1行第4个的亮度,即,255、0、255、0;第P行第1个的亮度至第P行第4个的亮度,即,255、255、255、0,第1行第P个的亮度,即,0,以及至第P行第P个的亮度,即255等亮度,所对应的重置亮度区域各自的重置亮度等,这些示意出图4中的待处理二维码的被设区域的亮度对应的重置亮度区域各自的重置亮度。详见参见图5所示。采用如下第一种方式表示待处理二维码的重置亮度区域各自的重置亮度:
Figure GDA0003185107850000241
步骤250,判断是否达到预设划分条件,其中预设划分条件为被设区域被划分为16份,若否,则执行步骤251;若是,则执行步骤252。
步骤251,针对所有的重置亮度区域,将已设置重置亮度设置的重置亮度区域,确定为被设区域,继续返回执行步骤220,直至达到预设划分条件,执行步骤252。
假设第一预设亮度为128,预设数值为28,被设区域的亮度分别为0、85、170和255;在被设区域的亮度为255时,被设区域的亮度大于第一预设亮度,第一定义亮度为255-28=227。在被设区域的亮度为170时,被设区域的亮度大于第一预设亮度,第一定义亮度为170-28=142。
在被设区域的亮度为85时,被设区域的亮度小于第一预设亮度,第一定义亮度为85+28=113。在被设区域的亮度为0时,被设区域的亮度小于第一预设亮度,第二定义亮度为0+28=28。
上述将重置亮度设置各自的重置亮度区域,确定为被设区域,则采用如下第二种方式表示待处理二维码的重置亮度区域各自的重置亮度,只示意出图5中的待处理二维码的被设区域的亮度中第1行第1个的亮度至第1行第4个的亮度,即,255、170、85、0;第2行第1个的亮度至第1行第4个的亮度,即,255、170、85、0;第P-1行第1个的亮度至第P-1行第4个的亮度,即,170、170、170、255,第P行第1个的亮度至第P行第4个的亮度,即,255、255、255、170,第1行第P-1个的亮度至第1行第P个的亮度,即,170、255,第2行第P-1个的亮度至第2行第P个的亮度,即,170、255,以及第P-1行第P-1个的亮度至第P-1行第P个的亮度,即,0、170,第P行第P-1个的亮度至第P行第P个的亮度,即,170、0等亮度,这些示意出图5中的待处理二维码的被设区域的亮度对应的重置亮度区域各自的重置亮度。详见参见图6所示。
采用如下第二种方式表示待处理二维码的重置亮度区域各自的重置亮度:
Figure GDA0003185107850000251
换句话说,这个采用如上第二种方式只示意出图4中、待处理二维码的被设区域的亮度中第1行第1个的亮度至第1行第2个的亮度,即,255、0;第P行第1个的亮度至第P行第2个的亮度,即,255、255,第1行第P个的亮度,即,0,以及至第P行第P个的亮度,即255等亮度,所对应的重置亮度区域各自的重置亮度。
步骤252,将L2个重置亮度设置在L行×L列的重置亮度区域中,获得已处理的二维码。也就是,将已经完成重置亮度的所有重置亮度区域,生成已处理的二维码。
本发明实施例,利用两次对被设区域的亮度进行重置亮度,计算量小,满足用户需求。不仅待处理二维码的所有被设区域,展示待处理二维码所有被设区域的亮度,而且,重置亮度区域,也展示待处理二维码被设区域的亮度,从而可以通过在二维码的被设区域和重置亮度区域来辨识已处理的二维码,增加了已处理的二维码的辨识方式,也提高了已处理的二维码的信息承载能力。
第二方面,下面继续对本发明实施例提供的一种二维码识读方法进行介绍。
参见图7,图7为本发明实施例提供的二维码识读方法的第一流程示意图。本发明实施例所提供的一种二维码识读方法,可以包括如下步骤:
步骤310,扫描二维码。
本步骤310,具体包括:电子设备先获取二维码的水平和垂直维度,然后用电子设备扫描二维码;再然后用边界滤波器,如sobel(sobel operator,索贝尔算子)算子求二维码的边界位置;再基于边界位置对扫描到的二维码进行位置矫正,使二维码所有边界都是或者水平或者垂直,且间距相等;再消除光照强度对整个二维码的影响;然后求边界之间的水平垂直距离。其中,sobel算子是图像处理中的算子之一,主要用作边缘检测。具体详细过程均为现有技术,在此不再赘述。
步骤320,获取二维码中每个被设区域被划分的规则以及,基于被划分的规则,从二维码中扫描到的多个被设区域,每个被设区域被划分的规则为划分每一被设区域为L行×L列的重置亮度区域,该被设区域已设有亮度。
步骤330,判断扫描到的多个被设区域的区域数量是否小于预设区域数量,预设区域数量为二维码的所有被设区域的区域总数,若是,则执行步骤331,若否,则执行步骤335。预设区域数量是由二维码决定的。
步骤331,从扫描到的多个被设区域中,获取重置亮度区域的区域数量。
步骤332,判断重置亮度区域的区域数量是否大于或等于预设区域数量,若是,则执行步骤333,若否,则执行步骤340;
步骤333,读取重置亮度区域设有的亮度,重置亮度区域设有的亮度是基于每一被设区域的亮度,与关联的L2个被设区域各自的亮度获得的,每一被设区域相关联的L2个被设区域各自的亮度是从与每一被设区域预先建立位置关联的L2个被设区域中。
步骤334,按照预设亮度映射的二进制算符,与预设亮度之间的映射关系,将重置亮度区域设有的亮度,映射成二进制序列。
为了区分被设区域与重置亮度区域,被设区域的亮度,与重置亮度区域的亮度不同,因此将二维码映射成二进制序列时,需要掌握重置亮度区域设有的亮度的种类数量,可以采用如下实现方式,将所述重置亮度区域设有的亮度,映射成二进制序列:
在一种实现方式中,第一步,确定重置亮度区域设有的亮度的种类数量。
第二步,按照预设亮度映射的二进制算符,与预设亮度之间的映射关系中每种亮度对应的二进制算符,将重置亮度区域设有的亮度,映射成二进制序列。
预设亮度映射的二进制算符,与预设亮度之间的映射关系,可以是按照重置亮度区域设有的亮度的种类数量确定的映射关系。比如,种类数量为2种,按照这两种预设亮度,与预设亮度映射的二进制算符建立映射关系。具体的,种类数量为2种,这2种预设亮度分别为黑色和白色,黑色与黑色映射的二进制算符为0建立映射关系,白色与白色映射的二进制算符为1建立映射关系。
再比如,种类数量为8种,然后按照这8种预设亮度,与预设亮度映射的二进制算符建立映射关系。在此不再举例。
这样可以先读取重置亮度区域设有的亮度的种类数量,然后再按照种类数量,从预设亮度映射的二进制算符,与预设亮度之间的映射关系中,找到每种所述重置亮度区域设有的亮度对应的二进制算符,这样相较于从预设亮度映射的二进制算符,与预设亮度之间的映射关系的整体表格中查找每种重置亮度区域设有的亮度,效率更高,也可以准确地找到所有种类数量对应的二进制算符。
步骤335,从扫描到的多个被设区域中,获取每一被设区域各自划分的重置亮度区域设有的亮度。
步骤336,将每一被设区域各自划分的所述重置亮度区域设有的亮度求平均值,得到每一被设区域的亮度平均值。
步骤337,判断每一被设区域的亮度平均值高于或低于第二预设亮度,若高于,则执行步骤338,若低于,则执行步骤339;
步骤338,将每一被设区域的亮度平均值映射为第一二进制算符。
所述按照预设亮度映射的二进制算符,与预设亮度之间的映射关系可以包括:使用预设亮度范围内的预设亮度映射的二进制算符,与预设亮度范围的预设亮度之间的映射关系,以及预先定义的每一个预设亮度映射的二进制算符,与各自预设亮度之间的映射关系中的一种或多种。后者预先定义的每一个预设亮度映射的二进制算符,与各自预设亮度之间的映射关系可以预先设置在表格中,表格中包括:每一个预设亮度映射的二进制算符,以及各自预设亮度。前者只需要设置一个预设亮度范围方便直接,将每一被设区域的亮度平均值确定是否处于预设亮度范围内来实现映射;后者更加清楚明了地说明每一个预设亮度映射的二进制算符。预设亮度范围和预设亮度,均可以根据用户需要进行设置。预设亮度范围包括:第一预设亮度范围,比如,大于128,以及第二预设亮度范围,比如,小于128。
步骤339,将每一被设区域的亮度平均值映射为第二二进制算符,第一二进制算符和第二二进制算符的数值不同。利用步骤335至步骤339,将所有被设区域的亮度平均值映射成二进制算符,则相当于映射成二进制序列。
步骤340,判断是否达到预设划分条件,若否,则执行步骤341;若是,则结束。
步骤341,将已设置重置亮度区域确定为被设区域,返回继续执行步骤320。第二预设亮度也可以根据用户需求进行设置,第二预设亮度可以与第一预设亮度相同,也可以不同。
本发明实施例,不仅待处理二维码的所有被设区域,展示待处理二维码所有被设区域的亮度,而且,重置亮度区域,也展示待处理二维码被设区域的亮度。这样可以通过在二维码的被设区域和重置亮度区域辨识二维码,增加了已处理的二维码的辨识方式,也提高了已处理的二维码的信息承载能力。利用被设区域的亮度及重置亮度区域的亮度,识读已处理二维码。相较于现有技术,若只扫描到二维码中部分区域,也就是重置亮度区域,并不是所有的被设区域,且扫描的二维码中,重置亮度区域的数量大于或等于预设区域数量,则读取重置亮度区域设有的亮度,映射成二进制序列,不需要用户调整手机与所扫描的二维码之间的距离,提高了二维码的辨识度,提高用户信息获取的效率,方便用户使用,提高用户体验效果。
对应于第一方面的二维码生成方法,下面继续对本发明实施例提供的一种二维码生成装置进行介绍。
参见图8,图8为本发明实施例的二维码生成装置的结构示意图,本发明实施例还提供一种二维码生成装置,装置包括:
第一获取模块41,用于获取待处理二维码,所述待处理二维码包括:多个已设有亮度的区域,将已设有亮度的区域,作为被设区域;
划分模块42,用于划分每一被设区域为L行×L列的重置亮度区域,所述L大于或等于2;
第二获取模块43,用于从与每一被设区域预先建立位置关联的L2个被设区域中,得到每一被设区域关联的L2个被设区域各自的亮度;
第一获得模块44,用于基于每一被设区域的亮度,与所述关联的L2个被设区域各自的亮度,获得重置亮度区域中的L2个重置亮度;
第二获得模块45,用于将L2个重置亮度设置在L行×L列的重置亮度区域中,获得已处理的二维码。
在一种可能的实现方式中,所述第二获得模块43,具体用于:
将已设置重置亮度的重置亮度区域确定为被设区域,继续返回执行划分每一被设区域为L行×L列的重置亮度区域的步骤,直至达到预设划分条件,将L2个重置亮度设置在L行×L列的重置亮度区域中,获得已处理的二维码。
在一种可能的实现方式中,所述关联的L2个被设区域包括:第一关联被设区域及第二关联被设区域,所述第一关联被设区域为所述关联的L2个被设区域中的亮度最小区域,所述第二关联被设区域为所述关联的L2个被设区域中的亮度最大区域;
所述重置亮度区域包括:第一重置亮度区域及第二重置亮度区域;所述第一重置亮度区域与所述第一关联被设区域对应,所述第二重置亮度区域与所述第二关联被设区域对应;
所述第一获得模块41,具体用于:
若每一被设区域的亮度大于或等于第一预设亮度,则获取第一定义亮度,并
将所述第一定义亮度确定为第一重置亮度区域各自的重置亮度;以及
将所述每一被设区域的亮度确定为所述第二重置亮度区域各自的重置亮度;
若每一被设区域的亮度小于第一预设亮度,则将所述每一被设区域的亮度确定为所述第一重置亮度区域各自的重置亮度;以及
获取第二定义亮度,并将所述第二定义亮度确定为所述第二重置亮度区域各自的重置亮度,所述第一定义亮度与所述第二定义亮度数值不同。
在一种可能的实现方式中,多个被设区域呈P行×P列;
所述装置还包括:建立模块,该建立模块,用于采用如下步骤,每一被设区域与相关联的L2个被设区域建立位置关联:
采用如下步骤,每一被设区域与相关联的L2个被设区域建立位置关联:
采用如下步骤,每一被设区域与相关联的L2个被设区域建立位置关联:
所述每一被设区域为所述多个被设区域中第N行第M列的被设区域,所述N大于0,且小于或等于P的整数,所述M大于0,且小于或等于P的整数;
与所述每一被设区域各自相关联的L2个被设区域包括:所述多个被设区域中的第
Figure GDA0003185107850000301
行第
Figure GDA0003185107850000302
列的被设区域,
Figure GDA0003185107850000303
行第
Figure GDA0003185107850000304
列的被设区域,
Figure GDA0003185107850000305
行第
Figure GDA0003185107850000306
列的被设区域,
Figure GDA0003185107850000307
行第
Figure GDA0003185107850000308
列的被设区域。
对应于第二方面的二维码识读方法,下面继续对本发明实施例提供的一种二维码识读装置进行介绍。
参见图9,图9为本发明实施例的二维码识读装置的结构示意图,本发明实施例还提供一种二维码识读装置,应用于上述的二维码生成装置,二维码识读装置包括:
第一读取模块51,用于扫描二维码;
第二读取模块52,用于获取所述二维码中每个被设区域被划分的规则以及,基于被划分的规则,从所述二维码中扫描到的多个被设区域,所述每个被设区域被划分的规则为划分每一被设区域为L行×L列的重置亮度区域,所述被设区域已设有亮度;
第三获取模块53,用于若所述扫描到的多个被设区域的区域数量小于预设区域数量,则从所述扫描到的多个被设区域中,获取重置亮度区域的区域数量,所述预设区域数量为所述二维码的所有被设区域的区域总数;
第三读取模块54,用于若所述重置亮度区域的区域数量大于或等于所述预设区域数量,则读取所述重置亮度区域设有的亮度,所述重置亮度区域设有的亮度是基于每一被设区域的亮度,与关联的L2个被设区域各自的亮度获得的,所述每一被设区域关联的L2个被设区域各自的亮度是从与每一被设区域预先建立位置关联的L2个被设区域中;
映射模块55,用于按照预设亮度映射的二进制算符,与所述预设亮度之间的映射关系,将所述重置亮度区域设有的亮度,映射成二进制序列。
在一种可能的实现方式中,所述装置还包括:第四获取模块,所述第四获取模块,用于:
若所述扫描到的多个被设区域的区域数量大于或等于预设区域数量,则从所述扫描到的多个被设区域中,获取每一被设区域各自划分的所述重置亮度区域设有的亮度;
将每一被设区域各自划分的所述重置亮度区域设有的亮度求平均值,得到每一被设区域的亮度平均值;
若每一被设区域的亮度平均值高于第二预设亮度,则将每一被设区域的亮度平均值映射为第一二进制算符;
若每一被设区域的亮度平均值低于所述第二预设亮度,则将每一被设区域的亮度平均值映射为第二二进制算符,所述第一二进制算符和所述第二二进制算符的数值不同。
在一种可能的实现方式中,所述映射模块,具体用于:
确定所述重置亮度区域设有的亮度的种类数量;
从预设亮度映射的二进制算符,与预设亮度之间的映射关系中,按照种类数量,找到每种所述重置亮度区域设有的亮度对应的二进制算符;
按照预设亮度映射的二进制算符,与所述预设亮度之间的映射关系中每种亮度对应的二进制算符,将所述重置亮度区域设有的亮度,映射成二进制序列。
对应于第一方面的二维码生成方法,参见图10,图10为本发明实施例的电子设备的结构示意图。本发明实施例还提供了一种电子设备,包括处理器61、通信接口62、存储器63和通信总线64,其中,处理器61,通信接口62,存储器63通过通信总线64完成相互间的通信,
存储器63,用于存放计算机程序;
处理器61,用于执行存储器63上所存放的程序时,实现如下步骤:
获取待处理二维码,所述待处理二维码包括:多个已设有亮度的区域,将已设有亮度的区域,作为被设区域;
划分每一被设区域为L行×L列的重置亮度区域,所述L大于或等于2;
从与每一被设区域预先建立位置关联的L2个被设区域中,得到每一被设区域关联的L2个被设区域各自的亮度;
基于每一被设区域的亮度,与所述关联的L2个被设区域各自的亮度,获得重置亮度区域中的L2个重置亮度;
将L2个重置亮度设置在L行×L列的重置亮度区域中,获得已处理的二维码
对应于第二方面的二维码识读方法,参见图11,图11为本发明实施例的电子设备的结构示意图。本发明实施例还提供了一种电子设备,包括处理器71、通信接口72、存储器73和通信总线74,其中,处理器71,通信接口72,存储器73通过通信总线74完成相互间的通信,
存储器73,用于存放计算机程序;
处理器71,用于执行存储器73上所存放的程序时,实现如下步骤:
获取所述二维码中每个被设区域被划分的规则以及,基于被划分的规则,从所述二维码中扫描到的多个被设区域,所述每个被设区域被划分的规则为划分每一被设区域为L行×L列的重置亮度区域,所述被设区域已设有亮度;
若所述扫描到的多个被设区域的区域数量小于预设区域数量,则从所述扫描到的多个被设区域中,获取重置亮度区域的区域数量,所述预设区域数量为所述二维码的所有被设区域的区域总数;
若所述重置亮度区域的区域数量大于或等于所述预设区域数量,则读取所述重置亮度区域设有的亮度,所述重置亮度区域设有的亮度是基于每一被设区域的亮度,与关联的L2个被设区域各自的亮度获得的,所述每一被设区域关联的L2个被设区域各自的亮度是从与每一被设区域预先建立位置关联的L2个被设区域中;
按照预设亮度映射的二进制算符,与所述预设亮度之间的映射关系,将所述重置亮度区域设有的亮度,映射成二进制序列。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是二进制数信号处理器(DigitalSignal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本发明实施例提供的方法可以应用于电子设备。具体的,该电子设备可以为:台式计算机、便携式计算机、智能移动终端、服务器等。在此不作限定,任何可以实现本发明的电子设备,均属于本发明的保护范围。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的二维码生成方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的二维码生成方法。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的二维码识读方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的二维码识读方法。
对于装置/电子设备/存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、二进制数用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置/电子设备/存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (17)

1.一种二维码生成方法,其特征在于,所述方法包括:
获取待处理二维码,所述待处理二维码包括:多个已设有亮度的区域,将已设有亮度的区域,作为被设区域;
划分每一被设区域为L行×L列的重置亮度区域,所述L大于或等于2;
从与每一被设区域预先建立位置关联的L2个被设区域中,得到每一被设区域关联的L2个被设区域各自的亮度;
基于每一被设区域的亮度,与所述关联的L2个被设区域各自的亮度,获得重置亮度区域中的L2个重置亮度;
将L2个重置亮度设置在L行×L列的重置亮度区域中,获得已处理的二维码。
2.如权利要求1所述的方法,其特征在于,所述将L2个重置亮度设置在L行×L列的重置亮度区域中,获得已处理的二维码,包括:
将已设置重置亮度的重置亮度区域确定为被设区域,继续返回执行划分每一被设区域为L行×L列的重置亮度区域的步骤,直至达到预设划分条件,将L2个重置亮度设置在L行×L列的重置亮度区域中,获得已处理的二维码。
3.如权利要求1或2所述的方法,其特征在于,所述关联的L2个被设区域包括:第一关联被设区域及第二关联被设区域,所述第一关联被设区域为所述关联的L2个被设区域中的亮度最小区域,所述第二关联被设区域为所述关联的L2个被设区域中的亮度最大区域;
所述重置亮度区域包括:第一重置亮度区域及第二重置亮度区域;所述第一重置亮度区域与所述第一关联被设区域对应,所述第二重置亮度区域与所述第二关联被设区域对应;
所述基于每一被设区域的亮度,与所述关联的L2个被设区域各自的亮度,获得重置亮度区域中的L2个重置亮度,包括:
若每一被设区域的亮度大于或等于第一预设亮度,则获取第一定义亮度,并
将所述第一定义亮度确定为第一重置亮度区域各自的重置亮度;以及
将所述每一被设区域的亮度确定为所述第二重置亮度区域各自的重置亮度;
若每一被设区域的亮度小于第一预设亮度,则将所述每一被设区域的亮度确定为所述第一重置亮度区域各自的重置亮度;以及
获取第二定义亮度,并将所述第二定义亮度确定为所述第二重置亮度区域各自的重置亮度,所述第一定义亮度与所述第二定义亮度数值不同。
4.如权利要求3所述的方法,其特征在于,所述第一定义亮度是每一被设区域的亮度减去预设数值后得到的;
所述第二定义亮度是每一被设区域的亮度加上所述预设数值后得到的。
5.如权利要求1所述的方法,其特征在于,多个被设区域呈P行×P列;
采用如下步骤,每一被设区域与相关联的L2个被设区域建立位置关联:
所述每一被设区域为所述多个被设区域中第N行第M列的被设区域,所述N大于0,且小于或等于P的整数,所述M大于0,且小于或等于P的整数;
与所述每一被设区域各自相关联的L2个被设区域包括:所述多个被设区域中的第
Figure FDA0003185107840000021
行第
Figure FDA0003185107840000022
列的被设区域,
......,
Figure FDA0003185107840000023
行第
Figure FDA0003185107840000024
列的被设区域,
......,
Figure FDA0003185107840000025
行第
Figure FDA0003185107840000026
列的被设区域,
......,
Figure FDA0003185107840000027
行第
Figure FDA0003185107840000028
列的被设区域。
6.一种二维码识读方法,其特征在于,所述二维码识读方法包括:
扫描二维码;
获取所述二维码中每个被设区域被划分的规则以及,基于被划分的规则,从所述二维码中扫描到的多个被设区域,所述每个被设区域被划分的规则为划分每一被设区域为L行×L列的重置亮度区域,所述L大于或等于2,所述被设区域已设有亮度;
若所述扫描到的多个被设区域的区域数量小于预设区域数量,则从所述扫描到的多个被设区域中,获取重置亮度区域的区域数量,所述预设区域数量为所述二维码的所有被设区域的区域总数;
若所述重置亮度区域的区域数量大于或等于所述预设区域数量,则读取所述重置亮度区域设有的亮度,所述重置亮度区域设有的亮度是基于每一被设区域的亮度,与关联的L2个被设区域各自的亮度获得的,所述每一被设区域关联的L2个被设区域各自的亮度是从与每一被设区域预先建立位置关联的L2个被设区域中得到的;
按照预设亮度映射的二进制算符,与所述预设亮度之间的映射关系,将所述重置亮度区域设有的亮度,映射成二进制序列。
7.如权利要求6所述的方法,其特征在于,所述方法还包括:
若所述扫描到的多个被设区域的区域数量大于或等于预设区域数量,则从所述扫描到的多个被设区域中,获取每一被设区域各自划分的所述重置亮度区域设有的亮度;
将每一被设区域各自划分的所述重置亮度区域设有的亮度求平均值,得到每一被设区域的亮度平均值;
若每一被设区域的亮度平均值高于第二预设亮度,则将每一被设区域的亮度平均值映射为第一二进制算符;
或者,若每一被设区域的亮度平均值低于所述第二预设亮度,则将每一被设区域的亮度平均值映射为第二二进制算符,所述第一二进制算符和所述第二二进制算符的数值不同。
8.如权利要求6所述的方法,其特征在于,所述按照预设亮度映射的二进制算符,与所述预设亮度之间的映射关系,将所述重置亮度区域设有的亮度,映射成二进制序列,包括:
确定所述重置亮度区域设有的亮度的种类数量;
从预设亮度映射的二进制算符,与预设亮度之间的映射关系中,按照种类数量,找到每种所述重置亮度区域设有的亮度对应的二进制算符;
按照预设亮度映射的二进制算符,与所述预设亮度之间的映射关系中每种亮度对应的二进制算符,将所述重置亮度区域设有的亮度,映射成二进制序列。
9.一种二维码生成装置,其特征在于,所述装置包括:
第一获取模块,用于获取待处理二维码,所述待处理二维码包括:多个已设有亮度的区域,将已设有亮度的区域,作为被设区域;
划分模块,用于划分每一被设区域为L行×L列的重置亮度区域,所述L大于或等于2;
第二获取模块,用于从与每一被设区域预先建立位置关联的L2个被设区域中,得到每一被设区域关联的L2个被设区域各自的亮度;
第一获得模块,用于基于每一被设区域的亮度,与所述关联的L2个被设区域各自的亮度,获得重置亮度区域中的L2个重置亮度;
第二获得模块,用于将L2个重置亮度设置在L行×L列的重置亮度区域中,获得已处理的二维码。
10.如权利要求9所述的装置,其特征在于,所述第二获得模块,具体用于:
将已设置重置亮度的重置亮度区域确定为被设区域,继续返回执行划分每一被设区域为L行×L列的重置亮度区域的步骤,直至达到预设划分条件,将L2个重置亮度设置在L行×L列的重置亮度区域中,获得已处理的二维码。
11.如权利要求9或10所述的装置,其特征在于,所述关联的L2个被设区域包括:第一关联被设区域及第二关联被设区域,所述第一关联被设区域为所述关联的L2个被设区域中的亮度最小区域,所述第二关联被设区域为所述关联的L2个被设区域中的亮度最大区域;
所述重置亮度区域包括:第一重置亮度区域及第二重置亮度区域;所述第一重置亮度区域与所述第一关联被设区域对应,所述第二重置亮度区域与所述第二关联被设区域对应;
所述第一获得模块,具体用于:
若每一被设区域的亮度大于或等于第一预设亮度,则获取第一定义亮度,并
将所述第一定义亮度确定为第一重置亮度区域各自的重置亮度;以及
将所述每一被设区域的亮度确定为所述第二重置亮度区域各自的重置亮度;
若每一被设区域的亮度小于第一预设亮度,则将所述每一被设区域的亮度确定为所述第一重置亮度区域各自的重置亮度;以及
获取第二定义亮度,并将所述第二定义亮度确定为所述第二重置亮度区域各自的重置亮度,所述第一定义亮度与所述第二定义亮度数值不同。
12.如权利要求9所述的装置,其特征在于,多个被设区域呈P行×P列;
所述装置还包括:建立模块,该建立模块,用于采用如下步骤,每一被设区域与相关联的L2个被设区域建立位置关联:
采用如下步骤,每一被设区域与相关联的L2个被设区域建立位置关联:
所述每一被设区域为所述多个被设区域中第N行第M列的被设区域,所述N大于0,且小于或等于P的整数,所述M大于0,且小于或等于P的整数;
与所述每一被设区域各自相关联的L2个被设区域包括:所述多个被设区域中的第
Figure FDA0003185107840000051
行第
Figure FDA0003185107840000052
列的被设区域,
......,
Figure FDA0003185107840000053
行第
Figure FDA0003185107840000054
列的被设区域,
......,
Figure FDA0003185107840000061
行第
Figure FDA0003185107840000062
列的被设区域,
......,
Figure FDA0003185107840000063
行第
Figure FDA0003185107840000064
列的被设区域。
13.一种二维码识读装置,其特征在于,所述二维码识读装置包括:
第一读取模块,用于扫描二维码;
第二读取模块,用于获取所述二维码中每个被设区域被划分的规则以及,基于被划分的规则,从所述二维码中扫描到的多个被设区域,所述每个被设区域被划分的规则为划分每一被设区域为L行×L列的重置亮度区域,所述L大于或等于2,所述被设区域已设有亮度;
第三获取模块,用于若所述扫描到的多个被设区域的区域数量小于预设区域数量,则从所述扫描到的多个被设区域中,获取重置亮度区域的区域数量,所述预设区域数量为所述二维码的所有被设区域的区域总数;
第三读取模块,用于若所述重置亮度区域的区域数量大于或等于所述预设区域数量,则读取所述重置亮度区域设有的亮度,所述重置亮度区域设有的亮度是基于每一被设区域的亮度,与关联的L2个被设区域各自的亮度获得的,所述每一被设区域关联的L2个被设区域各自的亮度是从与每一被设区域预先建立位置关联的L2个被设区域中;
映射模块,用于按照预设亮度映射的二进制算符,与所述预设亮度之间的映射关系,将所述重置亮度区域设有的亮度,映射成二进制序列。
14.如权利要求13所述的装置,其特征在于,所述装置还包括:第四获取模块,所述第四获取模块,用于:
若所述扫描到的多个被设区域的区域数量大于或等于预设区域数量,则从所述扫描到的多个被设区域中,获取每一被设区域各自划分的所述重置亮度区域设有的亮度;
将每一被设区域各自划分的所述重置亮度区域设有的亮度求平均值,得到每一被设区域的亮度平均值;
若每一被设区域的亮度平均值高于第二预设亮度,则将每一被设区域的亮度平均值映射为第一二进制算符;
若每一被设区域的亮度平均值低于所述第二预设亮度,则将每一被设区域的亮度平均值映射为第二二进制算符,所述第一二进制算符和所述第二二进制算符的数值不同。
15.如权利要求13所述的装置,其特征在于,所述映射模块,具体用于:
确定所述重置亮度区域设有的亮度的种类数量;
从预设亮度映射的二进制算符,与预设亮度之间的映射关系中,按照种类数量,找到每种所述重置亮度区域设有的亮度对应的二进制算符;
按照预设亮度映射的二进制算符,与所述预设亮度之间的映射关系中每种亮度对应的二进制算符,将所述重置亮度区域设有的亮度,映射成二进制序列。
16.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-5任一所述的方法步骤。
17.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求6-8任一所述的方法步骤。
CN201811117043.2A 2018-09-25 2018-09-25 一种二维码生成方法、二维码识读方法及装置 Active CN109325573B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811117043.2A CN109325573B (zh) 2018-09-25 2018-09-25 一种二维码生成方法、二维码识读方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811117043.2A CN109325573B (zh) 2018-09-25 2018-09-25 一种二维码生成方法、二维码识读方法及装置

Publications (2)

Publication Number Publication Date
CN109325573A CN109325573A (zh) 2019-02-12
CN109325573B true CN109325573B (zh) 2021-10-01

Family

ID=65265245

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811117043.2A Active CN109325573B (zh) 2018-09-25 2018-09-25 一种二维码生成方法、二维码识读方法及装置

Country Status (1)

Country Link
CN (1) CN109325573B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110210272A (zh) * 2019-06-10 2019-09-06 北京意锐新创科技有限公司 基于隐形二维码的门禁设备控制方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106295757A (zh) * 2016-07-29 2017-01-04 纷美(北京)贸易有限公司 二维码复用方法及装置、扫描方法及装置、复合二维码
CN106778995A (zh) * 2016-11-25 2017-05-31 北京矩石科技有限公司 一种与图像融合的艺术化二维码生成方法及装置
CN107766909A (zh) * 2017-11-01 2018-03-06 厦门物之联智能科技有限公司 对二维码图形进行防篡改处理的方法和系统
CN108229234A (zh) * 2017-12-07 2018-06-29 北京航空航天大学 一种融合数字编码的可扫描图像生成方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8500026B2 (en) * 2011-12-06 2013-08-06 Xerox Corporation Dual resolution two-dimensional barcode
TWI571803B (zh) * 2015-12-28 2017-02-21 元智大學 彩色二維條碼的產生方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106295757A (zh) * 2016-07-29 2017-01-04 纷美(北京)贸易有限公司 二维码复用方法及装置、扫描方法及装置、复合二维码
CN106778995A (zh) * 2016-11-25 2017-05-31 北京矩石科技有限公司 一种与图像融合的艺术化二维码生成方法及装置
CN107766909A (zh) * 2017-11-01 2018-03-06 厦门物之联智能科技有限公司 对二维码图形进行防篡改处理的方法和系统
CN108229234A (zh) * 2017-12-07 2018-06-29 北京航空航天大学 一种融合数字编码的可扫描图像生成方法

Also Published As

Publication number Publication date
CN109325573A (zh) 2019-02-12

Similar Documents

Publication Publication Date Title
CN108615253B (zh) 图像生成方法、装置与计算机可读存储介质
EP3462371B1 (en) Graphical code processing method and apparatus, and storage medium
WO2019019595A1 (zh) 图片匹配方法及电子设备方法、装置、电子设备及介质
CN108304562B (zh) 一种搜题方法、搜题装置及智能终端
CN111091572B (zh) 一种图像处理方法、装置、电子设备及存储介质
CN113627411A (zh) 一种基于超分辨率的商品识别与价格匹配方法及系统
CN109214229A (zh) 一种条码扫描方法、装置及电子设备
CN110738204A (zh) 一种证件区域定位的方法及装置
CN109325573B (zh) 一种二维码生成方法、二维码识读方法及装置
CN109961447B (zh) 价签检测方法及装置、电子设备、存储介质
CN115630663A (zh) 一种二维码识别方法、装置及电子设备
CN110751156A (zh) 用于表格线大块干扰去除方法、系统、设备及介质
CN112583900B (zh) 云计算的数据处理方法及相关产品
US10223568B2 (en) Barcode decoding method
CN109447210B (zh) 一种二维码生成方法、二维码识读方法及装置
CN109447211B (zh) 一种二维码生成方法、二维码识读方法及装置
CN108629219B (zh) 一种识别一维码的方法及装置
CN111382831B (zh) 加速卷积神经网络模型前向推理的方法及装置
CN115456988A (zh) 一种缺陷检测方法、终端设备及存储介质
US9734550B1 (en) Methods and apparatus for efficiently determining run lengths and identifying patterns
CN104200584A (zh) 一种快速结算方法和装置
CN109325945B (zh) 图像处理方法、装置、电子设备及储存介质
CN111209766B (zh) 二维码识别方法、智能终端以及具有存储功能的装置
CN112580638A (zh) 文本检测方法、装置、存储介质及电子设备
CN114691004A (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