CN110659529A - 条形码识别方法、装置、计算机设备和存储介质 - Google Patents
条形码识别方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN110659529A CN110659529A CN201910827229.5A CN201910827229A CN110659529A CN 110659529 A CN110659529 A CN 110659529A CN 201910827229 A CN201910827229 A CN 201910827229A CN 110659529 A CN110659529 A CN 110659529A
- Authority
- CN
- China
- Prior art keywords
- bar code
- black pixel
- image
- coordinates
- line
- 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/10544—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
- G06K7/10821—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices
-
- 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/146—Methods for optical code recognition the method including quality enhancement steps
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Electromagnetism (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
Abstract
本申请涉及一种条形码识别方法、装置、计算机设备和存储介质。方法包括:获取条形码图像;逐行扫描条形码图像,获得条形码图像中黑色像素点的坐标;根据条形码图像中黑色像素点的坐标确定条形码图像中条形码的倾斜角度;沿条形码的倾斜角度对条形码图像进行扫描,提取条形码;对条形码进行解码得到条形码的条码信息。采用本方法能够对条形码图像采取逐行扫描的方式扫描,获得条形码图像中黑色像素点的坐标,根据黑色像素点的坐标确定条形码图像中条形码的倾斜角度,沿条形码的倾斜角度重新对条形码图像进行扫描,提取出条形码并解码即可获得条形码的条码信息,无需旋转条形码图像或是分别扫描多个角度获取条形码图像即可识别条形码获得条码信息。
Description
技术领域
本申请涉及图像处理技术领域,特别是涉及一种条形码识别方法、装置、计算机设备和存储介质。
背景技术
目前条码的应用越来越广泛,在商品设备标签,移动支付等领域都存在广泛的应用。条码主要包括一维条形码和二维码,其中一维的条形码是由一组规则排列的条、空以及对应的字符组成的标记,“条”指对光线反射率较低的部分,“空”指对光线反射率较高的部分,这些条和空组成的数据表达一定的信息,并能够用特定的设备识读,转换成与计算机兼容的二进制和十进制信息。通常对于每一种物品,它的编码是唯一的,对于普通的一维条形码来说,还要通过数据库建立条形码与商品信息的对应关系,当条形码的数据传到计算机上时,由计算机上的应用程序对数据进行操作和处理。
在对条形码进行扫描时,条形码的可能会处于不同的角度,目前常见的一些扫码方式设定了固定的扫描角度,需要将每个角度扫描出的条码信息与标准库做依次比对直至比对通过,需要进行大量的数据处理分析,并且在条形码角度与设定的扫描角度偏差过大时还可能无法识别条形码。
发明内容
基于此,有必要针对上述技术问题,提供一种能够无需旋转条形码图像即可快速识别的条形码识别方法、装置、计算机设备和存储介质。
一种条形码识别方法,方法包括:
获取条形码图像;
逐行扫描条形码图像,获得条形码图像中黑色像素点的坐标;
根据条形码图像中黑色像素点的坐标确定条形码图像中条形码的倾斜角度;
沿条形码的倾斜角度对条形码图像进行扫描,提取条形码;
对条形码进行解码得到条形码的条码信息。
在其中一个实施例中,根据条形码图像中黑色像素点的坐标确定条形码图像中条形码的倾斜角度的步骤包括:
识别每一行中的黑色像素点的数量是否均相等;
若相等,则确定条形码图像中的条形码与坐标轴横轴的夹角为0°;其中,坐标轴为用于确定黑色像素点坐标的坐标轴,坐标轴的横轴方向与扫描的水平方向一致。
在其中一个实施例中,根据条形码图像中黑色像素点的坐标确定条形码图像中条形码的倾斜角度的步骤还包括:
若每一行中的黑色像素点的数量不相等,则判断第一行中的各个黑色像素点横坐标是否以步进一的递增方式变化;
若是,则确定条形码图像中的条形码与坐标轴横轴的夹角为90°。
在其中一个实施例中,根据条形码图像中黑色像素点的坐标确定条形码图像中条形码的倾斜角度的步骤还包括:
若每一行中的黑色像素点的数量不相等,且第一行中的各个黑色像素点横坐标并未以步进一的递增方式变化,则判断第m行中的第一个黑色像素点的横坐标是否大于第m-1行中的第一个黑色像素点的横坐标;
若大于,则分别计算任意相邻两行的第一角度,第一角度为相邻两行中其中一行的第一个黑色像素点与另一行的第一个黑色像素点之间的连线与坐标轴横轴的夹角;
计算第一角度的平均值;
将第一角度的平均值确定为条形码图像中的条形码与坐标轴横轴的夹角。
在其中一个实施例中,根据条形码图像中黑色像素点的坐标确定条形码图像中条形码的倾斜角度的步骤还包括:
若每一行中的黑色像素点的数量不相等,第一行中的各个黑色像素点横坐标并未以步进一的递增方式变化,并且第m行中的第一个黑色像素点的横坐标小于第m-1行中的第一个黑色像素点的横坐标;
则分别计算任意相邻两行的第二角度,第二角度为相邻两行中其中一行的最后一个黑色像素点与另一行的最后一个黑色像素点之间的连线与坐标轴横轴的夹角;
计算第二角度的平均值;
将第二角度的平均值确定为条形码图像中的条形码与坐标轴横轴的夹角。
在其中一个实施例中,逐行扫描条形码图像,获得条形码图像中黑色像素点的坐标的步骤包括:
从坐标原点开始逐行扫描,将每个扫描到的像素点的灰度值与预设的阈值进行比较,若大于阈值则确定为黑色像素点;其中,坐标原点为条形码图像的左上角顶点;
依次记录每个黑色像素点的坐标。
在其中一个实施例中,逐行扫描条形码图像,获得条形码图像中黑色像素点的坐标的步骤包括:
对条形码图像做二值化处理;
从坐标原点开始逐行扫描;将扫描到的像素值为0像素点的确定为黑色像素点;其中,坐标原点为条形码图像的左上角顶点;
依次记录扫描的每个黑色像素点的坐标。
一种条形码识别装置,装置包括:
条形码图像获取模块,用于获取条形码图像;
黑色像素点坐标获取模块,用于逐行扫描条形码图像,获得条形码图像中黑色像素点的坐标;
条形码倾斜角度确定模块,用于根据条形码图像中黑色像素点的坐标确定条形码图像中条形码的倾斜角度;
条形码提取模块,用于沿条形码的倾斜角度对条形码图像进行扫描,提取条形码;
条形码解码模块,用于对条形码进行解码得到条形码的条码信息。
一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:
获取条形码图像;
逐行扫描条形码图像,获得条形码图像中黑色像素点的坐标;
根据条形码图像中黑色像素点的坐标确定条形码图像中条形码的倾斜角度;
沿条形码的倾斜角度对条形码图像进行扫描,提取条形码;
对条形码进行解码得到条形码的条码信息。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取条形码图像;
逐行扫描条形码图像,获得条形码图像中黑色像素点的坐标;
根据条形码图像中黑色像素点的坐标确定条形码图像中条形码的倾斜角度;
沿条形码的倾斜角度对条形码图像进行扫描,提取条形码;
对条形码进行解码得到条形码的条码信息。
上述条形码识别方法、装置、计算机设备和存储介质,对条形码图像采取逐行扫描的方式扫描,获得条形码图像中黑色像素点的坐标,根据黑色像素点的坐标确定条形码图像中条形码的倾斜角度,沿条形码的倾斜角度重新对条形码图像进行扫描,提取出条形码并解码即可获得条形码的条码信息,无需旋转条形码图像或是分别扫描多个角度获取条形码图像即可准确识别条形码获得条码信息。
附图说明
图1为一个实施例中,条形码识别方法的应用环境图;
图2为一个实施例中,条形码识别方法的流程示意图;
图3为一个实施例中,根据条形码图像中黑色像素点的坐标确定条形码图像中条形码的倾斜角度的步骤的流程示意图;
图4为另一个实施例中,根据条形码图像中黑色像素点的坐标确定条形码图像中条形码的倾斜角度的步骤的流程示意图;
图5为又一个实施例中,根据条形码图像中黑色像素点的坐标确定条形码图像中条形码的倾斜角度的步骤的流程示意图;
图6为再一个实施例中,根据条形码图像中黑色像素点的坐标确定条形码图像中条形码的倾斜角度的步骤的流程示意图;
图7为一个实施例中,逐行扫描条形码图像,获得条形码图像中黑色像素点的坐标的步骤的流程示意图;
图8为又一个实施例中,逐行扫描条形码图像,获得条形码图像中黑色像素点的坐标的步骤的流程示意图;
图9~图13为条形码不同倾斜角度示意图;
图14为一个实施例中条形码识别装置的结构框图;
图15为一个实施例中计算机设备的内部结构图;
图16为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
本申请提供的条形码识别方法,可以应用于如图1所示的应用环境中。通过终端100对条码进行识别,其中,终端100可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、便携式可穿戴设备和扫码器。
在一个实施例中,如图2所示,提供了一种条形码识别方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
步骤S210,获取条形码图像。
其中,条形码图像为包括待识别的条形码的图像,条形码图像中除了条形码可能还包括空白区域。
在一个实施例中,条形码图像为终端上的图像采集装置采集的。在一个实施例中,条形码图像也可以是终端通过通信传输的方式从其他设备获取的。
步骤S220,逐行扫描条形码图像,获得条形码图像中黑色像素点的坐标。
目前常见的扫码识别方式一般为直接对完整条形码进行扫描识别,本发明中先采用逐行扫描的方式对条形码进行扫描,目的是为了在识别前得到条形码的倾斜角度,是在普通扫码识别步骤之前增加了逐行扫描的步骤。
条形码是条码中的一维条码,由一组规则排列的条、空以及对应的字符组成的标记,“条”指对光线反射率较低的部分,“空”指对光线反射率较高的部分,这些条和空组成的数据表达一定的信息,其中,条由黑色像素点构成。
黑色像素点的坐标所对应的坐标轴的横轴与条形码的夹角,即为条形码的倾斜角度。在一个实施例中,坐标原点可以是条形码的中心点,在一个是实施例中,坐标原点可以是逐行扫描的起点,即若扫描起点为条形码图像的左上角顶点,则坐标原点为条形码图像的左上角顶点,若扫描起点为条形码图像的右上角顶点,则坐标原点为条形码图像的右上角顶点。在一个实施例中,横轴在水平方向上,横轴的正方向与逐行扫描在水平方向上的扫描方向一致,即若在水平方向上的扫描方向为从左到右进行扫描,则横轴的正方向指向右,纵轴在垂直于水平方向的竖直方向上,纵轴的正方向与逐行扫描在竖直方向上的扫描方向一致,即若在竖直方向上的扫描方向为从上到下进行扫描,则纵轴的正方向指向下。
步骤S230,根据条形码图像中黑色像素点的坐标确定条形码图像中条形码的倾斜角度。
根据条形码图像中黑色像素点坐标的变化规律进行数学计算,即可确定条形码图像中条形码的倾斜角度。
步骤S240,沿条形码的倾斜角度对条形码图像进行扫描,提取条形码。
沿计算出的条形码倾斜角度对条形码图像再次进行扫描,提取出符合识别要求的条形码,需要说明的是,本申请中所提到的扫描是指对终端获取到的图像进行图像处理的扫描识别,并非普遍意义上的利用扫描设备对某个对象的条形码进行图像获取层面的扫描。
步骤S250,对条形码进行解码得到条形码的条码信息。
对条形码进行解码获得码值即可根据码值获得条形码所对应的条码信息。
上述条形码识别方法中,对条形码图像采取逐行扫描的方式扫描,获得条形码图像中黑色像素点的坐标,根据黑色像素点的坐标确定条形码图像中条形码的倾斜角度,沿条形码的倾斜角度重新对条形码图像进行扫描,提取出条形码并解码即可获得条形码的条码信息,仅需在图像处理中进行计算即可准确获得条码信息,无需旋转条形码图像或是分别扫描多个角度获取条形码图像即可准确识别条形码获得条码信息。
在其中一个实施例中,如图3所示,根据条形码图像中黑色像素点的坐标确定条形码图像中条形码的倾斜角度的步骤包括:
步骤S231,识别每一行中的黑色像素点的数量是否均相等。
步骤S232,若相等,则确定条形码图像中的条形码与坐标轴横轴的夹角为0°;其中,坐标轴为用于确定黑色像素点坐标的坐标轴,坐标轴的横轴方向与扫描的水平方向一致。
若逐行扫描时每一行中的黑色像素点的数量均相等,即条形码倾斜角度如图9所示的情况,则表示条形码的倾斜角度为0°,每个“条”均在竖直方向上,每一行的黑色像素点均相同。
在其中一个实施例中,如图4所示,根据条形码图像中黑色像素点的坐标确定条形码图像中条形码的倾斜角度的步骤还包括:
步骤S233,若每一行中的黑色像素点的数量不相等,则判断第一行中的各个黑色像素点横坐标是否以步进一的递增方式变化。
步骤S234,若是,则确定条形码图像中的条形码与坐标轴横轴的夹角为90°。
若第一行中的各个黑色像素点的横坐标是以步进一的递增方式变化,即第一行中的黑色像素点为连续的像素点,即第一行为一条黑色线条,因此条形码是如图10所示的情况,即条形码的倾斜角度为90°。
在其中一个实施例中,如图5所示,根据条形码图像中黑色像素点的坐标确定条形码图像中条形码的倾斜角度的步骤还包括:
步骤S235,若每一行中的黑色像素点的数量不相等,且第一行中的各个黑色像素点横坐标并未以步进一的递增方式变化,则判断第m行中的第一个黑色像素点的横坐标是否大于第m-1行中的第一个黑色像素点的横坐标。
第m行与第m-1行为任意相邻的两行,若相邻两行中的后一行的第一个黑色像素点的横坐标大于前一行中的第一个黑色像素点的横坐标,则条形码的倾斜角度为如图11所示的情况。
步骤S236,若大于,则分别计算任意相邻两行的第一角度,第一角度为相邻两行中其中一行的第一个黑色像素点与另一行的第一个黑色像素点之间的连线与坐标轴横轴的夹角。
如图11的局部放大图图12所示,坐标为(Xa,Ya)的黑色像素点是第m-1行的第一个黑色像素点,坐标为(Xb,Yb)的黑色像素点是第m行的第一个黑色像素点,坐标为(Xc,Yc)的黑色像素点是第m+1行的第一个黑色像素点。
根据上述坐标值,有以下计算:
第m-1行与第m行的第一角度D1=arctan(Yb-Ya)/(Xa-Xb)
第m行与第m+1行的第一角度D2=arctan(Yc-Yb)/(Xb-Xc)
步骤S237,计算第一角度的平均值。
计算第一角度的平均值能够减小误差,第一角度的平均值为:
D=(D1+D2+……+Dn)/n
步骤S238,将第一角度的平均值确定为条形码图像中的条形码与坐标轴横轴的夹角。
在一个实施例中,为了进一步减小误差,从各第一角度中去掉较为极端的值后再计算平均值。
在其中一个实施例中,如图6所示,根据条形码图像中黑色像素点的坐标确定条形码图像中条形码的倾斜角度的步骤还包括:
步骤S2391,若每一行中的黑色像素点的数量不相等,第一行中的各个黑色像素点横坐标并未以步进一的递增方式变化,并且第m行中的第一个黑色像素点的横坐标小于第m-1行中的第一个黑色像素点的坐标值,则分别计算任意相邻两行的第二角度,第二角度为相邻两行中其中一行的最后一个黑色像素点与另一行的最后一个黑色像素点之间的连线与坐标轴横轴的夹角。
第m行与第m-1行为任意相邻的两行,若相邻两行中的后一行的第一个黑色像素点的横坐标小于前一行中的第一个黑色像素点的横坐标,则条形码的倾斜角度为如图13所示的情况。
设坐标为(Xd,Yd)的黑色像素点是第m-1行的最后一个黑色像素点,坐标为(Xe,Ye)的黑色像素点是第m行的最后一个黑色像素点,坐标为(Xf,Yf)的黑色像素点是第m+1行的最后一个黑色像素点。
根据上述坐标值,有以下计算:
第m-1行与第m行的第二角度D1’=arctan(Ye-Yd)/(Xd-Xe)
第m行与第m+1行的第二角度D2’=arctan(Yf-Ye)/(Xe-Xf)
步骤S2932,计算第二角度的平均值。
步骤S2393,将第二角度的平均值确定为条形码图像中的条形码与坐标轴横轴的夹角。
在一个实施例中,为了进一步减小误差,从各第二角度中去掉较为极端的值后再计算平均值。
在其中一个实施例中,如图7所示,逐行扫描条形码图像,获得条形码图像中黑色像素点的坐标的步骤包括:
步骤S221,从坐标原点开始逐行扫描,将每个扫描到的像素点的灰度值与预设的阈值进行比较,若大于阈值则确定为黑色像素点;其中,坐标原点为条形码图像的左上角顶点。
常见的像素值为灰度值,黑色像素点的像素值大于白色像素点,根据设定的阈值进行判断能够确定出黑色像素点。
步骤S222,依次记录每个黑色像素点的坐标。
在其中一个实施例中,如图8所示,逐行扫描条形码图像,获得条形码图像中黑色像素点的坐标的步骤包括:
步骤S223,对条形码图像做二值化处理。
二值化处理后,条形码图像的像素值仅有0和1两种,0表示黑色像素点,1表示白色像素点,能够更加容易确定黑色像素点。
步骤S224,从坐标原点开始逐行扫描;将扫描到的像素值为0像素点的确定为黑色像素点;其中,坐标原点为条形码图像的左上角顶点。
步骤S225,依次记录扫描的每个黑色像素点的坐标。
应该理解的是,虽然图2-8的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-8中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图14所示,提供了一种条形码识别装置,包括:条形码图像获取模块310、黑色像素点坐标获取模块320、条形码倾斜角度确定模块330、条形码提取模块340和条形码解码模块350,其中:
条形码图像获取模块310,用于获取条形码图像;
黑色像素点坐标获取模块320,用于逐行扫描条形码图像,获得条形码图像中黑色像素点的坐标;
条形码倾斜角度确定模块330,用于根据条形码图像中黑色像素点的坐标确定条形码图像中条形码的倾斜角度;
条形码提取模块340,用于沿条形码的倾斜角度对条形码图像进行扫描,提取条形码;
条形码解码模块350,用于对条形码进行解码得到条形码的条码信息。
在其中一个实施例中,条形码倾斜角度确定模块包括:
黑色像素点数量判断模块,用于识别每一行中的黑色像素点的数量是否均相等;
第一条形码角度确定模块,用于在每一行中的黑色像素点的数量相等时,确定条形码图像中的条形码与坐标轴横轴的夹角为0°;其中,坐标轴为用于确定黑色像素点坐标的坐标轴,坐标轴的横轴方向与扫描的水平方向一致。
在其中一个实施例中,条形码倾斜角度确定模块还包括:
黑色像素点横坐标变化方式判断模块,用于在每一行中的黑色像素点的数量不相等时,判断第一行中的各个黑色像素点横坐标是否以步进一的递增方式变化;
第二条形码角度确定模块,用于在第一行中的各个黑色像素点横坐标是以步进一的递增方式变化时,确定条形码图像中的条形码与坐标轴横轴的夹角为90°。
关于条形码识别装置的具体限定可以参见上文中对于条形码识别方法的限定,在此不再赘述。上述条形码识别装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图15所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种条形码识别方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图16所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种条形码识别方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图15或图16中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取条形码图像;
逐行扫描条形码图像,获得条形码图像中黑色像素点的坐标;
根据条形码图像中黑色像素点的坐标确定条形码图像中条形码的倾斜角度;
沿条形码的倾斜角度对条形码图像进行扫描,提取条形码;
对条形码进行解码得到条形码的条码信息。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
识别每一行中的黑色像素点的数量是否均相等;
若相等,则确定条形码图像中的条形码与坐标轴横轴的夹角为0°;其中,坐标轴为用于确定黑色像素点坐标的坐标轴,坐标轴的横轴方向与扫描的水平方向一致。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
若每一行中的黑色像素点的数量不相等,则判断第一行中的各个黑色像素点横坐标是否以步进一的递增方式变化;
若是,则确定条形码图像中的条形码与坐标轴横轴的夹角为90°。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
若每一行中的黑色像素点的数量不相等,且第一行中的各个黑色像素点横坐标并未以步进一的递增方式变化,则判断第m行中的第一个黑色像素点的横坐标是否大于第m-1行中的第一个黑色像素点的横坐标;
若大于,则分别计算任意相邻两行的第一角度,第一角度为相邻两行中其中一行的第一个黑色像素点与另一行的第一个黑色像素点之间的连线与坐标轴横轴的夹角;
计算第一角度的平均值;
将第一角度的平均值确定为条形码图像中的条形码与坐标轴横轴的夹角。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
若每一行中的黑色像素点的数量不相等,第一行中的各个黑色像素点横坐标并未以步进一的递增方式变化,并且第m行中的第一个黑色像素点的横坐标小于第m-1行中的第一个黑色像素点的横坐标;
则分别计算任意相邻两行的第二角度,第二角度为相邻两行中其中一行的最后一个黑色像素点与另一行的最后一个黑色像素点之间的连线与坐标轴横轴的夹角;
计算第二角度的平均值;
将第二角度的平均值确定为条形码图像中的条形码与坐标轴横轴的夹角。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
从坐标原点开始逐行扫描,将每个扫描到的像素点的灰度值与预设的阈值进行比较,若大于阈值则确定为黑色像素点;其中,坐标原点为条形码图像的左上角顶点;
依次记录每个黑色像素点的坐标。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
对条形码图像做二值化处理;
从坐标原点开始逐行扫描;将扫描到的像素值为0像素点的确定为黑色像素点;其中,坐标原点为条形码图像的左上角顶点;
依次记录扫描的每个黑色像素点的坐标。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取条形码图像;
逐行扫描条形码图像,获得条形码图像中黑色像素点的坐标;
根据条形码图像中黑色像素点的坐标确定条形码图像中条形码的倾斜角度;
沿条形码的倾斜角度对条形码图像进行扫描,提取条形码;
对条形码进行解码得到条形码的条码信息。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
识别每一行中的黑色像素点的数量是否均相等;
若相等,则确定条形码图像中的条形码与坐标轴横轴的夹角为0°;其中,坐标轴为用于确定黑色像素点坐标的坐标轴,坐标轴的横轴方向与扫描的水平方向一致。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
若每一行中的黑色像素点的数量不相等,则判断第一行中的各个黑色像素点横坐标是否以步进一的递增方式变化;
若是,则确定条形码图像中的条形码与坐标轴横轴的夹角为90°。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
若每一行中的黑色像素点的数量不相等,且第一行中的各个黑色像素点横坐标并未以步进一的递增方式变化,则判断第m行中的第一个黑色像素点的横坐标是否大于第m-1行中的第一个黑色像素点的横坐标;
若大于,则分别计算任意相邻两行的第一角度,第一角度为相邻两行中其中一行的第一个黑色像素点与另一行的第一个黑色像素点之间的连线与坐标轴横轴的夹角;
计算第一角度的平均值;
将第一角度的平均值确定为条形码图像中的条形码与坐标轴横轴的夹角。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
若每一行中的黑色像素点的数量不相等,第一行中的各个黑色像素点横坐标并未以步进一的递增方式变化,并且第m行中的第一个黑色像素点的横坐标小于第m-1行中的第一个黑色像素点的横坐标;
则分别计算任意相邻两行的第二角度,第二角度为相邻两行中其中一行的最后一个黑色像素点与另一行的最后一个黑色像素点之间的连线与坐标轴横轴的夹角;
计算第二角度的平均值;
将第二角度的平均值确定为条形码图像中的条形码与坐标轴横轴的夹角。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
从坐标原点开始逐行扫描,将每个扫描到的像素点的灰度值与预设的阈值进行比较,若大于阈值则确定为黑色像素点;其中,坐标原点为条形码图像的左上角顶点;
依次记录每个黑色像素点的坐标。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
对条形码图像做二值化处理;
从坐标原点开始逐行扫描;将扫描到的像素值为0像素点的确定为黑色像素点;其中,坐标原点为条形码图像的左上角顶点;
依次记录扫描的每个黑色像素点的坐标。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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 (10)
1.一种条形码识别方法,其特征在于,所述方法包括:
获取条形码图像;
逐行扫描所述条形码图像,获得所述条形码图像中黑色像素点的坐标;
根据所述条形码图像中黑色像素点的坐标确定所述条形码图像中条形码的倾斜角度;
沿所述条形码的倾斜角度对所述条形码图像进行扫描,提取所述条形码;
对所述条形码进行解码得到所述条形码的条码信息。
2.根据权利要求1所述的条形码识别方法,其特征在于,所述根据所述条形码图像中黑色像素点的坐标确定所述条形码图像中条形码的倾斜角度的步骤包括:
识别每一行中的黑色像素点的数量是否均相等;
若相等,则确定所述条形码图像中的所述条形码与坐标轴横轴的夹角为0°;其中,所述坐标轴为用于确定所述黑色像素点坐标的坐标轴,所述坐标轴的横轴方向与扫描的水平方向一致。
3.根据权利要求2所述的条形码识别方法,其特征在于,所述根据所述条形码图像中黑色像素点的坐标确定所述条形码图像中条形码的倾斜角度的步骤还包括:
若每一行中的黑色像素点的数量不相等,则判断第一行中的各个所述黑色像素点横坐标是否以步进一的递增方式变化;
若是,则确定所述条形码图像中的所述条形码与所述坐标轴横轴的夹角为90°。
4.根据权利要求3所述的条形码识别方法,其特征在于,所述根据所述条形码图像中黑色像素点的坐标确定所述条形码图像中条形码的倾斜角度的步骤还包括:
若每一行中的黑色像素点的数量不相等,且第一行中的各个所述黑色像素点横坐标并未以步进一的递增方式变化,则判断第m行中的第一个黑色像素点的横坐标是否大于第m-1行中的第一个黑色像素点的横坐标是;
若大于,则分别计算任意相邻两行的第一角度,所述第一角度为相邻两行中其中一行的第一个黑色像素点与另一行的第一个黑色像素点之间的连线与所述坐标轴横轴的夹角;
计算所述第一角度的平均值;
将所述第一角度的平均值确定为所述条形码图像中的所述条形码与所述坐标轴横轴的夹角。
5.根据权利要求4所述的条形码识别方法,其特征在于,所述根据所述条形码图像中黑色像素点的坐标确定所述条形码图像中条形码的倾斜角度的步骤还包括:
若每一行中的黑色像素点的数量不相等,第一行中的各个所述黑色像素点横坐标并未以步进一的递增方式变化,并且第m行中的第一个黑色像素点的横坐标小于第m-1行中的第一个黑色像素点的横坐标;
则分别计算任意相邻两行的第二角度,所述第二角度为相邻两行中其中一行的最后一个黑色像素点与另一行的最后一个黑色像素点之间的连线与所述坐标轴横轴的夹角;
计算所述第二角度的平均值;
将所述第二角度的平均值确定为所述条形码图像中的所述条形码与所述坐标轴横轴的夹角。
6.根据权利要求1至5任一项所述的条形码识别方法,其特征在于,所述逐行扫描所述条形码图像,获得所述条形码图像中黑色像素点的坐标的步骤包括:
从坐标原点开始逐行扫描,将每个扫描到的像素点的灰度值与预设的阈值进行比较,若大于所述阈值则确定为黑色像素点;其中,所述坐标原点为所述条形码图像的左上角顶点;
依次记录每个黑色像素点的坐标。
7.根据权利要求1至5任一项所述的条形码识别方法,其特征在于,所述逐行扫描所述条形码图像,获得所述条形码图像中黑色像素点的坐标的步骤包括:
对所述条形码图像做二值化处理;
从坐标原点开始逐行扫描;将扫描到的像素值为0像素点的确定为黑色像素点;其中,所述坐标原点为所述条形码图像的左上角顶点;
依次记录扫描的每个黑色像素点的坐标。
8.一种条形码识别装置,其特征在于,所述装置包括:
条形码图像获取模块,用于获取条形码图像;
黑色像素点坐标获取模块,用于逐行扫描所述条形码图像,获得所述条形码图像中黑色像素点的坐标;
条形码倾斜角度确定模块,用于根据所述条形码图像中黑色像素点的坐标确定所述条形码图像中条形码的倾斜角度;
条形码提取模块,用于沿所述条形码的倾斜角度对所述条形码图像进行扫描,提取所述条形码;
条形码解码模块,用于对所述条形码进行解码得到所述条形码的条码信息。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910827229.5A CN110659529B (zh) | 2019-09-03 | 2019-09-03 | 条形码识别方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910827229.5A CN110659529B (zh) | 2019-09-03 | 2019-09-03 | 条形码识别方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110659529A true CN110659529A (zh) | 2020-01-07 |
CN110659529B CN110659529B (zh) | 2023-06-02 |
Family
ID=69037752
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910827229.5A Active CN110659529B (zh) | 2019-09-03 | 2019-09-03 | 条形码识别方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110659529B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111797647A (zh) * | 2020-07-08 | 2020-10-20 | 北京京东振世信息技术有限公司 | 条码解码方法和装置 |
CN112287702A (zh) * | 2020-05-19 | 2021-01-29 | 珠海市杰理科技股份有限公司 | 无外部存储器的扫码方法、装置、扫描设备和移动终端 |
CN112364676A (zh) * | 2020-11-13 | 2021-02-12 | 北京元心科技有限公司 | 图像码的处理方法、装置、电子设备及存储介质 |
CN112383670A (zh) * | 2020-11-10 | 2021-02-19 | 武汉天有科技有限公司 | 一种试卷扫描自动扶正方法及装置 |
CN113553876A (zh) * | 2021-09-22 | 2021-10-26 | 长沙海信智能系统研究院有限公司 | 条形码识别方法、装置、设备及存储介质 |
CN116451720A (zh) * | 2023-06-09 | 2023-07-18 | 陕西西煤云商信息科技有限公司 | 一种仓储物资扫描识别方法及其识别系统 |
CN116882432A (zh) * | 2023-07-11 | 2023-10-13 | 深圳市裕源欣电子科技有限公司 | 多种物料的扫描方法、系统、可读存储介质及计算机设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02125387A (ja) * | 1988-07-13 | 1990-05-14 | Matsushita Electric Ind Co Ltd | 画信号処理装置 |
US5521368A (en) * | 1993-09-22 | 1996-05-28 | Olympus Optical Co., Ltd. | Barcode symbol reading system having function for detecting and correcting inclination of barcode symbol |
JP2004086305A (ja) * | 2002-08-23 | 2004-03-18 | Seiko Epson Corp | バーコード傾き角度検出方法及びバーコード読み取り装置 |
US20110290880A1 (en) * | 2010-06-01 | 2011-12-01 | Fujian Newland Computer Co., Ltd. | Data matrix decoding chip and decoding method thereof |
CN103034831A (zh) * | 2011-09-30 | 2013-04-10 | 无锡爱丁阁信息科技有限公司 | 线性条码识别方法和系统 |
CN104933387A (zh) * | 2015-06-24 | 2015-09-23 | 上海快仓智能科技有限公司 | 一种基于二维码解码的快速定位识别的方法 |
CN105335681A (zh) * | 2014-07-14 | 2016-02-17 | 株式会社理光 | 条形码识别装置、文档图像管理系统以及条形码识别方法 |
CN108256375A (zh) * | 2018-01-10 | 2018-07-06 | 诺为信科技有限公司 | 一种一维条形码扫描方法 |
CN109190434A (zh) * | 2018-06-25 | 2019-01-11 | 广东工业大学 | 一种基于亚像素级角点检测的条码识别算法 |
-
2019
- 2019-09-03 CN CN201910827229.5A patent/CN110659529B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02125387A (ja) * | 1988-07-13 | 1990-05-14 | Matsushita Electric Ind Co Ltd | 画信号処理装置 |
US5521368A (en) * | 1993-09-22 | 1996-05-28 | Olympus Optical Co., Ltd. | Barcode symbol reading system having function for detecting and correcting inclination of barcode symbol |
JP2004086305A (ja) * | 2002-08-23 | 2004-03-18 | Seiko Epson Corp | バーコード傾き角度検出方法及びバーコード読み取り装置 |
US20110290880A1 (en) * | 2010-06-01 | 2011-12-01 | Fujian Newland Computer Co., Ltd. | Data matrix decoding chip and decoding method thereof |
CN103034831A (zh) * | 2011-09-30 | 2013-04-10 | 无锡爱丁阁信息科技有限公司 | 线性条码识别方法和系统 |
CN105335681A (zh) * | 2014-07-14 | 2016-02-17 | 株式会社理光 | 条形码识别装置、文档图像管理系统以及条形码识别方法 |
CN104933387A (zh) * | 2015-06-24 | 2015-09-23 | 上海快仓智能科技有限公司 | 一种基于二维码解码的快速定位识别的方法 |
CN108256375A (zh) * | 2018-01-10 | 2018-07-06 | 诺为信科技有限公司 | 一种一维条形码扫描方法 |
CN109190434A (zh) * | 2018-06-25 | 2019-01-11 | 广东工业大学 | 一种基于亚像素级角点检测的条码识别算法 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112287702A (zh) * | 2020-05-19 | 2021-01-29 | 珠海市杰理科技股份有限公司 | 无外部存储器的扫码方法、装置、扫描设备和移动终端 |
CN112287702B (zh) * | 2020-05-19 | 2023-03-14 | 珠海市杰理科技股份有限公司 | 无外部存储器的扫码方法、装置、扫描设备和移动终端 |
CN111797647A (zh) * | 2020-07-08 | 2020-10-20 | 北京京东振世信息技术有限公司 | 条码解码方法和装置 |
CN111797647B (zh) * | 2020-07-08 | 2023-11-03 | 北京京东振世信息技术有限公司 | 条码解码方法和装置 |
CN112383670A (zh) * | 2020-11-10 | 2021-02-19 | 武汉天有科技有限公司 | 一种试卷扫描自动扶正方法及装置 |
CN112383670B (zh) * | 2020-11-10 | 2022-09-16 | 武汉天有科技有限公司 | 一种试卷扫描自动扶正方法及装置 |
CN112364676A (zh) * | 2020-11-13 | 2021-02-12 | 北京元心科技有限公司 | 图像码的处理方法、装置、电子设备及存储介质 |
CN113553876A (zh) * | 2021-09-22 | 2021-10-26 | 长沙海信智能系统研究院有限公司 | 条形码识别方法、装置、设备及存储介质 |
CN116451720A (zh) * | 2023-06-09 | 2023-07-18 | 陕西西煤云商信息科技有限公司 | 一种仓储物资扫描识别方法及其识别系统 |
CN116882432A (zh) * | 2023-07-11 | 2023-10-13 | 深圳市裕源欣电子科技有限公司 | 多种物料的扫描方法、系统、可读存储介质及计算机设备 |
CN116882432B (zh) * | 2023-07-11 | 2024-03-22 | 深圳市裕源欣电子科技有限公司 | 多种物料的扫描方法、系统、可读存储介质及计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110659529B (zh) | 2023-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110659529B (zh) | 条形码识别方法、装置、计算机设备和存储介质 | |
CN109753838B (zh) | 二维码识别方法、装置、计算机设备及存储介质 | |
CN109285105B (zh) | 水印检测方法、装置、计算机设备和存储介质 | |
CN110008997B (zh) | 图像纹理相似度识别方法、装置及计算机可读存储介质 | |
US11727701B2 (en) | Techniques to determine document recognition errors | |
CN115620321B (zh) | 表格识别方法及装置、电子设备和存储介质 | |
CN111507165A (zh) | 人脸识别方法、装置、电子设备及计算机可读存储介质 | |
CN112686919A (zh) | 物体边界线确定方法、装置、电子设备及存储介质 | |
CN112926564A (zh) | 图片分析方法、系统、计算机设备和计算机可读存储介质 | |
CN113449536A (zh) | 条码图像修复方法、装置、计算机设备和存储介质 | |
CN110245570B (zh) | 扫描文本分段方法、装置、计算机设备和存储介质 | |
CN110807342B (zh) | 条形码定位方法、装置、计算机设备和存储介质 | |
CN112766256B (zh) | 光栅相位图处理方法、装置、电子设备及存储介质 | |
CN110490020B (zh) | 条码识别方法、装置、计算机设备和存储介质 | |
CN111709422A (zh) | 基于神经网络的图像识别方法、装置和计算机设备 | |
CN108364024B (zh) | 图像匹配方法、装置、计算机设备和存储介质 | |
CN111951329B (zh) | 二维码的识别方法、装置、设备及存储介质 | |
CN111401366B (zh) | 字符识别方法、装置、计算机设备和存储介质 | |
CN113011132B (zh) | 竖排文字识别方法、装置、计算机设备和存储介质 | |
CN109543479B (zh) | 扫码方法、装置、设备和存储介质 | |
CN110222753B (zh) | 字符识别验证方法、系统、计算机设备、存储介质和芯片 | |
US20200401862A1 (en) | Barcode generation device and barcode generation method | |
CN113065010A (zh) | 标牌图像管理方法、装置、计算机设备和存储介质 | |
CN113794741B (zh) | 访客信息登记方法、装置、计算机设备、存储介质 | |
US20240296300A1 (en) | Method and apparatus for decoding optical codes of different orientations |
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 |