一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种识别二维码的方法及装置与流程

2022-11-13 12:26:51 来源:中国专利 TAG:


1.本技术涉及图像处理领域,特别是指一种识别二维码的方法及装置。


背景技术:

2.近年来,随着资料自动收集技术的发展,用条形码表示更多资讯的需要与日俱增,二维码以质量存储量大于一维条形码的特性得到广泛应用。二维码是通过在二维方向上规律分布的几何图形来记录数据符号信息的,通过图像输入设备或光电扫描设备自动识读以实现信息自动处理。
3.在现有技术中,通过使用摄像头对外部图片进行直接扫描识别,或者对公众号中的图片长按直接进行识别。
4.但用现有技术对图片二维码进行识别的缺点是:对于在图片上大小占比小于1%的二维码,或者信息量大于120字符的二维码的识别率低。


技术实现要素:

5.有鉴于此,本技术提供了一种识别二维码的方法及装置,从而达到提升图片二维码的识别率的目的。
6.本技术提供的一种识别二维码的方法是这样实现的:计算机放大第一图片,得到第二图片;计算机对第二图片进行一次探测;若一次探测探测到二维码,则对二维码进行识别;若一次探测未探测到二维码,则截取第一图片中的预设部分,得到第三图片,放大第三图片,得到第四图片,对第四图片进行再次探测;若再次探测探测到二维码,则对二维码进行识别。
7.可选的,预设部分包括:下面20%的右半部分、下面20%的左半部分或上面20%的部分中的至少一项。
8.可选的,一次探测探测到二维码或再次探测探测到二维码后,进一步包括:计算机根据二维码的所在区域位置信息,重绘二维码。
9.可选的,二维码的所在区域位置信息包括:二维码的所在区域坐标系和坐标。
10.可选的,重绘包括:在二维码的四周加上空白区域。
11.可选的,放大第一图片前,进一步包括:计算机将原始图片从rgba图片转换为灰度图片,得到第一图片。
12.本技术还提供一种识别二维码的装置,包括:放大单元,探测单元,截取单元和识别单元;放大单元,用于放大第一图片或第三图片;探测单元,用于对第二图片或第四图片进行探测;截取单元,用于截取第一图片;识别单元,用于识别二维码。
13.可选的,装置进一步包括:重绘单元或转换单元;重绘单元,用于重绘二维码;转换单元,用于将原始图片转换为灰度图。
14.本技术还提供一种计算机设备,包括:处理器,处理器与存储器耦合,存储器中存储有至少一条计算机程序指令,至少一条计算机程序指令由所述处理器加载并执行,以使计算机设备实现以上所述的识别二维码的方法。
15.本技术还提供一种计算机存储介质,用于存储计算机程序,计算机程序被执行时,用于实现以上所述的识别二维码的方法。
16.因此,本技术的有益效果是:提供了一种识别二维码的方法及装置,计算机放大第一图片,得到第二图片,对第二图片进行一次探测,若计算机探测到二维码,则对二维码进行识别,若计算机未探测到二维码,则截取第一图片中的预设部分,得到第三图片,放大第三图片,得到第四图片,对第四图片进行再次探测,若计算机探测到二维码,则对二维码进行识别,本技术通过放大图片以放大二维码区域,便于对二维码进行识别,提升了二维码识别率;通过将图片中二维码出现频率较高的部分设置为预设部分,针对预设部分进行截取,对预设部分进行更高倍数的放大,进一步提升了二维码识别率,还能由原先需要完整识别整张图片变为只识别二维码位置,提升了识别速度。
附图说明
17.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
18.图1为本技术第一实施例的流程图;图2为本技术第二实施例的流程图;图3为本技术场景实施例的流程图;图4为本技术装置实施例的一种装置示意图;图5为本技术装置实施例的计算机设备示意图。
具体实施方式
19.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
20.发明人发现,对于在图片上大小占比小于1%的二维码,或者信息量大于120字符的二维码,二维码包括的不同信息之间的距离小于阈值,导致在二维码识别时识别率低,本技术通过对图片进行放大,或对图片预设部分进行截取和放大,再进行探测和识别,放大了二维码包括的不同信息之间的距离,达到提升图片二维码的识别率的效果。
21.在本技术实施例中,识别二维码的设备可以是运行ios系统的手机,可以是运行ios系统的电脑,也可以是运行ios系统的其他设备。
22.请参阅图1,本技术的第一实施例具体步骤如下:s101:计算机放大第一图片,得到第二图片。
23.计算机可以是运行ios系统的手机,可以是运行ios系统的电脑,也可以是运行ios系统的其他设备。
24.放大的倍数可以是2.5倍,可以是3倍,也可以是根据实际需求设定的其他倍数。
25.在一些实现方式中,第一图片为未经处理的原图片,在另一些实现方式中,计算机放大第一图片前,将第一图片转换为灰度图,则第一图片为由原图片转换而成的灰度图。
26.s102:计算机对第二图片进行一次探测。如果计算机探测到二维码,则执行s106,如果计算机未探测到二维码,则执行s103-s105。
27.由于存在第一图片中不包含二维码的情况,探测是为了探测第一图片中是否存在二维码。
28.探测可以通过opencv探测二维码,也可以通过其他能够探测二维码的方法进行探测。
29.s103:计算机截取第一图片中的预设部分,得到第三图片。
30.预设部分可以选取二维码出现频率较高位置,可以是图片下面20%的右半部分、图片下面20%的左半部分、图片上面20%的部分中的任一项或多项,也可以是根据需求设定的图片的其他部分。
31.在一些实现方式中,预设部分为多项,截取第一图片的预设部分可以为依次截取,也可以为同时截取。
32.s104:计算机放大第三图片,得到第四图片。
33.放大的倍数可以是3.5倍,可以是4倍,也可以是根据实际需求设定的大于第一图片放大倍数的其他倍数。
34.s105:计算机对第四图片进行再次探测,若计算机探测到二维码,则执行s106。
35.在一些实现方式中,预设部分为多个部分,计算机对第一预设部分未探测到二维码,则重新执行s103-s105,对下一预设部分进行探测,直到预设部分都探测完毕。
36.在另一些实现方式中,若计算机对全部预设部分探测完后,未探测到二维码,则判定这张图片上没有二维码。
37.s106:计算机对二维码进行识别。
38.识别是为了获取二维码对应的字符串。
39.识别可以通过avfoundation识别二维码,可以通过zxing识别二维码,可以通过zbar识别二维码,还可以通过其他能够识别二维码的方法进行识别。
40.在一些实现方式中,对二维码进行识别前,计算机根据探测到二维码的图片和二维码的所在区域位置信息,重绘二维码,在重绘二维码时在二维码的四周加上空白区域(quiet zone,qz)。
41.其中,二维码的所在区域位置信息可以是二维码的所在区域坐标系和二维码四个顶点的坐标,也可以是其他可以得到二维码所在区域的位置信息。
42.在本技术第一实施例中,通过放大图片以放大二维码区域,便于对二维码进行识别,提升了二维码识别率;通过对图片预设部分进行截取,针对预设部分进行更高倍数的放大,进一步提升了二维码识别率,还能由原先需要完整识别整张图片变为只识别二维码位
置,提升了识别速度。
43.由于存在图片二维码的预设部分为多个的情况,因此本技术第二实施例设定预设部分为两个,对一次探测未探测到二维码后的步骤进行描述。
44.请参阅图2,本技术的第二实施例具体步骤如下:s201:计算机截取第一图片中的第一预设部分,得到第三图片。
45.第一预设部分可以为第一图片下面20%的部分,也可以根据实际需求设定为其他部分。
46.在一些实现方式中,第一预设部分为第一图片中二维码出现频率最高的部分。
47.s202:计算机放大第三图片,得到第四图片。
48.s203:计算机对第四图片进行再次探测,若计算机探测到二维码,则执行s207,若计算机未探测到二维码,则执行s204-s206。
49.s204:计算机截取第一图片中的第二预设部分,替换第三图片。
50.第二预设部分可以为第一图片上面20%的部分,也可以为第一图片中除第一预设部分外的任意一个部分。
51.在一些实现方式中,第二预设部分为第一图片中二维码出现频率次高的部分。
52.在一些实现方式中,计算机截取第一图片中的第二预设部分后,不对第三图片进行替换,而是得到第五图片。
53.s205:计算机放大新的第三图片,得到新的第四图片。
54.在一些实现方式中,计算机放大第五图片,得到第六图片。
55.s206:计算机对第四图片进行再次探测,若计算机探测到二维码,则执行s207。
56.可以先进行第一图片中第一预设部分的截取、放大和探测步骤,也可以先进行第一图片中第二预设部分的截取、放大和探测步骤,对两者的执行顺序不作限定。
57.在一些实现方式中,若计算机未探测到二维码,则判定这张图片上没有二维码。
58.s207:计算机对二维码进行识别。
59.在本技术第二实施例中,通过对多个预设部分分别进行截取、放大和探测,可以针对二维码出现频率高的几个部分进行探测,先探测二维码出现频率最高的预设部分,如没有探测到二维码再探测下一预设部分,提升了二维码探测的速度。
60.下面结合具体应用场景对本技术的具体实现进行描述,二维码在图片下面20%的右半部分出现的频率最高,其次是图片下面20%的左半部分,出现频率最低的位置为图片上面20%的部分,没有出现将二维码放在图片中间的场景。因此本实施例选取第一图片的下面20%的右半部分为第一预设部分,选取第一图片的下面20%的左半部分为第二预设部分,选取第一图片的上面20%的部分为第三预设部分,请参阅图3,具体步骤如下:s301:计算机通过opencv的cvtcolor函数,将原始图片从rgba图片转换为灰度图片,得到第一图片。
61.将第一图片转换为灰度图是将四通道的rgba图片转换为单通道的图片,rgba是代表红色值(red)、绿色值(green)、蓝色值(blue)和透明度(alpha)的色彩空间。
62.s302:计算机对第一图片使用opencv进行第一次探测,若计算机探测到二维码,则执行s311-s312,若计算机未探测到二维码,则执行s303。
63.s303:计算机对第一图片进行2.5倍的放大,得到第二图片。
64.s304:计算机对第二图片使用opencv进行第二次探测,若计算机探测到二维码,则执行s311-s312,若计算机未探测到二维码,则执行s305。
65.s305:计算机对第一图片的下面20%的右半部分进行第一次截取,并对第一次截取部分进行3.5倍的放大,得到第三图片。
66.s306:计算机对第三图片使用opencv进行第三次探测,若计算机探测到二维码,则执行s311-s312,若计算机未探测到二维码,则执行s307。
67.s307:计算机对第一图片的下面20%的左半部分进行第二次截取,并对第二次截取部分进行3.5倍的放大,得到第四图片。
68.s308:计算机对第四图片使用opencv进行第四次探测,若计算机探测到二维码,则执行s311-s312,若计算机未探测到二维码,则执行s309。
69.s309:计算机对第一图片的上面20%的部分进行第三次截取,并对第三次截取部分进行3.5倍的放大,得到第五图片。
70.s310:计算机对第五图片使用opencv进行第五次探测,若计算机探测到二维码,则执行s311-s312,若计算机未探测到二维码,则判定第一图片中没有二维码。
71.s311:计算机根据探测到二维码的图片和二维码所在区域的坐标系和坐标,重绘二维码。
72.重绘二维码为在二维码的四周加上空白区域,空白区域可以为比探测到二维码的图片上的二维码大15像素的边距的大小,也可以为其他根据实际需要设定的空白区域大小。
73.s312:计算机调用avfoundation识别方法,对重绘后的二维码进行识别,并获取识别后的字符串。
74.在本场景实施例中,通过将原来的rgba四通道图像,转换为一通道图像,降低了图片信息量,对于后续的检测和二维码识别可以达到减少性能消耗,提升速度的效果;通过在重绘二维码时加上空白区域,将二维码与其他区域分离开,便于识别,进一步提升二维码的识别率。
75.请参阅图4,本技术提供了一种识别二维码的装置400,包括:放大单元401,探测单元402,截取单元403和识别单元404。
76.放大单元401,用于放大第一图片或第三图片。
77.探测单元402,用于对第二图片或第四图片进行探测。
78.截取单元403,用于截取第一图片。
79.识别单元404,用于识别二维码。
80.可选的,一种识别二维码的装置400还包括:重绘单元405或转换单元406。
81.重绘单元405,用于重绘二维码。
82.转换单元406,用于将原始图片转换为灰度图。
83.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
84.需要说明的是:上述实施例提供的一种识别二维码的装置在实现识别二维码功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将一种识别二维码的装置的内部结构划分成不同的功能模
块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的一种识别二维码的装置与一种识别二维码的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
85.图5为本技术实施例提供的一种计算机设备500 的结构示意图。
86.计算机设备500包括至少一个处理器501、存储器502以及至少一个网络接口503。
87.处理器501例如是通用中央处理器(central processing unit,cpu)、网络处理器(network processer,np)、图形处理器(graphics processing unit,gpu)、数据处理单元(data processing unit,dpu)、微处理器或者一个或多个用于实现本技术方案的集成电路。例如,处理器501包括专用集成电路(application-specific integrated circuit,asic),可编程逻辑器件(programmable logic device,pld)或其组合。pld例如是复杂可编程逻辑器件(complex programmable logic device,cpld)、现场可编程逻辑门阵列(field-programmable gate array,fpga)、通用阵列逻辑(generic array logic,gal)或其任意组合。
88.存储器502例如是只读存储器(read-only memory,rom)或可存储静态信息和指令的其它类型的静态存储设备,又如是随机存取存储器(random access memory,ram)或者可存储信息和指令的其它类型的动态存储设备,又如是电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、只读光盘(compact disc read-only memory,cd-rom)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。可选地,存储器502独立存在,并通过内部连接504与处理器501相连接。或者,可选地存储器502和处理器501集成在一起。
89.网络接口503使用任何收发器一类的装置,用于与其它设备或通信网络通信。网络接口503例如包括有线网络接口或者无线网络接口中的至少一项。其中,有线网络接口例如为以太网接口。以太网接口例如是光接口,电接口或其组合。无线网络接口例如为无线局域网(wireless local area networks,wlan)接口,蜂窝网络网络接口或其组合等。
90.在一些实施例中,处理器501包括一个或多个cpu,如图5中所示的cpu0和cpu1。
91.在一些实施例中,计算机设备500可选地包括多个处理器,如图5中所示的处理器501和处理器505。这些处理器中的每一个例如是一个单核处理器(single-cpu),又如是一个多核处理器(multi-cpu)。这里的处理器可选地指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。
92.在一些实施例中,计算机设备500还包括内部连接504。处理器501、存储器502以及至少一个网络接口503通过内部连接504连接。内部连接504包括通路,在上述组件之间传送信息。可选地,内部连接504是单板或总线。可选地,内部连接504分为地址总线、数据总线、控制总线等。
93.在一些实施例中,计算机设备500还包括输入输出接口506。输入输出接口506连接到内部连接504上。
94.在一些实施例中,输入输出接口506用于与输入设备连接,接收用户通过输入设备输入的上述实施例涉及的命令或数据。输入设备包括但不限于键盘、触摸屏、麦克风、鼠标
或传感设备等等等。
95.在一些实施例中,输入输出接口506还用于与输出设备连接。输入输出接口506通过输出设备输出处理器501执行上述方法实施例产生的中间结果和/或最终结果。输出设备包括但不限于显示器、打印机、投影仪等等。
96.可选地,处理器501通过读取存储器502中保存的程序代码实现上述实施例中的方法,或者,处理器501通过内部存储的程序代码实现上述实施例中的方法。在处理器501通过读取存储器502中保存的程序代码实现上述实施例中的方法的情况下,存储器502中保存实现本技术实施例提供的方法的程序代码510。
97.处理器501实现上述功能的更多细节请参考前面各个方法实施例中的描述,在这里不再重复。
98.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
99.对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献