CN114494243A - 一种二维码图片的检测方法和电子设备 - Google Patents
一种二维码图片的检测方法和电子设备 Download PDFInfo
- Publication number
- CN114494243A CN114494243A CN202210167703.8A CN202210167703A CN114494243A CN 114494243 A CN114494243 A CN 114494243A CN 202210167703 A CN202210167703 A CN 202210167703A CN 114494243 A CN114494243 A CN 114494243A
- Authority
- CN
- China
- Prior art keywords
- dimensional code
- picture
- positioning area
- code pattern
- pattern
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 53
- 238000000034 method Methods 0.000 claims abstract description 16
- 239000011159 matrix material Substances 0.000 claims description 29
- 238000007781 pre-processing Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 8
- 230000002708 enhancing effect Effects 0.000 claims description 2
- 230000003313 weakening effect Effects 0.000 claims description 2
- 238000012163 sequencing technique Methods 0.000 abstract description 5
- 230000011218 segmentation Effects 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 230000003111 delayed effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/36—User authentication by graphic or iconic representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/12—Edge-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30242—Counting objects in image
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Image Processing (AREA)
Abstract
本发明公开一种二维码图片的检测方法和电子设备,涉及二维码识别检测技术领域。针对现有技术中存在的在单张图片中出现多张二维码图案时无法准确识别、识别效率低或容易出错等问题,本发明对二维码图片中二维码图案进行数量检测和内容检测;根据二维码图片中的定位区确认二维码图片中的二维码图案数量,对于包括多个二维码图案的单张二维码图片,根据二维码图案的边界信息进行分割;根据二维码图案信息中的标志位进行二维码图案的排序,将排序后二维码图案信息中的校验码拼接,进行校验确认是否有缺失。本发明可以实现在单张图片中出现多个二维码图案的时候基于定位区快速、准确的识别二维码图案并读取信息,提高识别效率。
Description
技术领域
本发明涉及二维码识别检测技术领域,更具体地说,涉及一种二维码图片的检测方法和电子设备。
背景技术
二维码是用某种特定的几何图形按一定规律在平面(二维方向上)分布的、黑白相间的、记录数据符号信息的图形;它能将数字、英文字母、汉字、日文字母、特殊符号(如空格,%,/等)、二进制等信息记录到一个正方形的图片中。目前二维码编码的技术,单张二维码可容纳1850个大写字母或2710个数字或1108个字节,或500多个汉字。
在某些业务场景中,二维码识别的环节是滞后的,二维码识别之前往往还伴随着业务审核环节,审核环节需要核实项目的基本情况、申请原因等等。并且二维码的生成和二维码的识别不会是同一地点,而且单张二维码可容纳的信息无法满足业务中的一份有效信息,需要分多张二维码存储,这些情况可能会造成二维码识别失败的情况。例如在A公司生成二维码图片,需要在B公司识别二维码中的信息,由于信息安全的问题,没有渠道可以把A公司的二维码图片通过截图等方式发送到回B公司,二维码只能通过手机拍照得来,但照片可能会出现照片模糊、照片中的二维码图形不完整、亮度不够,或者当需要多张二维码图片时,遗漏掉某张二维码图片等等,这些都可能是识别失败、识别信息不完整的原因。再加上二维码识别滞后的原因,无法立刻识别这些二维码图片,并给出相应的提示,很可能会延长项目所需时间。
在多张二维码识别的过程中还可能会因为识别顺序造成信息错误的情况,比如:有效信息“123456”,分别存放在三张二维码图片中,“12”、“34”、“56”,但是识别过程先识别“34”,在识别“12”,最后识别“56”,最终拼起来的信息“341256”,产生信息识别的错误,所述信息数据无法被正确使用,也会造成二维码无法使用的问题。多张二维码的情况下还会出现单张图片中出现多个二维码的情况,这会直接导致最终识别失败。
发明内容
1.要解决的技术问题
针对现有技术中存在的在单张图片中出现多张二维码时无法准确识别,识别效率低,容易出现错误等问题,本发明提供一种二维码图片的检测方法和电子设备,它可以实现在单张图片中出现多个二维码图案的时候基于定位区快速、准确的识别二维码图案并读取二维码图案信息,提高识别效率。
2.技术方案
本发明的目的通过以下技术方案实现。
第一方面,本发明公开一种二维码图片检测方法,包括对二维码图片中二维码图案的数量检测和内容检测;
所述二维码图案的数量检测是根据二维码图片中的定位区确认二维码图片中的二维码图案数量,对于包括多个二维码图案的单张二维码图片,根据定位区确认的二维码图案边界信息分割二维码图片,分割后的每张二维码图片仅包括单个二维码图案;
所述二维码图案的内容检测是根据二维码图案信息中的标志位进行二维码图案的排序,将排序后二维码图案信息中的校验码拼接,进行二维码图案的校验,用于确认二维码图案信息是否正确。
更进一步的,所述定位区包括设置在二维码图案左上角的第一定位区,设置在二维码图案右上角的第二定位区和设置在二维码图案左下角的第三定位区;定位区的垂直中心线从上到下,以及水平中心线从左到右的黑白像素比例均为黑:白:黑:白:黑=1:1:3:1:1。
更进一步的,通过像素矩阵表示二维码图片,遍历像素矩阵中的像素点,根据定位区垂直中心线和水平中心线黑白像素的像素比确认定位区;获取像素矩阵中所有已确认为定位区的中心点坐标;
基于同一个二维码图案中第一定位区中心点的纵坐标与第二定位区中心点的纵坐标相同,且第一定位区中心点的横坐标与第三定位区的横坐标相同,且第一定位区中心点到第二定位区中心点的距离与第一定位区中心点到第三定位区中心点距离相同的原则,定位一个二维码图案。
更进一步的,根据定位区中心点的坐标确认二维码图案的边界信息,所述边界信息即该二维码图案的首列,末列,首行和末行在像素矩阵中的位置信息,对于有多个边界信息的单张二维码图片,根据边界信息进行二维码图案的分割。
更进一步的,所述二维码图案不正确包括二维码图案缺失、重复或信息错误。缺失即为检测出上传的二维码图案数量不足,无法解码识别出二维码图片的准确信息;重复即检测出有多张相同内容的二维码图案,此时也无法解码识别出二维码图片的准确信息;信息错误即上传的二维码图案不是用户意图上传的准确二维码,以上二维码图案不正确的情况均可以在内容检测中检测出来。
更进一步的,通过计算二维码图片的边界方差确认二维码图片是否模糊。一般来说,清晰图片的图片边界方差比较大,模糊图片中图片的边界方差较小。
更进一步的,增强或减弱二维码图片的图形参数,或者将二维码图片灰度化,实现二维码图片的预处理,所述图片参数包括图片的亮度、对比度、色度或锐度。预处理二维码图片可以提高二维码图片中二维码图案识别成功的概率。
更进一步的,根据解码后二维码图案信息中的标志位进行二维码图案的排序,标志位设置在二维码编码数据的末尾。标志位可以选择数字“1”,“2”,“3”....,也可以选择“a”,“b”,“c”,只要是能够表示顺序的信息即可。在二维码图案解码后,提取二维码图案信息末尾数据表示的标志位,并根据标志位进行排序。
更进一步的,根据二维码图案信息的标志位将二维码图案信息中的校验码拼接起来,校验二维码图案是否缺失,校验码设置在二维码编码数据中标志位数据前。校验码通过加密算法或编码实现加密。校验码可以通过如“RSA”、“AES”的加密算法,或者如“Base64”的编码技术实现。
本发明二维码图片的检测方法,在未识别二维码时判断二维码图片的清晰度,并对二维码图片进行预处理以更好的进行识别;对于包括多个二维码图案的二维码图片进行图片分割,对分割后的每个二维码图案都进行识别,根据识别二维码图案数据中的标志位和校验码确认二维码图案的顺序及是否缺失。本发明可快速准确的实现多张二维码图片或多个二维码图案的识别,识别时间短,识别效率高。
第二方面,本发明公开一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的一种二维码图片检测方法。
第三个方面,本发明公开了一种二维码图片检测装置,所述检测装置包括分割模块和检测模块,分割模块用于对二维码图片进行模糊判断和预处理,并根据定位区的信息对单张图片中包括多个二维码图案的二维码图片进行分割,使分割后的每张图片仅包括单个二维码图案;检测模块对分割模块分割出的二维码图案排序及校验,确认二维码图案信息是否正确。
第四个方面,本发明公开了一种电子设备,所述电子设备的至少一个处理器可以从可读存储介质读取计算机程序,所述计算机可读的存储介质存储计算机程序,当所述计算机程序在计算机上执行时,使得所述计算机执行所述的二维码图片检测方法。
3.有益效果
相比于现有技术,本发明的优点在于:
本发明基于二维码图案的定位区对二维码图片进行分割,通过定位区可确认二维码图片中的二维码图案数量。对于包括多个二维码图案的单张二维码图片,在数据编码时设置标志位和校验码,通过标志位进行多张二维码图案解码后的排序,通过校验码保证二维码图片中二维码图案数据的完整,最终提高系统的识别准确性。
本发明在解码二维码图案之前先判断二维码图片是否模糊,对于清晰度满足要求的二维码图片预处理,去除二维码图片识别解码过程中的噪音,提高二维码图片的清晰度和识别率,对于模糊不清晰的二维码图片,直接判定为无效图片需用户直接重新上传,不会在二维码图案识别失败后再提示用户重新上传,提高整体效率。
附图说明
图1为本发明二维码结构示意图;
图2为本发明二维码定位区结构示意图;
图3为本发明二维码图案数量检测步骤流程图;
图4为本发明二维码图案内容检测步骤流程图;
图5为本发明二维码检测装置结构示意图。
图中标号说明:100、定位区;201、分割模块;202、检测模块。
具体实施方式
下面结合说明书附图和具体的实施例,对本发明作详细描述。
实施例
在某些业务场景中,用户需通过上传二维码图片进行数据填报,本实施例公开一种二维码图片检测方法,在用户上传二维码图片时可自动识别二维码图片中的二维码图案内容,并进行二维码图案的数量检测和内容检测。当用户上传的单张图片包括多个二维码图案时,可将图片中的多个二维码图案分割出来,并在分割后将所有二维码图案排序,准确完整的识别二维码图片中的数据,避免因二维码图案顺序错误产生的信息识别的错误。
具体的,本实施例公开的一种二维码图片检测方法包括以下步骤:
步骤1:二维码图案的数量检测
预处理二维码图片,确保二维码图片中的二维码图案可被识别;进行二维码图案的数量检测,对于在单张二维码图片中包括多个二维码图案的二维码图片,通过定位区100进行分割,分割后的每张图片仅包括一个二维码图案。
如图3所示,二维码图案的数量检测具体包括以下步骤:
步骤101:判断二维码图片是否为模糊图片。
使用拉普拉斯算法可以求取出图片的边界方差,一般来说,清晰图片的图片边界方差比较大,模糊图片的图片边界方差较小,本实施例通过Python语言中的OpenCv工具包,使用拉普拉斯算子方法判断用户上传的二维码图片是否模糊,操作时输入二维码图片的RGB像素矩阵,则可输出二维码图片对应的边界方差值。
一般来说,当图片的边界方差大于100时判定为清晰图片,当图片的边界方差小于100时判定为模糊图片。本发明对二维码图片的模糊判断方式没有限制,实际应用中也可以通过其他形式实现二维码图片的模糊判断。
若二维码图片被判定为模糊图片,系统提示用户“请上传清晰的二维码图片”,要求用户重新上传清晰的二维码图片。如果用户上传的二维码图片清晰度始终不满足要求,则系统一直停留在当前状态,不会进入下一流程。
如在申请软件许可证的业务场景,用户需要提交一份表单,表单中的字段之一是通过二维码图案表示,但是表单提交之后系统并不会实时返回许可证,而需要通过风控或安全经理核实表单的内容。若上传的二维码图片在拍摄过程中,因光线的问题造成二维码图片模糊、光线暗淡或者其他问题,无法被成功识别时,步骤101的模糊图片判断可以提示用户及时更换正确的二维码图片,避免造成风控等核实通过后,却因为二维码图案无法识别而需要重复提交请求。
步骤102:对二维码图片进行预处理。
虽然二维码图案是黑白相间,只包括黑白像素,但是在拍摄二维码图片时,可能会出现其他非黑白的像素,或者由于光线的问题导致拍摄的图片暗淡,影响二维码图案的识别解码。
本步骤对判断过清晰度的二维码图片进行预处理,所述预处理包括增强或减弱二维码图片的图片参数,或者将二维码图片灰度化,用于提高二维码图片中二维码图案的识别解码成功概率,此处所述的二维码图片的图片参数包括图片的亮度、对比度、色度或锐度。实际应用中,可以根据二维码图片的状态,增强或减弱亮度,增强或减弱对比度,增强或减弱色度或者增强或减弱锐度,对于彩色的图片还可进行灰度化操作。
步骤103:判断二维码图片是否存在多个二维码图案,分割出多个二维码图案。
如图1所示,每个二维码图案均包括三个用于定位的部分,即本实施例所述的定位区100,定位区100分别设置在二维码图案的左上角,右上角和左下角,由于定位区100在二维码图案中的不对称设置,在识别二维码图案时可以准确的对二维码图案定位并确认二维码的方向。图1所示灰色区域为暂未编码部分,当二维码图案包含具体信息时,只包括黑白像素。
定位区100的结构如图2所示,为上下左右均对称的正方形结构,由于二维码图案为黑白图案,即二维码图案的像素仅包括黑白像素。如图2所示,定位区100表现为中心为三个单位宽度的黑色像素正方形,在黑色像素正方形外依次环绕一个单位宽度的白色像素边和一个单位宽度的黑色像素边,因此,定位区100的垂直中心线从上到下,以及水平中心线从左到右的黑白像素比例均为黑:白:黑:白:黑=1:1:3:1:1。
使用像素矩阵表示二维码图片中的像素,其中,黑色像素在像素矩阵中用“1”表示,白色像素在像素矩阵中用“0”表示,从上到下,从左到右遍历二维码图片的像素矩阵,确认二维码图案的定位区100。可以发现,定位区100的像素矩阵为n×n的正方形矩阵,定位区100像素矩阵的宽度n为7的倍数,该矩阵第(n+1)/2行和第(n+1)/2列的黑白像素比均为黑:白:黑:白:黑=1:1:3:1:1,记录所有已确认是定位区100的像素矩阵的中心点坐标,该中心点即该像素矩阵第(n+1)/2列行第(n+1)/2列的像素点。
本实施例在确认定位区100时,通过计算二维码图片中像素矩阵中黑白像素之间的比值,找到黑白像素比满足定位区100黑白像素比条件的区域,即二维码图案中的定位区100。
已确认的二维码图案必然包括三个定位区100,计算定位区100中心点坐标之间的距离,判断是否符合二维码图案中定位区100的距离特征。所述距离特征即存在设置在二维码图案左上角的第一定位区100,设置在二维码图案右上角的第二定位区100和设置在二维码左下角的第三定位区100。若三个定位区100属于同一个二维码图案,需符合第一定位区100像素矩阵中心点的纵坐标和第二定位区100像素矩阵中心点的纵坐标相同,且第一定位区100像素矩阵中心点的横坐标和第三定位区100像素矩阵中心点的横坐标相同,同时还需满足第一定位区100像素矩阵中心点与第二定位区100像素矩阵中心点的距离a和第一定位区100像素矩阵中心点与第三定位区100像素矩阵中心点的距离b相同。
也就是计算定位区100是否符合位于二维码图案的左上角、右上角和左下角,即计算是否有第一定位区中心点与第二定位区中心点包括相同的纵坐标,并且第一定位区中心点与第三定位区中心点包括相同的横坐标,且同时满足二维码图案的大小要求,这里所说的二维码图案大小要求是因为二维码图案为正方形图案,所以必然有一个定位区100与其他两个定位区100之间的距离相等。
通过对定位区100的计算,得到二维码图案在二维码图片中的边界像素坐标,获取二维码边界信息,所述边界像素坐标即定位区100像素矩阵的首列,末列,首行和末行的像素坐标,由于定位区100设置在二维码图案的端点位置,据此可以得到二维码图案的边界信息,所述边界信息即在像素矩阵中二维码图案的首列,末列,首行和末行的位置信息。若二维码图片出现多个二维码图案边界信息,且确认该边界信息不属于同一个二维码图案,则判断二维码图片中存在多个二维码图案。
当二维码图片包括多个二维码图案时,通过每个二维码图案的边界像素坐标,单独的把每个二维码图案保存下来,完成二维码图片的分割。也就是说,如果用户上传的单张二维码图片包括多个二维码图案,在本步骤会分割成多张仅包括单个二维码图案的图片。
作为本实施例的另一种实现方案,在通过定位区100确认后若二维码图片仅包括一个二维码图案,即不对该二维码图片进行分割处理,直接进入后续步骤。
步骤104:确认二维码图案可识别解码。
二维码图案中除定位区100外,其他的黑白方格用于表示具体的信息,如前所述信息区域也在像素矩阵中通过“0”和“1”表示,白色方格用“0”表示,黑色方格用“1”表示。因为二维码是用图案表示的数据编码,生成二维码时先通过二进制将文字、数字、符号等内容转换成由“0”和“1”组成的字符串,然后在图案中用黑白方格表示二进制数据。对应的,解码二维码图案就是识别二维码图案中的白色方格和黑色方格,最终拼成“0”“1”组成的字符串,也就是二进制字符串。此处为了区分描述,对二维码图案中的定位区100使用黑白像素表述,对二维码图案中除定位区100外的区域使用黑白方格表述,其中,定位区100包括定位信息不包括实际的数据信息,除定位区100外的区域包括具体的数据信息。
二维码图片经过步骤101的模糊判断、步骤102的图片预处理和步骤103的二维码图案分割后,还需进行二维码图案的解码,用以判断二维码图片中的二维码图案是否均可被识别解码,并通过二维码图案的解码得到生成多个二维码图案时所设置的内容检测信息,该内容检测信息用于二维码图案的排序和校验。
只有当二维码图片中包括含有信息数据的二维码图案,二维码图片才会在本步骤被解码成功。在步骤101和步骤102对二维码图片进行模糊判断和预处理时,并不会识别并解码二维码图案的信息,只是对二维码图片的质量做判断,也就是说,只要二维码图片满足清晰度要求,就可以通过步骤101和步骤102。
二维码图案的解码方法已十分成熟,本实施例对分割后的二维码图案通过Python语言中的pyzbar工具包进行解码,实际应用中也可以使用其他的解码方式实现二维码图案的解码。
步骤2:二维码图案的内容检测
将步骤104中解码识别后的二维码图案信息作为输入数据,在步骤2中通过排序重新调整二维码图案的顺序,并检测二维码图片中识别后的多个二维码图案是否有缺失。
如图4所示,二维码图案的内容检测具体包括以下步骤:
步骤201:调整二维码图案的顺序。
在某些业务场景,因为数据量的问题,会出现一张二维图图案无法包括所有用户需要存储的数据,此时需要生成多个二维码图案。在生成每个二维码图案时,根据二维码图案的顺序在编码数据末尾添加标志位。标志位可以选择数字“1”,“2”,“3”....,也可以选择“a”,“b”,“c”,只要是能够表示顺序的信息即可。例如,若二维码图片包括四个二维码图案,按照顺序,则第一个二维码图案的标志位为1,第二个二维码图案的标志位为2,第三个二维码图案的标志位为3,第四个二维码图案的标志位为4。
在检测二维码图案信息时,将识别解码得到的二维码图案根据解码后的标志位的顺序进行排列。即对于解码后得到的二维码图案的数据,提取最后一列标志位数据,根据标志位数据呈现的如“1”,“2”,“3”序列的规律对图片中的二维码图案进行排序。
步骤202:检测图片中的二维码图案是否正确。
本实施例根据图片中二维码图案的校验码检测是否有缺失,具体检测二维码图案的缺失、重复和是否正确。生成二维码图案时,在编码数据的末尾添加标志位,在标志位之前设置“校验码”信息,校验码可以通过如“RSA”、“AES”的加密算法,或者如“Base64”的编码技术实现,能在校验码加密之后成功解密的方法均可以用于校验码的加密或编码。
若二维码图片中有四个二维码图案,将生成二维码图案的时间戳“1637742933.9160378”进行编码,通过如“RSA”等的加密算法进行加密编码,得到的编码结果即校验码,假设编码后得到的校验码为“MTYzNzc0MjkzMy45MTYwMzc4”,将校验码分成四份,第一份“MTYzNz”是第一个二维码图案的校验码,第二份“c0Mjkz”是第二个二维码图案的校验码,第三份“My45MT”是第三个二维码图案的校验码,第四份“YwMzc4”是第四个二维码图案的校验码。一般来说,校验码平均分配,无法平均分配时也可以自行定义分配各二维码图案对应的校验码位数。
二维码图案内容检测时,先调整二维码图案的顺序,根据二维码图案信息的标志位顺序将二维码图案信息中的校验码拼接起来,通过预设的加密算法或者编码进行解码,如果解码后与该加密算法或者编码预期的数据相同,则此时二维码图案为正确的二维码图案组合,如果解码后根据校验码发现二维码图案重复冗余,无法正确的进行解码,系统会提示用户“二维码上传错误”,提示用户上传的二维码图片有误;如果解码后根据校验码发现二维码图案与预期的数据没有相同处,如是二维码图片A中的二维码图案,却在二维码图片B中被上传,则此时上传的二维码图案错误,系统也会提示用户“二维码上传错误”,提示用户上传的二维码图片有误;如果解码后根据校验码发现二维码图案缺失,无法正确的进行解码,系统会提示用户“缺少其他二维码图片”,提示用户上传的二维码图片缺失。
假设用户上传四张图片,分别为第三二维码图片、第一二维码图片、第二二维码图片、第四二维码图片,经过步骤1得到每张二维码图片均可识别且只包括一个二维码图案,将上传的二维码图片通过步骤201排序计算得到标志位为[3,1,2,4],根据标志位正确的升序顺序[1,2,3,4]重新排列二维码图片,再根据标志位顺序拼接校验码判断是否有二维码图片缺失,在确认二维码图片完成时提取排序后的二维码图片中的二维码图案数据。
假设用户上传三张图片,分别为第三二维码图片、第一二维码图片、第二二维码图片,经过步骤1得到每张二维码图片均可识别且只包括一个二维码图案,将上传的二维码图片依据解码得到的标志位[1,2,3]排序,按照标志位顺序拼接校验码得到“MTYzNzc0MjkzMy45MT”,通过Base64对校验码解码时显示异常,与预设的校验码“MTYzNzc0MjkzMy45MTYwMzc4”不同,此时提示用户“缺少其他二维码图片”。
假设用户上传三张图片,分别为第一二维码图片、第二二维码图片、以及第三二维码图片,根据步骤1确认二维码图案的定位区100,判断第一二维码图片、第二二维码图片均可识别且只包括一个二维码图案,第三二维码图片可识别但包括两个二维码图案,将第三二维码图片分割成两个二维码图案,再通过步骤201实现二维码图案排序,通过步骤202实现二维码图案的缺失检测。
本申请实施例还提供了一种电子设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现上述实施例的二维码图片检测方法。
本申请实施例还提供了一种二维码图片检测装置,图5所示为本申请实施例提供的二维码图片检测装置结构示意图,其可以包括:分割模块201和检测模块202,其中分割模块201用于对二维码图片进行二维码图案的数量检测,该模块预处理二维码图片,对于一张图片中包括多个二维码图案的进行分割,分割后的每一张图片仅包括一个二维码图案;检测模块202在分割模块201的基础上进行二维码图案的内容检测,检测模块202对分割模块201分割出的二维码图案排序及校验,确认二维码图片信息准确,没有缺失或上传错误。
本申请实施例还提供了一种计算机可读的存储介质,该存储介质存储有计算机程序,当所述计算机程序在计算机上执行时,使得所述计算机执行上述实施例提供的二维码图片检测方法。以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。由于该存储介质中所存储的指令,可以执行本申请实施例所提供的二维码图片分割检测的步骤,因此,可以实现本申请实施例所提供的二维码图片检测方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上示意性地对本发明创造及其实施方式进行了描述,该描述没有限制性,在不背离本发明的精神或者基本特征的情况下,能够以其他的具体形式实现本发明。附图中所示的也只是本发明创造的实施方式之一,实际的结构并不局限于此,权利要求中的任何附图标记不应限制所涉及的权利要求。所以,如果本领域的普通技术人员受其启示,在不脱离本创造宗旨的情况下,不经创造性的设计出与该技术方案相似的结构方式及实施例,均应属于本专利的保护范围。此外,“包括”一词不排除其他元件或步骤,在元件前的“一个”一词不排除包括“多个”该元件。产品权利要求中陈述的多个元件也可以由一个元件通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (10)
1.一种二维码图片检测方法,其特征在于,包括对二维码图片中二维码图案的数量检测和内容检测;
所述二维码图案的数量检测是根据二维码图片中的定位区确认二维码图片中的二维码图案数量,对于包括多个二维码图案的单张二维码图片,根据定位区确认的二维码图案边界信息分割二维码图片,分割后的每张二维码图片仅包括单个二维码图案;
所述二维码图案的内容检测是根据二维码图案信息中的标志位进行二维码图案的排序,将排序后二维码图案信息中的校验码拼接,进行二维码图案的校验,用于确认二维码图案信息是否正确。
2.根据权利要求1所述的一种二维码图片检测方法,其特征在于,所述定位区包括设置在二维码图案左上角的第一定位区,设置在二维码图案右上角的第二定位区和设置在二维码图案左下角的第三定位区;定位区的垂直中心线从上到下,以及水平中心线从左到右的黑白像素比例均为黑:白:黑:白:黑=1:1:3:1:1。
3.根据权利要求2所述的一种二维码图片检测方法,其特征在于,通过像素矩阵表示二维码图片,遍历像素矩阵中的像素点,根据定位区垂直中心线和水平中心线黑白像素的像素比确认定位区;获取像素矩阵中所有已确认为定位区的中心点坐标;
基于同一个二维码图案中第一定位区中心点的纵坐标与第二定位区中心点的纵坐标相同,且第一定位区中心点的横坐标与第三定位区的横坐标相同,且第一定位区中心点到第二定位区中心点的距离与第一定位区中心点到第三定位区中心点距离相同的原则,定位一个二维码图案。
4.根据权利要求2或3所述的一种二维码图片检测方法,其特征在于,根据定位区中心点的坐标确认二维码图案的边界信息,所述边界信息即该二维码图案的首列,末列,首行和末行在像素矩阵中的位置信息,对于有多个边界信息的单张二维码图片,根据边界信息进行二维码图案的分割。
5.根据权利要求1所述的一种二维码图片检测方法,其特征在于,所述二维码图案不正确包括二维码图案缺失、重复或信息错误。
6.根据权利要求1所述的一种二维码图片检测方法,其特征在于,通过计算二维码图片的边界方差确认二维码图片是否模糊。
7.根据权利要求1所述的一种二维码图片检测方法,其特征在于,增强或减弱二维码图片的图形参数,或者将二维码图片灰度化,实现二维码图片的预处理,所述图片参数包括图片的亮度、对比度、色度或锐度。
8.根据权利要求1所述的一种二维码图片检测方法,其特征在于,根据解码后二维码图案信息中的标志位进行二维码图案的排序,标志位设置在二维码编码数据的末尾。
9.根据权利要求8所述的一种二维码图片检测方法,其特征在于,根据二维码图案信息的标志位将二维码图案信息中的校验码拼接起来,校验二维码图案是否缺失,校验码设置在二维码编码数据中标志位数据前。
10.一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如上述权利要求1-9任一项所述的一种二维码图片检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210167703.8A CN114494243A (zh) | 2022-02-23 | 2022-02-23 | 一种二维码图片的检测方法和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210167703.8A CN114494243A (zh) | 2022-02-23 | 2022-02-23 | 一种二维码图片的检测方法和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114494243A true CN114494243A (zh) | 2022-05-13 |
Family
ID=81484758
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210167703.8A Pending CN114494243A (zh) | 2022-02-23 | 2022-02-23 | 一种二维码图片的检测方法和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114494243A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104281830A (zh) * | 2014-09-26 | 2015-01-14 | 合肥京东方显示光源有限公司 | 二维码的识别方法及装置 |
CN104715222A (zh) * | 2015-04-02 | 2015-06-17 | 矽照光电(厦门)有限公司 | 一种灰色二维码的识别方法与识别装置 |
CN107818282A (zh) * | 2017-09-30 | 2018-03-20 | 努比亚技术有限公司 | 二维码识别方法、终端及计算机可读存储介质 |
CN109040505A (zh) * | 2018-06-26 | 2018-12-18 | 江苏擎天信息科技有限公司 | 一种基于批量二维码传输的安全数据传输方法 |
CN111177763A (zh) * | 2020-01-03 | 2020-05-19 | 玉溪市电子政务内网信息技术中心 | 一种文件多重加密的二维码电子加密解密管理系统及方法 |
CN111488752A (zh) * | 2019-01-29 | 2020-08-04 | 北京骑胜科技有限公司 | 二维码识别方法、装置、电子设备及存储介质 |
CN112100666A (zh) * | 2020-09-24 | 2020-12-18 | 中国国际石油化工联合有限责任公司 | 一种文本授信方法、授信文本校验方法和系统 |
-
2022
- 2022-02-23 CN CN202210167703.8A patent/CN114494243A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104281830A (zh) * | 2014-09-26 | 2015-01-14 | 合肥京东方显示光源有限公司 | 二维码的识别方法及装置 |
CN104715222A (zh) * | 2015-04-02 | 2015-06-17 | 矽照光电(厦门)有限公司 | 一种灰色二维码的识别方法与识别装置 |
CN107818282A (zh) * | 2017-09-30 | 2018-03-20 | 努比亚技术有限公司 | 二维码识别方法、终端及计算机可读存储介质 |
CN109040505A (zh) * | 2018-06-26 | 2018-12-18 | 江苏擎天信息科技有限公司 | 一种基于批量二维码传输的安全数据传输方法 |
CN111488752A (zh) * | 2019-01-29 | 2020-08-04 | 北京骑胜科技有限公司 | 二维码识别方法、装置、电子设备及存储介质 |
CN111177763A (zh) * | 2020-01-03 | 2020-05-19 | 玉溪市电子政务内网信息技术中心 | 一种文件多重加密的二维码电子加密解密管理系统及方法 |
CN112100666A (zh) * | 2020-09-24 | 2020-12-18 | 中国国际石油化工联合有限责任公司 | 一种文本授信方法、授信文本校验方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7889926B2 (en) | Image dictionary creating apparatus, coding apparatus, image dictionary creating method | |
CN109960957A (zh) | 残缺二维码及其生成、修复和识别方法、装置及系统 | |
CN108563559A (zh) | 一种验证码的测试方法、装置、终端设备及存储介质 | |
CN111353321B (zh) | 数据生成和解析方法及装置,计算机存储介质和电子设备 | |
CN112508145B (zh) | 电子印章生成及验证方法、装置、电子设备及存储介质 | |
CN112215236B (zh) | 文本识别方法、装置、电子设备及存储介质 | |
CN115660933B (zh) | 一种水印信息的识别方法、装置及设备 | |
CN105117723A (zh) | 一种图像识别方法及装置 | |
CN102467664B (zh) | 辅助光学字符识别的方法和装置 | |
CN113901883A (zh) | 基于深度学习的印章识别方法、系统及存储介质 | |
CN111523105B (zh) | 基于语义理解的交互式图片验证方法 | |
CN114494243A (zh) | 一种二维码图片的检测方法和电子设备 | |
CN101833645B (zh) | 一种基于码字组合的条码解码方法 | |
CN116029777A (zh) | 一种防伪单据生成方法、装置、设备及介质 | |
CN112286780A (zh) | 识别算法的测试方法、装置、设备及存储介质 | |
CN115035523A (zh) | 一种数据识别方法及移动终端 | |
CN109978115B (zh) | 一种防伪码及其构建方法 | |
CN108959901B (zh) | 基于图片轮播的验证码提示方法 | |
CN111476853B (zh) | 文字图像的编解码方法、设备及系统 | |
CN113988242A (zh) | 基于多区域的防伪码生成与校验方法、系统、设备及介质 | |
CN109409370B (zh) | 一种远程桌面字符识别方法和装置 | |
WO2020199393A1 (zh) | 一种防伪系统及防伪方法 | |
CN111797646A (zh) | 条形码识别方法及终端 | |
CN114254719B (zh) | 一种防伪二维码的生成方法及装置 | |
CN112686355B (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: 20220513 |