CN110490020B - 条码识别方法、装置、计算机设备和存储介质 - Google Patents
条码识别方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN110490020B CN110490020B CN201910703357.9A CN201910703357A CN110490020B CN 110490020 B CN110490020 B CN 110490020B CN 201910703357 A CN201910703357 A CN 201910703357A CN 110490020 B CN110490020 B CN 110490020B
- Authority
- CN
- China
- Prior art keywords
- bar code
- image
- global
- calculating
- main direction
- 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
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
- G06K7/1439—Methods for optical code recognition including a method step for retrieval of the optical code
- G06K7/1447—Methods 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)
- 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)
- Image Analysis (AREA)
Abstract
本申请涉及一种条码识别方法、装置、计算机设备和存储介质。所述方法包括:采集待识别图像;计算待识别图像的全局方向梯度直方图;根据全局方向梯度直方图计算出待识别图像中条码的中心点及主方向;根据条码的主方向及中心点识别条码的顶点坐标,并根据顶点坐标提取出待识别图像中的条码;对条码进行解码得到条码的码值。采用本方法能够通过计算出的待识别图像的全局方向梯度直方图,确定待识别图像中条码的中心点和主方向,再根据条码的主方向及中心点识别出条码的各个顶点的坐标,根据顶点坐标提取出待识别图像中的条码,对条码进行解码得到码值,能够识别不同类型的条码,并且无论待识别图像中的条码处于何种角度都能进行识别。
Description
技术领域
本申请涉及图像处理技术领域,特别是涉及一种条码识别方法、装置、计算机设备和存储介质。
背景技术
目前条码的应用越来越广泛,在商品设备标签,移动支付等领域都存在广泛的应用;将扫码设备作为条码的输入设备需求量也越来越大。
条码主要包括条形码和二维码,传统的扫描设备只支持条形码的扫描,采用简单的线形CCD图像传感器采集一行图像数据,然后通过图像处理技术处理这一行数据来解码条形码;为了满足移动支付的需求,新型的扫描设备需同时支持条形码和二维码的扫描,一般采用CMOS图像传感器采集一帧二维图像数据,数据由传统的一维线形数据变成二维的图像数据,待处理的数据量增长了几百倍,同时为了实现在进行移动支付扫码时,无论条码处于何种角度都能扫描成功,相比传统的固定角度的条码扫描,计算量急剧增加,给扫描设备的处理带来一定的难度。
发明内容
基于此,有必要针对上述技术问题,提供一种条码识别方法、装置、计算机设备和存储介质,能够降低条码识别的计算量,快速识别条码。
一种条码识别方法,方法包括:
采集待识别图像;
计算待识别图像的全局方向梯度直方图;
根据全局方向梯度直方图计算出待识别图像中条码的中心点及主方向;
根据条码的主方向及中心点识别条码的顶点坐标,并根据顶点坐标提取出待识别图像中的条码;
对条码进行解码得到条码的码值。
在其中一个实施例中,计算待识别图像的全局方向梯度直方图的步骤包括:
计算待识别图像每个像素点的梯度幅值和角度方向;
将待识别图像均分成若干个图像块;
将各图像块中各个像素点的梯度幅值作为像素点的权重生成每个图像块的方向梯度直方图;
根据各图像块的方向梯度直方图,计算出每个图像块的最大方向作为图像块的主方向;
根据各图像块的主方向幅值的强度筛选出图像有效块;
将各图像有效块的方向梯度直方图累加获得全局方向梯度直方图。
在其中一个实施例中,根据全局方向梯度直方图计算出待识别图像中条码的中心点及主方向的步骤包括:
计算全局方向梯度直方图的最大方向作为全局主方向;
将全局主方向作为条码的主方向;
根据全局主方向对各图像有效块进行筛选得到关键有效块;
根据关键有效块计算出条码的中心点。
在其中一个实施例中,根据条码的主方向及中心点识别条码的顶点坐标,并根据顶点坐标提取出待识别图像中的条码的步骤包括:
根据条码的中心点,沿主方向确定条码的起止符;
根据条码的起止符计算出条码区域的各个顶点坐标;
根据各顶点坐标拟合透视变换矩阵;
根据透视变换矩阵映射生成无角度倾斜的条码。
在其中一个实施例中,对条码进行解码得到条码的码值的步骤包括:
根据条码的起止符确定条码的类型;
根据条码的类型确定对应的解码方式;
根据解码方式对条码进行解码得到条码的码值。
在其中一个实施例中,方法还包括:
发送条码的码值至服务器。
在其中一个实施例中,方法还包括:
发送条码的码值至显示设备进行显示。
一种条码识别装置,装置包括:
采集模块,用于采集待识别图像;
全局方向梯度直方图计算模块,用于计算待识别图像的全局方向梯度直方图;
条码中心点及主方向计算模块,用于根据全局方向梯度直方图计算出待识别图像中条码的中心点及主方向;
条码提取模块,用于根据条码的主方向及中心点识别条码的顶点坐标,并根据顶点坐标提取出待识别图像中的条码;
解码模块,用于对条码进行解码得到条码的码值。
一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:
采集待识别图像;
计算待识别图像的全局方向梯度直方图;
根据全局方向梯度直方图计算出待识别图像中条码的中心点及主方向;
根据条码的主方向及中心点识别条码的顶点坐标,并根据顶点坐标提取出待识别图像中的条码;
对条码进行解码得到条码的码值。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
采集待识别图像;
计算待识别图像的全局方向梯度直方图;
根据全局方向梯度直方图计算出待识别图像中条码的中心点及主方向;
根据条码的主方向及中心点识别条码的顶点坐标,并根据顶点坐标提取出待识别图像中的条码;
对条码进行解码得到条码的码值。
上述条码识别方法、装置、计算机设备和存储介质,通过计算出的待识别图像的全局方向梯度直方图,确定待识别图像中条码的中心点和主方向,再根据条码的主方向及中心点识别出条码的各个顶点的坐标,根据顶点坐标提取出待识别图像中的条码,对条码进行解码得到码值,能够识别不同类型的条码,并且无论待识别图像中的条码处于何种角度都能进行识别。
附图说明
图1为一个实施例中,条码识别方法的应用环境图;
图2为一个实施例中,条码识别方法的流程示意图;
图3为一个实施例中,计算待识别图像的全局方向梯度直方图步骤的流程示意图;
图4为一个实施例中,根据全局方向梯度直方图计算出待识别图像中条码的中心点及主方向步骤的流程示意图;
图5为一个实施例中,根据条码的主方向及中心点识别条码的顶点坐标,并根据顶点坐标提取出待识别图像中的条码步骤的流程示意图;
图6为一个实施例中,对条码进行解码得到条码的码值步骤的流程示意图;
图7为一个实施例中,条码识别装置的结构框图;
图8为一个实施例中,全局方向梯度直方图计算模块的结构框图;
图9为一个实施例中,条码中心点及主方向计算模块的结构框图;
图10为一个实施例中,条码提取模块的结构框图;
图11为一个实施例中,解码模块的结构框图;
图12为一个实施例中,计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
本申请提供的条码识别方法,可以应用于如图1所示的应用环境中。通过终端100对条码进行识别,其中,终端100可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、便携式可穿戴设备和扫码器。
在一个实施例中,如图2所示,提供了一种条码识别方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
步骤200,采集待识别图像。
其中,待识别图像为采集到的包含有所要识别的条码的图像,其上除了具有所要识别的条码,可能还会具有一些与条码无关的内容,或是除条码外还具有空白部分。
终端100可以通过拍摄的方式采集待识别图像,还可以通过网络通信从其他终端或是服务器获取待识别图像。
步骤300,计算待识别图像的全局方向梯度直方图。
方向梯度直方图(Histogram of oriented gradient,简称HOG),是应用在计算机视觉和图像处理领域,用于目标检测的特征描述器。将待识别图像通过全局方向梯度直方图进行描述,无需将一维线形数据转变为二维的图像数据,能够有效降低计算量,对于小型的单片机嵌入式系统也可以进行处理。根据待识别图像的细胞单元的方向梯度直方图能够计算出待识别图像的全局方向梯度直方图。
步骤400,根据全局方向梯度直方图计算出待识别图像中条码的中心点及主方向。
通过对构成全局方向梯度直方图的每个细胞单元的方向梯度直方图进行聚类、权重分析或计算每个细胞单元的中心点均可得到条码的中心点,将全局方向梯度直方图的最大方向作为全局方向梯度直方图的主方向。
步骤500,根据条码的主方向及中心点识别条码的顶点坐标,并根据顶点坐标提取出待识别图像中的条码。
由于任何类型的条码均具有起止符,根据主方向及中心点进行识别,找到条码的起止符,即可确定条码的顶点坐标,确定顶点坐标后即可确定条码在待识别图像中的精确位置。
步骤600,对条码进行解码得到条码的码值。
上述条码识别方法中,通过计算出的待识别图像的全局方向梯度直方图,确定待识别图像中条码的中心点和主方向,再根据条码的主方向及中心点识别出条码的各个顶点的坐标,根据顶点坐标提取出待识别图像中的条码,对条码进行解码得到码值,能够识别不同类型的条码,并且无论待识别图像中的条码处于何种角度都能进行识别。
在其中一个实施例中,如图3所示,计算待识别图像的全局方向梯度直方图的步骤包括:
步骤310,计算待识别图像每个像素点的梯度幅值和角度方向。
分别计算出像素点水平方向的梯度Gx和垂直方向的梯度Gy,计算像素点水平方向的梯度Gx和垂直方向的梯度Gy时可以采用sobel算子进行计算,还可以采用Fx=[-1,0,1]和Fy=[-1,0,1]T进行计算,再根据像素点水平方向的梯度Gx和垂直方向的梯度Gy计算出幅值和角度方向。
步骤320,将待识别图像均分成若干个图像块。
每个图像块即为一个待识别图像的细胞单元。
步骤330,将各图像块中各个像素点的梯度幅值作为像素点的权重生成每个图像块的方向梯度直方图。
步骤340,根据各图像块的方向梯度直方图,计算出每个图像块的最大方向作为图像块的主方向。
在一个实施例中,计算最大方向前对方向梯度直方图进行平滑处理,具体可以采用高斯加权滤波器或FIR(Finite Impulse Response,有限长单位冲激响应)均值滤波器进行图像平滑处理。
步骤350,根据各图像块的主方向幅值的强度筛选出图像有效块。
在一个实施例中筛选出主方向幅值的强度不为0的图像块为图像有效块,在一个实施例中根据预设的阈值进行筛选,主方向幅值大于阈值的为图像有效块。
步骤360,将各图像有效块的方向梯度直方图累加获得全局方向梯度直方图。
将对应的角度方向的幅值进行累加,得到全局方向梯度直方图。
在其中一个实施例中,如图4所示,根据全局方向梯度直方图计算出待识别图像中条码的中心点及主方向的步骤包括:
步骤410,计算全局方向梯度直方图的最大方向作为全局主方向。
比较全局方向梯度直方图的各个角度方向,将最大方向作为全局主方向。
步骤420,将全局主方向作为条码的主方向。
步骤430,根据全局主方向对各图像有效块进行筛选得到关键有效块。
将各图像有效块的方向与全局主方向进行比较,将偏离方向小于等于预设偏离阈值的图像有效块筛选出来作为关键有效块。
步骤440,根据关键有效块计算出条码的中心点。
在一个实施例中,可以根据关键有效块的梯度幅值计算出关键图像块的质心作为条码的中心点。在一个实施例中,可以根据聚类分析的方法计算出条码的中心点。在一个实施例中,可以通过关键有效块连通域搜索的方式计算出条码的中心点。
在其中一个实施例中,如图5所示,根据条码的主方向及中心点识别条码的顶点坐标,并根据顶点坐标提取出待识别图像中的条码的步骤包括:
步骤510,根据条码的中心点,沿主方向确定条码的起止符。
起止符包括起始符和终止符,标志条码的开始和结束,同时提供了码制识别信息和阅读方向的信息。从中心点沿主方向进行搜索,直到搜索到起止符。
步骤520,根据条码的起止符计算出条码区域的各个顶点坐标。
由于起止符标志条码的开始和结束,因此可以结合起止符确定条码区域的四个顶点。
步骤530,根据各顶点坐标拟合透视变换矩阵。
由于采集的待识别图像可能存在倾斜角度,导致各顶点不一定在二维平面上,而是在三维空间中,因此需要通过透视变换矩阵进行降维。
步骤540,根据透视变换矩阵映射生成无角度倾斜的条码。
根据透视变换矩阵降维后得到二维的图像,即可获得无角度倾斜的条码。
在其中一个实施例中,如图6所示,对条码进行解码得到条码的码值的步骤包括:
步骤610,根据条码的起止符确定条码的类型。
起止符还提供了码制识别信息,因此通过起止符可以确定条码的类型。
步骤620,根据条码的类型确定对应的解码方式。
不同类型的条码有对应的解码方式,需要根据所确定的条码类型进行选择,才能正确解码。
步骤630,根据解码方式对条码进行解码得到条码的码值。
在其中一个实施例中,条码识别方法还包括:
发送条码的码值至服务器。
在其中一个实施例中,条码识别方法还包括:
发送条码的码值至显示设备进行显示。
应该理解的是,虽然图2-6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-6中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图7所示,提供了一种条码识别装置,包括:采集模块710、全局方向梯度直方图计算模块720、条码中心点及主方向计算模块730、条码提取模块740和解码模块750,其中:
采集模块710,用于采集待识别图像;
全局方向梯度直方图计算模块720,用于计算待识别图像的全局方向梯度直方图;
条码中心点及主方向计算模块730,用于根据全局方向梯度直方图计算出待识别图像中条码的中心点及主方向;
条码提取模块740,用于根据条码的主方向及中心点识别条码的顶点坐标,并根据顶点坐标提取出待识别图像中的条码;
解码模块750,用于对条码进行解码得到条码的码值。
在一个实施例中,如图8所示,全局方向梯度直方图计算模块720包括:梯度幅值角度计算模块721、图像块分割模块722、方向梯度直方图生成模块723、图像块主方向计算模块724、图像有效块筛选模块725和全局方向梯度直方图生成模块726,其中:
梯度幅值角度计算模块721,用于计算待识别图像每个像素点的梯度幅值和角度方向;
图像块分割模块722,用于将待识别图像均分成若干个图像块;
方向梯度直方图生成模块723,用于将各图像块中各个像素点的梯度幅值作为像素点的权重生成每个图像块的方向梯度直方图;
图像块主方向计算模块724,用于根据各图像块的方向梯度直方图,计算出每个图像块的最大方向作为图像块的主方向;
图像有效块筛选模块725,用于根据各图像块的主方向幅值的强度筛选出图像有效块;
全局方向梯度直方图生成模块726,用于将各图像有效块的方向梯度直方图累加获得全局方向梯度直方图。
在一个实施例中,如图9所示,条码中心点及主方向计算模块730包括:全局主方向确定模块731、条码主方向确定模块732、关键有效块筛选模块733和条码中心点计算模块734,其中:
全局主方向确定模块731,用于计算全局方向梯度直方图的最大方向作为全局主方向;
条码主方向确定模块732,用于将全局主方向作为条码的主方向;
关键有效块筛选模块733,用于根据全局主方向对各图像有效块进行筛选得到关键有效块;
条码中心点计算模块734,用于根据关键有效块计算出条码的中心点。
在一个实施例中,如图10所示,条码提取模块740包括:起止符确定模块741、顶点坐标计算模块742、透视变换矩阵拟合模块743和提取模块744,其中:
起止符确定模块741,用于根据条码的中心点,沿主方向确定条码的起止符;
顶点坐标计算模块742,用于根据条码的起止符计算出条码区域的各个顶点坐标;
透视变换矩阵拟合模块743,用于根据各顶点坐标拟合透视变换矩阵;
提取模块744,用于根据透视变换矩阵映射生成无角度倾斜的条码。
在一个实施例中,如图11所示,解码模块750包括:条码类型确定模块751、解码方式确定模块752和条码解码模块753,其中:
条码类型确定模块751,用于根据条码的起止符确定条码的类型;
解码方式确定模块752,用于根据条码的类型确定对应的解码方式;
条码解码模块753,用于根据解码方式对条码进行解码得到条码的码值。
在一个实施例中,条码识别装置还包括:
第一码值发送模块,用于发送条码的码值至服务器。
在一个实施例中,条码识别装置还包括:
第二码值发送模块,用于发送条码的码值至显示设备进行显示。
关于条码识别装置的具体限定可以参见上文中对于条码识别方法的限定,在此不再赘述。上述条码识别装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图12所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种条码识别方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
采集待识别图像;
计算待识别图像的全局方向梯度直方图;
根据全局方向梯度直方图计算出待识别图像中条码的中心点及主方向;
根据条码的主方向及中心点识别条码的顶点坐标,并根据顶点坐标提取出待识别图像中的条码;
对条码进行解码得到条码的码值。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
计算待识别图像每个像素点的梯度幅值和角度方向;
将待识别图像均分成若干个图像块;
将各图像块中各个像素点的梯度幅值作为像素点的权重生成每个图像块的方向梯度直方图;
根据各图像块的方向梯度直方图,计算出每个图像块的最大方向作为图像块的主方向;
根据各图像块的主方向幅值的强度筛选出图像有效块;
将各图像有效块的方向梯度直方图累加获得全局方向梯度直方图。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
计算全局方向梯度直方图的最大方向作为全局主方向;
将全局主方向作为条码的主方向;
根据全局主方向对各图像有效块进行筛选得到关键有效块;
根据关键有效块计算出条码的中心点。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
根据条码的中心点,沿主方向确定条码的起止符;
根据条码的起止符计算出条码区域的各个顶点坐标;
根据各顶点坐标拟合透视变换矩阵;
根据透视变换矩阵映射生成无角度倾斜的条码。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
根据条码的起止符确定条码的类型;
根据条码的类型确定对应的解码方式;
根据解码方式对条码进行解码得到条码的码值。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
发送条码的码值至服务器。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
发送条码的码值至显示设备进行显示。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
采集待识别图像;
计算待识别图像的全局方向梯度直方图;
根据全局方向梯度直方图计算出待识别图像中条码的中心点及主方向;
根据条码的主方向及中心点识别条码的顶点坐标,并根据顶点坐标提取出待识别图像中的条码;
对条码进行解码得到条码的码值。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
计算待识别图像每个像素点的梯度幅值和角度方向;
将待识别图像均分成若干个图像块;
将各图像块中各个像素点的梯度幅值作为像素点的权重生成每个图像块的方向梯度直方图;
根据各图像块的方向梯度直方图,计算出每个图像块的最大方向作为图像块的主方向;
根据各图像块的主方向幅值的强度筛选出图像有效块;
将各图像有效块的方向梯度直方图累加获得全局方向梯度直方图。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
计算全局方向梯度直方图的最大方向作为全局主方向;
将全局主方向作为条码的主方向;
根据全局主方向对各图像有效块进行筛选得到关键有效块;
根据关键有效块计算出条码的中心点。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
根据条码的中心点,沿主方向确定条码的起止符;
根据条码的起止符计算出条码区域的各个顶点坐标;
根据各顶点坐标拟合透视变换矩阵;
根据透视变换矩阵映射生成无角度倾斜的条码。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
根据条码的起止符确定条码的类型;
根据条码的类型确定对应的解码方式;
根据解码方式对条码进行解码得到条码的码值。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
发送条码的码值至服务器。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
发送条码的码值至显示设备进行显示。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (9)
1.一种条码识别方法,其特征在于,所述方法包括:
采集待识别图像;
计算所述待识别图像的全局方向梯度直方图;
根据所述全局方向梯度直方图计算出所述待识别图像中条码的中心点及主方向;
根据所述条码的中心点,沿所述主方向确定所述条码的起止符;
根据所述条码的起止符计算出所述条码的各个顶点坐标;
根据各所述顶点坐标拟合透视变换矩阵;
根据所述透视变换矩阵映射生成无角度倾斜的条码;
对所述条码进行解码得到所述条码的码值。
2.根据权利要求1所述的条码识别方法,其特征在于,所述计算所述待识别图像的全局方向梯度直方图的步骤包括:
计算所述待识别图像每个像素点的梯度幅值和角度方向;
将所述待识别图像均分成若干个图像块;
将各所述图像块中各个像素点的梯度幅值作为像素点的权重生成每个所述图像块的方向梯度直方图;
根据各所述图像块的所述方向梯度直方图,计算出每个所述图像块的最大方向作为所述图像块的主方向;
根据各所述图像块的主方向幅值的强度筛选出图像有效块;
将各所述图像有效块的方向梯度直方图累加获得所述全局方向梯度直方图。
3.根据权利要求2所述的条码识别方法,其特征在于,所述根据所述全局方向梯度直方图计算出所述待识别图像中条码的中心点及主方向的步骤包括:
计算所述全局方向梯度直方图的最大方向作为全局主方向;
将所述全局主方向作为所述条码的主方向;
根据所述全局主方向对各所述图像有效块进行筛选得到关键有效块;
根据所述关键有效块计算出所述条码的中心点。
4.根据权利要求1所述的条码识别方法,其特征在于,所述对所述条码进行解码得到所述条码的码值的步骤包括:
根据所述条码的起止符确定所述条码的类型;
根据所述条码的类型确定对应的解码方式;
根据所述解码方式对所述条码进行解码得到所述条码的码值。
5.根据权利要求1至4任一项所述的条码识别方法,其特征在于,所述方法还包括:
发送所述条码的码值至服务器。
6.根据权利要求1至4任一项所述的条码识别方法,其特征在于,所述方法还包括:
发送所述条码的码值至显示设备进行显示。
7.一种条码识别装置,其特征在于,所述装置包括:
采集模块,用于采集待识别图像;
全局方向梯度直方图计算模块,用于计算所述待识别图像的全局方向梯度直方图;
条码中心点及主方向计算模块,用于根据所述全局方向梯度直方图计算出所述待识别图像中条码的中心点及主方向;
起止符确定模块,用于根据所述条码的中心点,沿所述主方向确定所述条码的起止符;
顶点坐标计算模块,用于根据所述条码的起止符计算出所述条码的各个顶点坐标;
透视变换矩阵拟合模块,用于根据各所述顶点坐标拟合透视变换矩阵;
提取模块,用于根据所述透视变换矩阵映射生成无角度倾斜的条码;
解码模块,用于对所述条码进行解码得到所述条码的码值。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910703357.9A CN110490020B (zh) | 2019-07-31 | 2019-07-31 | 条码识别方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910703357.9A CN110490020B (zh) | 2019-07-31 | 2019-07-31 | 条码识别方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110490020A CN110490020A (zh) | 2019-11-22 |
CN110490020B true CN110490020B (zh) | 2023-01-13 |
Family
ID=68548875
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910703357.9A Active CN110490020B (zh) | 2019-07-31 | 2019-07-31 | 条码识别方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110490020B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113920329A (zh) * | 2021-11-08 | 2022-01-11 | 北京九州安华信息安全技术有限公司 | 一种基于梯度直方图的特征提取方法和装置 |
CN115880362B (zh) * | 2022-12-22 | 2023-08-08 | 深圳思谋信息科技有限公司 | 码区定位方法、装置、计算机设备及计算机可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005018649A (ja) * | 2003-06-27 | 2005-01-20 | Omron Corp | 2次元コードの読取方法および2次元コード読取装置 |
CN104268498A (zh) * | 2014-09-29 | 2015-01-07 | 杭州华为数字技术有限公司 | 一种二维码的识别方法及终端 |
CN106485183A (zh) * | 2016-07-14 | 2017-03-08 | 深圳市华汉伟业科技有限公司 | 一种二维码定位方法及系统 |
CN107633192A (zh) * | 2017-08-22 | 2018-01-26 | 电子科技大学 | 一种基于机器视觉的复杂背景下条形码分割与识读方法 |
CN108073847A (zh) * | 2016-11-07 | 2018-05-25 | 阿里巴巴集团控股有限公司 | 对条码进行定位的方法、设备和装置 |
CN109753838A (zh) * | 2018-12-12 | 2019-05-14 | 深圳市三宝创新智能有限公司 | 二维码识别方法、装置、计算机设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016033468A1 (en) * | 2014-08-28 | 2016-03-03 | Retailmenot, Inc. | Reducing the search space for recognition of objects in an image based on wireless signals |
-
2019
- 2019-07-31 CN CN201910703357.9A patent/CN110490020B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005018649A (ja) * | 2003-06-27 | 2005-01-20 | Omron Corp | 2次元コードの読取方法および2次元コード読取装置 |
CN104268498A (zh) * | 2014-09-29 | 2015-01-07 | 杭州华为数字技术有限公司 | 一种二维码的识别方法及终端 |
CN106485183A (zh) * | 2016-07-14 | 2017-03-08 | 深圳市华汉伟业科技有限公司 | 一种二维码定位方法及系统 |
CN108073847A (zh) * | 2016-11-07 | 2018-05-25 | 阿里巴巴集团控股有限公司 | 对条码进行定位的方法、设备和装置 |
CN107633192A (zh) * | 2017-08-22 | 2018-01-26 | 电子科技大学 | 一种基于机器视觉的复杂背景下条形码分割与识读方法 |
CN109753838A (zh) * | 2018-12-12 | 2019-05-14 | 深圳市三宝创新智能有限公司 | 二维码识别方法、装置、计算机设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
QR二维码识别算法及其在新型门禁系统中应用的研究;欧焕锐;《中国优秀硕士学位论文全文数据库》;20180615;I138-1253 * |
Also Published As
Publication number | Publication date |
---|---|
CN110490020A (zh) | 2019-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111476227B (zh) | 基于ocr的目标字段识别方法、装置及存储介质 | |
CN110046529B (zh) | 二维码识别方法、装置及设备 | |
US10210415B2 (en) | Method and system for recognizing information on a card | |
CN110751149B (zh) | 目标对象标注方法、装置、计算机设备和存储介质 | |
CN106203425B (zh) | 字符识别方法及装置 | |
CN111914775B (zh) | 活体检测方法、装置、电子设备及存储介质 | |
CN110490020B (zh) | 条码识别方法、装置、计算机设备和存储介质 | |
CN104751093A (zh) | 用于获取宿主设备显示的图像识别码的方法和装置 | |
CN110659529A (zh) | 条形码识别方法、装置、计算机设备和存储介质 | |
US20190138840A1 (en) | Automatic ruler detection | |
US11574492B2 (en) | Efficient location and identification of documents in images | |
CN111626163A (zh) | 一种人脸活体检测方法、装置及计算机设备 | |
CN113111880B (zh) | 证件图像校正方法、装置、电子设备及存储介质 | |
WO2019033567A1 (zh) | 眼球动作捕捉方法、装置及存储介质 | |
CN112183307A (zh) | 文本识别方法、计算机设备和存储介质 | |
CN111507165A (zh) | 人脸识别方法、装置、电子设备及计算机可读存储介质 | |
CN116935449A (zh) | 指纹图像匹配模型训练方法、指纹匹配方法及相关介质 | |
CN111414914A (zh) | 图像识别方法、装置、计算机设备和存储介质 | |
CN113780116A (zh) | 发票分类方法、装置、计算机设备和存储介质 | |
JP2015026283A (ja) | 画像処理装置、画像処理方法およびプログラム | |
CN104077557A (zh) | 一种获取卡片信息的方法和装置 | |
CN103227864B (zh) | 一种检测图像边缘的方法和移动终端 | |
CN108364024B (zh) | 图像匹配方法、装置、计算机设备和存储介质 | |
CN110807342A (zh) | 条形码定位方法、装置、计算机设备和存储介质 | |
CN111695441B (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 | ||
CB02 | Change of applicant information |
Address after: 519000 No. 333, Kexing Road, Xiangzhou District, Zhuhai City, Guangdong Province Applicant after: ZHUHAI JIELI TECHNOLOGY Co.,Ltd. Address before: Floor 1-107, building 904, ShiJiHua Road, Zhuhai City, Guangdong Province Applicant before: ZHUHAI JIELI TECHNOLOGY Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |