CN111353320A - 一种扫码识别方法及装置 - Google Patents
一种扫码识别方法及装置 Download PDFInfo
- Publication number
- CN111353320A CN111353320A CN201811582176.7A CN201811582176A CN111353320A CN 111353320 A CN111353320 A CN 111353320A CN 201811582176 A CN201811582176 A CN 201811582176A CN 111353320 A CN111353320 A CN 111353320A
- Authority
- CN
- China
- Prior art keywords
- frame data
- decoding
- frame
- data
- picture
- 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.)
- Granted
Links
Images
Classifications
-
- 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
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Electromagnetism (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种扫码识别方法及装置,通过在对标识码的帧数据进行解码的过程中,解码当前帧数据的同时获取当前帧的下一帧数据,使得能够在当前帧解码完成后立即解析下一帧数据,无需等待当前帧解码完成后,再去获取下一帧数据,从而减少了帧数据的等待时间,提高了扫码识别的效率。
Description
技术领域
本发明涉及计算机信息技术领域,尤其涉及一种扫码识别方法及装置。
背景技术
随着智能手机等智能设备的普及,诸如条形码、二维码等识别码已进入人们生活的方方面面,利用智能设备上的摄像头对识别码进行扫描,可以获取识别码中的信息,从而可以进行打开网页、发送短信、下载、文字输入等动作。
目前,常用的扫码识别方法为:利用终端设备上的摄像头获取需要扫描的二维码或条形码,并对二维码或条形码进行解码,从而得到扫码结果。具体的,在对二维码或条形码进行解码时通常是调用第三方解码库(例如,ZXing),在进行解码时是对一帧一帧的数据进行解码,即对第一帧数据进行解码,当解码完成后再获取第二帧数据,对第二帧数据进行解码,按照这种方式循环进行,从而完成对二维码或条形码的识别。
上述方式由于都是按照固定的顺序进行的,使得整个识别过程耗时比较长。
发明内容
本发明的目的是提供一种扫码识别方法及装置,以缩短扫码识别的时间,提高扫码识别的效率。
本发明的目的是通过以下技术方案实现的:
第一方面,本发明提供一种扫码识别方法,包括:
获取已扫描的标识码的图片,所述图片包括至少一个帧数据;
对所述帧数据中的第一帧数据进行解码,并且获取第二帧数据,所述第二帧数据为所述第一帧数据的下一帧数据;
若确定所述第一帧数据解码成功,则对所述第二帧数据进行解码,重复执行以上步骤直至所述至少一个帧数据的最后一个帧数据,得到至少一个帧数据的解码结果;
根据所述至少一个帧数据的解码结果,对所述已扫描的标识码进行识别。
可选的,根据所述至少一个帧数据的解码结果,对所述已扫描的标识码进行识别之前,所述方法还包括:
确定所述至少一个帧数据中的每一帧数据解码成功。
可选的,所述方法还包括:
若确定所述第一帧数据解码失败,则对所述已扫描的标识码的图片进行降噪处理。
可选的,对所述帧数据中的第一帧数据进行解码,包括:
利用zxing对所述第一帧数据进行解码。
第二方面,本发明提供一种扫码识别装置,包括:
获取单元,用于获取已扫描的标识码的图片,所述图片包括至少一个帧数据;
解码单元,用于对所述帧数据中的第一帧数据进行解码;
所述获取单元还用于:获取第二帧数据,所述第二帧数据为所述第一帧数据的下一帧数据;
处理单元,用于在确定所述第一帧数据解码成功时,对所述第二帧数据进行解码,重复执行以上步骤直至所述至少一个帧数据的最后一个帧数据,得到至少一个帧数据的解码结果;
识别单元,用于根据所述至少一个帧数据的解码结果,对所述已扫描的标识码进行识别。
相应的,所述装置还包括:确定单元,用于确定所述至少一个帧数据中的每一帧数据解码成功。
可选的,所述处理单元还用于:
在确定所述第一帧数据解码失败时,对所述已扫描的标识码的图片进行降噪处理。
可选的,所述解码单元具体用于按如下方式对所述帧数据中的第一帧数据进行解码:
利用zxing对所述第一帧数据进行解码。
第三方面,本发明提供一种扫码识别装置,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行第一方面所述的方法。
第四方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行第一方面所述的方法。
本发明提供一种扫码识别方法及装置,通过在对标识码的帧数据进行解码的过程中,解码当前帧数据的同时获取当前帧的下一帧数据,使得能够在当前帧解码完成后立即解析下一帧数据,无需等待当前帧解码完成后,再去获取下一帧数据,从而减少了帧数据的等待时间,提高了扫码识别的效率。
附图说明
图1为本申请实施例提供的一种扫码识别的方法流程图;
图2为本申请实施例提供的另一种扫码识别的方法流程图;
图3为本申请实施例提供的一种扫码识别的装置结构框图;
图4为本申请实施例提供的另一种扫码识别的装置示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,并不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示为本申请实施例提供的一种扫码识别的方法流程图,参阅图1所示,该方法包括:
S101:获取已扫描的标识码的图片。
具体的,本申请实施例中可通过终端上的摄像头来扫描需要识别的标识码的图片,由于图片是由一帧一帧的数据组成,因此,标识码图片可理解为包括至少一个帧数据。
需要理解的是,标识码可包括:二维码和/或条形码。
S102:对帧数据中的第一帧数据进行解码,同时获取第二帧数据。
具体的,本申请实施例中在对当前帧解码的同时可获取下一帧数据,与现有技术不同,现有技术中是在当前帧解码完成后,再去获取下一帧数据,相比较而言,本申请中可减少帧数据的获取时间,从而提高识别效率。
S103:若确定第一帧数据解码成功,则对第二帧数据进行解码,重复执行以上步骤直至解码完所有的帧数据,得到至少一个帧数据的解码结果。
具体的,对于标识码图片所包括的至少一个帧数据,都可按照步骤S102的方法执行,直至将最后一个帧数据,即将所有的帧数据都进行解码,从而得到至少一个帧数据的解码结果。
S104:根据至少一个帧数据的解码结果,对已扫描的标识码进行识别。
可选的,根据至少一个帧数据的解码结果,对已扫描的标识码进行识别之前,所述方法还包括:
确定所述至少一个帧数据中的每一帧数据解码成功。
本申请实施例中,只有确定每一帧数据都解码成功,才能保证扫描的标识码解码成功率更高。
进一步的,所述方法还包括:
若确定第一帧数据解码失败,则对已扫描的标识码的图片进行降噪处理。
具体的,本申请实施例中在帧数据解码失败时,可对图片进行降噪处理。
一种可能的实施方式中,可采用中值滤波的方法进行降噪处理,并且将图片转换为RGB格式,对解码失败的帧数据重新解码,从而提高解码成功率。
可以理解的是,R表示红色,G表示绿色,B表示蓝色,RGB为三种颜色通道的格式。
进一步的,本申请实施例中对帧数据中的第一帧数据进行解码,可包括:
利用zxing对第一帧数据进行解码。
具体的,zxing是一种开源的第三方扫描解码库,本申请实施例中可调用zxing库对帧数据进行解码。
由于Zxing本身默认不支持主流的竖屏扫码,因此,为了支持竖屏,需要把每一帧的字节数组做翻转预处理。
以型号YQ601手机为例,分辨率是1080*1920,每次解码前需要循环1080*1920次,一部中端手机约耗80ms,而真正解码的消耗时间约30ms,该预处理过程损失了单帧解码的大部分性能。
需要说明的是,本申请中所涉及到的具体数值均是以该手机为例进行举例说明的。
在现有的实现方案中,对于预处理的过程通常是通过java来实现,由于java处理的时间比较长,本申请实施例中可通过Java本地接口(Java Native Interface,JNI)技术调用c++,通过底层c来实现预处理过程,从而缩短预处理的时间,将平均消耗80ms的预处理降低到30ms,整体提高了识别标识码的速度。
本申请实施例中,可参阅如图2所示的方法流程图对上述涉及的扫码识别方法进一步说明。
首先,可获取利用摄像头(相机)拍摄的图片的预览帧数据,对帧数据进行解码,然后在解码的预处理阶段,可利用JNI技术调用so库,对帧数据进行预处理,接着对前一帧数据解码的同时提前获取下一帧数据,并将数据转换为YUV格式进行解码,当所有的帧数据解码成功时,可判断解码结果的内容的有效性,若内容有效,则停止扫码。
其中,YUV中“Y”表示明亮度,“U”表示色度,“V”表示浓度。底层c可打包成So库。
当帧数据解码失败时,可对摄像头获取的图片进行压缩,调用中值滤波算法进行降噪处理,转换成RGB格式后再次解码。
需要说明的是,本申请实施例中可利用身份标识码(Identity,ID)区分消息类型解码。
基于与上述一种扫码识别方法实施例相同的构思,本发明实施例还提供一种扫码识别装置。图3所示为本发明实施例提供的一种扫码识别装置的结构框图,包括:获取单元101、解码单元102、处理单元103以及识别单元104。
其中,获取单元101,用于获取已扫描的标识码的图片,所述图片包括至少一个帧数据。
解码单元102,用于对帧数据中的第一帧数据进行解码。
所述获取单元101还用于:获取第二帧数据,第二帧数据为第一帧数据的下一帧数据。
处理单元103,用于在确定第一帧数据解码成功时,对第二帧数据进行解码,重复执行以上步骤直至至少一个帧数据的最后一个帧数据,得到至少一个帧数据的解码结果。
识别单元104,用于根据至少一个帧数据的解码结果,对已扫描的标识码进行识别。
相应的,所述装置还包括:确定单元105,用于确定至少一个帧数据中的每一帧数据解码成功。
进一步的,所述处理单元103还用于:
在确定第一帧数据解码失败时,对已扫描的标识码的图片进行降噪处理。
更进一步的,解码单元102具体用于按如下方式对帧数据中的第一帧数据进行解码:
利用zxing对第一帧数据进行解码。
需要说明的是,本发明实施例中上述涉及的扫码识别装置中各个单元的功能实现可以进一步参照相关方法实施例的描述,在此不再赘述。
本申请实施例还提供另外一种扫码识别装置,如图4所示,该装置包括:
存储器202,用于存储程序指令。
收发机201,用于接收和发送的扫码识别的指令。
处理器200,用于调用所述存储器中存储的程序指令,根据收发机201接收到的指令按照获得的程序执行本申请实施例所述的任一方法流程。处理器200用于实现图3所示的解码单元(102)、处理单元(103)、识别单元(104)所执行的方法。
其中,在图4中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器200代表的一个或多个处理器和存储器202代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。
收发机201可以是多个元件,即包括发送机和收发机,提供用于在传输介质上与各种其他装置通信的单元。
处理器200负责管理总线架构和通常的处理,存储器202可以存储处理器200在执行操作时所使用的数据。
处理器200可以是中央处理器(CPU)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)。
本申请实施例还提供了一种计算机存储介质,用于储存为上述本申请实施例中所述的任一装置所用的计算机程序指令,其包含用于执行上述本申请实施例提供的任一方法的程序。
所述计算机存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NAND FLASH)、固态硬盘(SSD))等。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种扫码识别方法,其特征在于,包括:
获取已扫描的标识码的图片,所述图片包括至少一个帧数据;
对所述帧数据中的第一帧数据进行解码,并且获取第二帧数据,所述第二帧数据为所述第一帧数据的下一帧数据;
若确定所述第一帧数据解码成功,则对所述第二帧数据进行解码,重复执行以上步骤直至所述至少一个帧数据的最后一个帧数据,得到至少一个帧数据的解码结果;
根据所述至少一个帧数据的解码结果,对所述已扫描的标识码进行识别。
2.如权利要求1所述的方法,其特征在于,根据所述至少一个帧数据的解码结果,对所述已扫描的标识码进行识别之前,所述方法还包括:
确定所述至少一个帧数据中的每一帧数据解码成功。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
若确定所述第一帧数据解码失败,则对所述已扫描的标识码的图片进行降噪处理。
4.如权利要求1所述的方法,其特征在于,对所述帧数据中的第一帧数据进行解码,包括:
利用zxing对所述第一帧数据进行解码。
5.一种扫码识别装置,其特征在于,包括:
获取单元,用于获取已扫描的标识码的图片,所述图片包括至少一个帧数据;
解码单元,用于对所述帧数据中的第一帧数据进行解码;
所述获取单元还用于:获取第二帧数据,所述第二帧数据为所述第一帧数据的下一帧数据;
处理单元,用于在确定所述第一帧数据解码成功时,对所述第二帧数据进行解码,重复执行以上步骤直至所述至少一个帧数据的最后一个帧数据,得到至少一个帧数据的解码结果;
识别单元,用于根据所述至少一个帧数据的解码结果,对所述已扫描的标识码进行识别。
6.如权利要求5所述的装置,其特征在于,所述装置还包括:确定单元,用于确定所述至少一个帧数据中的每一帧数据解码成功。
7.如权利要求5所述的装置,其特征在于,所述处理单元还用于:
在确定所述第一帧数据解码失败时,对所述已扫描的标识码的图片进行降噪处理。
8.如权利要求5所述的装置,其特征在于,所述解码单元具体用于按如下方式对所述帧数据中的第一帧数据进行解码:
利用zxing对所述第一帧数据进行解码。
9.一种扫码识别装置,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行权利要求1~4任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行权利要求1~4中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811582176.7A CN111353320B (zh) | 2018-12-24 | 2018-12-24 | 一种扫码识别方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811582176.7A CN111353320B (zh) | 2018-12-24 | 2018-12-24 | 一种扫码识别方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111353320A true CN111353320A (zh) | 2020-06-30 |
CN111353320B CN111353320B (zh) | 2022-08-05 |
Family
ID=71195546
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811582176.7A Active CN111353320B (zh) | 2018-12-24 | 2018-12-24 | 一种扫码识别方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111353320B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101061487A (zh) * | 2004-08-31 | 2007-10-24 | 讯宝科技公司 | 用于瞄准光学代码扫描设备的系统和方法 |
CN102722590A (zh) * | 2012-06-25 | 2012-10-10 | 宇龙计算机通信科技(深圳)有限公司 | 终端和图片获取方法 |
US20140198854A1 (en) * | 2013-01-11 | 2014-07-17 | Mstar Semiconductor, Inc. | Method and associated apparatus for processing video data |
CN106934318A (zh) * | 2017-03-13 | 2017-07-07 | 东软集团股份有限公司 | 扫码处理方法、装置及系统 |
-
2018
- 2018-12-24 CN CN201811582176.7A patent/CN111353320B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101061487A (zh) * | 2004-08-31 | 2007-10-24 | 讯宝科技公司 | 用于瞄准光学代码扫描设备的系统和方法 |
CN102722590A (zh) * | 2012-06-25 | 2012-10-10 | 宇龙计算机通信科技(深圳)有限公司 | 终端和图片获取方法 |
US20140198854A1 (en) * | 2013-01-11 | 2014-07-17 | Mstar Semiconductor, Inc. | Method and associated apparatus for processing video data |
CN106934318A (zh) * | 2017-03-13 | 2017-07-07 | 东软集团股份有限公司 | 扫码处理方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111353320B (zh) | 2022-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180084292A1 (en) | Web-based live broadcast | |
CN107292808B (zh) | 图像处理方法、装置及图像协处理器 | |
CN110809255B (zh) | 一种卡信息激活方法、装置及存储介质 | |
CN108958730B (zh) | 应用程序组件共享方法及装置、终端设备及可读存储介质 | |
US20220058772A1 (en) | Image Processing Method and Device | |
CN112996020B (zh) | 一种基于蓝牙的自动化测试方法、装置及蓝牙测试终端 | |
CN107577502B (zh) | 终端及其指纹模组的兼容方法、存储装置 | |
CN107479878B (zh) | 一种基于openresty的lua模块化开发方法及开发框架 | |
CN113190427B (zh) | 卡顿监控方法、装置、电子设备及存储介质 | |
CN110599581B (zh) | 图像模型数据处理方法、装置以及电子设备 | |
CN114913058B (zh) | 显示对象的确定方法、装置、电子设备及存储介质 | |
CN109862083B (zh) | 一种物联网设备的激活方法、装置及设备 | |
CN108960384B (zh) | 一种图形码的解码方法及客户端 | |
CN111158987A (zh) | 微服务架构的健康检查方法及装置 | |
CN111353320B (zh) | 一种扫码识别方法及装置 | |
CN112631694A (zh) | 一种api接口封装调用方法及系统 | |
CN113050985A (zh) | 前端工程依赖自动注册方法及装置 | |
CN111930641A (zh) | 一种图像数据处理方法及智能设备 | |
CN107808134B (zh) | 图像处理方法、图像处理装置及电子终端 | |
CN111556482B (zh) | 虚拟sim卡的切换方法、装置、存储介质及终端 | |
CN114443306A (zh) | 资源处理方法、装置、电子设备及计算机可读存储介质 | |
CN113453075A (zh) | 多路视频的解码方法、装置、电子设备及存储介质 | |
CN104821978A (zh) | 一种号码识别显示方法及装置 | |
CN117097993B (zh) | 图像处理方法及相关装置 | |
CN114222283B (zh) | Sim卡的注册优化方法、装置及存储介质 |
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 |