CN109214229A - 一种条码扫描方法、装置及电子设备 - Google Patents
一种条码扫描方法、装置及电子设备 Download PDFInfo
- Publication number
- CN109214229A CN109214229A CN201710522916.7A CN201710522916A CN109214229A CN 109214229 A CN109214229 A CN 109214229A CN 201710522916 A CN201710522916 A CN 201710522916A CN 109214229 A CN109214229 A CN 109214229A
- Authority
- CN
- China
- Prior art keywords
- pixel
- hot spot
- gray value
- target image
- value
- 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
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/1408—Methods for optical code recognition the method being specifically adapted for the type of code
- G06K7/1413—1D bar codes
-
- 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
- G06K7/1486—Setting the threshold-width for bar codes to be decoded
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (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)
- Quality & Reliability (AREA)
- Image Processing (AREA)
Abstract
本发明实施例提供了一种条码扫描方法、装置及电子设备,该方法首先获得包含条码的目标图像;再根据所述目标图像中每个像素点的灰度值,确定所述目标图像中处于光斑区域的光斑像素点;然后采用每个目标像素列中非光斑像素点的灰度值,对该目标像素列中光斑像素点的灰度值进行修复;再对修复后的目标图像进行条空扫描,获得条空信息;最后,对条空信息进行译码,获得目标图像所包含条码标识的字符信息。其中,上述目标像素列为:目标图像中光斑像素点所在的像素列。应用本发明实施例的方案,可以消除光斑对于一维条码扫描的干扰,提高条空扫描的准确性,进而提高一维条码的扫描成功率,即保证一维条码扫描的可靠性。
Description
技术领域
本发明涉及图像处理技术领域,特别是涉及一种条码扫描方法、装置及电子设备。
背景技术
众所周知,条形码(barcode),简称条码,其可以标识出物品的生产国、制造厂家、商品名称、生产日期、图书分类号、邮件起止地点、类别、日期等字符信息,因而在商品流通、图书管理、邮政管理、银行系统等许多领域都得到广泛的应用。条形码是由宽度不等的多个黑条和空白按照一定的编码规则排列用以表达一组信息的图形标识符。常见的一维条码是由反射率相差很大的黑条和白条排成的平行线图案;其中,上述黑条,简称条,为条码中反射率较低的部分;上述白条,简称空,为条码中反射率较高的部分。
条码标识的字符信息需要通过扫码器扫描获得,扫码器扫描一维条码时,首先通过扫码器上的摄像头拍摄包含条码的图像,然后对所获得的图像进行条空扫描,获得一维条码的条空信息,最后对该条空信息进行译码,获得该条空信息对应的字符信息,即获得一维条码标识的字符信息。
虽然应用上述方式可以获得一维条码标识的字符信息,但是在扫码器上的摄像头拍摄一维条码的图像时,由于自然光、灯光照射一维条码而产生的反射现象,拍摄所得的图像中可能存在大量的光斑,光斑遮挡了一维条码中的条和空,因此扫码器对一维条码的图像进行条空扫描时,易造成获得的一维条码的条空信息不准确,进而导致一维条码的扫描成功率低。
发明内容
本发明实施例的目的在于提供一种条码扫描方法、装置及电子设备,以避免光斑对于一维条码扫描的干扰,提高一维条码的扫描成功率。具体技术方案如下:
为达上述目的,第一方面,本发明实施例提供了一种条码扫描方法,所述方法包括:
获得包含条码的目标图像;
根据所述目标图像中每个像素点的灰度值,确定所述目标图像中处于光斑区域的光斑像素点;
采用每个目标像素列中非光斑像素点的灰度值,对该目标像素列中光斑像素点的灰度值进行修复,其中,所述目标像素列为:所述目标图像中光斑像素点所在的像素列;
对修复后的所述目标图像进行条空扫描,获得条空信息;
对所述条空信息进行译码,获得所述目标图像所包含条码标识的字符信息。
可选的,所述根据所述目标图像中每个像素点的灰度值,确定所述目标图像中处于光斑区域的光斑像素点的步骤,包括:
获得所述目标图像中每个像素点的灰度值;
确定灰度值超过预设阈值的像素点为处于光斑区域的光斑像素点。
可选的,所述采用每个目标像素列中非光斑像素点的灰度值,对该目标像素列中光斑像素点的灰度值进行修复的步骤,包括:
以像素列为单位,获得各目标像素列中非光斑像素点的灰度值的统计值;
将每个目标像素列中光斑像素点的灰度值设置为该目标像素列中非光斑像素点的灰度值的统计值。
可选的,所述统计值包括:平均值、众数、中位数中的任意一种。
可选的,所述以像素列为单位,获得各目标像素列中非光斑像素点的灰度值的统计值的步骤,包括:
以像素列为单位,获得每一目标像素列中非光斑像素点的灰度值的直方图统计值;
对每一目标像素列对应的直方图统计值进行滤波处理;
确定滤波处理后每一目标像素列对应的直方图统计值的峰值所对应的目标灰度值;
确定每一目标像素列对应的目标灰度值为该目标像素列中非光斑像素点的灰度值的统计值。
可选的,所述对修复后的所述目标图像进行条空扫描,获得条空信息的步骤,包括:
对修复后的所述目标图像进行图像去噪处理;
对图像去噪处理后的所述目标图像进行条空扫描,获得条空信息。
第二方面,本发明实施例提供了一种条码扫描装置,所述装置包括:
获得模块,用于获得包含条码的目标图像;
确定模块,用于根据所述目标图像中每个像素点的灰度值,确定所述目标图像中处于光斑区域的光斑像素点;
修复模块,用于采用每个目标像素列中非光斑像素点的灰度值,对该目标像素列中光斑像素点的灰度值进行修复,其中,所述目标像素列为:所述目标图像中光斑像素点所在的像素列;
扫描模块,用于对修复后的所述目标图像进行条空扫描,获得条空信息;
译码模块,用于对所述条空信息进行译码,获得所述目标图像所包含条码标识的字符信息。
可选的,所述确定模块,包括:
第一获得子模块,用于获得所述目标图像中每个像素点的灰度值;
确定子模块,用于确定灰度值超过预设阈值的像素点为处于光斑区域的光斑像素点。
可选的,所述修复模块,包括:
第二获得子模块,用于以像素列为单位,获得各目标像素列中非光斑像素点的灰度值的统计值;
设置子模块,用于将每个目标像素列中光斑像素点的灰度值设置为该目标像素列中非光斑像素点的灰度值的统计值。
可选的,所述统计值包括:平均值、众数、中位数中的任意一种。
可选的,所述第二获得子模块,包括:
获得子单元,用于以像素列为单位,获得每一目标像素列中非光斑像素点的灰度值的直方图统计值;
滤波子单元,用于对每一目标像素列对应的直方图统计值进行滤波处理;
第一确定子单元,用于确定滤波处理后每一目标像素列对应的直方图统计值的峰值所对应的目标灰度值;
第二确定子单元,用于确定每一目标像素列对应的目标灰度值为该目标像素列中非光斑像素点的灰度值的统计值。
可选的,所述扫描模块,包括:
去噪子模块,用于对修复后的所述目标图像进行图像去噪处理;
扫描子模块,用于对图像去噪处理后的所述目标图像进行条空扫描,获得条空信息。
第三方面,本发明实施例还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任意一种条码扫描方法所述的方法步骤。
本发明实施例提供的条码扫描方法、装置及电子设备,首先获得包含条码的目标图像;再根据目标图像中每个像素点的灰度值,确定目标图像中处于光斑区域的光斑像素点;然后采用每个目标像素列中非光斑像素点的灰度值,对该目标像素列中光斑像素点的灰度值进行修复;再对修复后的目标图像进行条空扫描,获得条空信息;最后,对条空信息进行译码,获得目标图像所包含条码标识的字符信息。其中,上述目标像素列为:目标图像中光斑像素点所在的像素列。应用本发明实施例提供的方案进行条码扫描时,由于采用每个目标像素列中非光斑像素点的灰度值,对该目标像素列中光斑像素点的灰度值进行修复,可以消除光斑对一维条码扫描的干扰,提高条空扫描的准确性,进而提高一维条码的扫描成功率,即保证了一维条码扫描的可靠性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为真实一维条码的示意图;
图2为受光斑干扰时所获得的包含有一维条码的图像;
图3为本发明实施例提供的条码扫描方法的第一种流程示意图;
图4为本发明实施例提供的条码扫描方法的第二种流程示意图;
图5为本发明实施例提供的条码扫描方法的第三种流程示意图;
图6为本发明实施例提供的条码扫描方法的第四种流程示意图;
图7为本发明实施例提供的条码扫描装置的第一种结构示意图;
图8为本发明实施例提供的条码扫描装置的第二种结构示意图;
图9为本发明实施例提供的条码扫描装置的第三种结构示意图;
图10为本发明实施例提供的条码扫描装置的第四种结构示意图;
图11为本发明实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
结合背景技术,扫码设备在获取一维条码的图像时,如图2所示,由于自然光、灯光照射一维条码而产生的反射现象,摄像头所拍摄的图像中可能存在大量的亮度极高的区域,即光斑,光斑遮挡了一维条码中的条和空。对比图1中的一维条码,图2中一维条码的条和空被光斑遮挡,因此进行条空扫描时,很难扫描到准确、完整的条空信息,导致一维条码的扫描成功率低的问题。为解决上述问题,本发明实施例提供了一种条码扫描方法、装置及电子设备。
具体的,参见图3,图3为本发明实施例的条码扫描方法的第一种流程示意图。如图3所示,该方法包括:S101、获得包含条码的目标图像;S102、根据目标图像中每个像素点的灰度值,确定目标图像中处于光斑区域的光斑像素点;S103、采用每个目标像素列中非光斑像素点的灰度值,对该目标像素列中光斑像素点的灰度值进行修复,其中,目标像素列为:目标图像中光斑像素点所在的像素列。S104、对修复后的目标图像进行条空扫描,获得条空信息。S105、对条空信息进行译码,获得目标图像所包含条码标识的字符信息。
由于该方法中,采用每个目标像素列中非光斑像素点的灰度值,对该目标像素列中光斑像素点的灰度值进行修复,可以消除光斑对一维条码扫描的干扰,提高条空扫描的准确性,进而提高一维条码的扫描成功率。
下面通过具体实施例来对本发明进行详细介绍。
本发明实施例提供了一种条码扫描方法,该方法可以应用于扫码器,也可以应用于其它具有一维条码扫描功能的电子设备中,该电子设备可以是单独的一个电子设备,也可以是一套电子设备,本发明实施例在此并不限定电子设备的具体种类。
如图3所示,上述条码扫描方法包括:
S101:获得包含条码的目标图像。
一种情况下,上述条码扫描方法所应用的电子设备具有图像采集器件,则此处所述的获得包含条码的目标图像的步骤,可以为通过图像采集器件采集到包含条码的目标图像;例如,扫码器上设置有摄像头,该摄像头可以拍摄获得包含条码的目标图像。
另一种情况下,上述获得包含条码的目标图像的步骤,可以是条码扫描方法所应用的电子设备接收到其它设备发送过来的目标图像。例如,条码扫描方法所应用的电子设备为服务端设备,终端设备拍摄到一个包含条码的目标图像,然后终端设备将该目标图像发送给服务端设备,服务端设备即获得包含条码的目标图像。
可以理解,获得包含条码的目标图像的具体实现方式可以是多样的,本发明实施例在此对步骤S101的具体实现方式并不做限定。
应该说明的是,此处所说的目标图像中,一维条码的列的方向应与目标图像的像素列平行。例如,上述摄像头拍摄的目标图像中,一维条码的列的方向与目标图像的像素列不平行,则此时可以旋转目标图像,使得旋转后的目标图像中,一维条码的列的方向与目标图像的像素列平行。
S102:根据目标图像中每个像素点的灰度值,确定目标图像中处于光斑区域的光斑像素点。
在本发明实施例的目标图像中,如果一个像素点处于光斑区域,称该像素点为光斑像素点,同理,一个像素点未处于光斑区域,称该像素点为非光斑像素点。
在目标图像中确定上述光斑像素点的方式可以是多种多样的,本领域技术人员可以借用现有技术实现步骤S102。
可以理解,在目标图像中,光斑区域的亮度明显高于非光斑区域的亮度,所以本发明实施例中可以利用目标图像中各个像素点的灰度值,或称亮度值,来判定像素点是否为光斑像素点。
作为本发明实施例的一种实现方式,如图4所示,上述根据目标图像中每个像素点的灰度值,确定目标图像中处于光斑区域的光斑像素点(S102)的步骤,可以包括:
S1021:获得目标图像中每个像素点的灰度值。
S1022:确定灰度值超过预设阈值的像素点为处于光斑区域的光斑像素点。
首先应当说明的是,该预设阈值的设置需要基于实际的应用场景,如,扫码器的应用场景中,光线越暗,则可以将该预设阈值设置的越低,再如,真实的条码中,空白(空)的灰度值越低,则可以将该预设阈值设置的越低。
例如,该预设阈值为200,像素点A的灰度值为240,大于预设阈值200,则可以判定该像素点A为一个光斑像素点;像素点B的灰度值为140,则不能判定该像素点B为一个光斑像素点,而是判定像素点B为一个非光斑像素点。
可以理解,步骤S1021与步骤S1022所示的实现方式十分简单,易于实现,而且步骤执行速度快。
如图3所示,S103:采用每个目标像素列中非光斑像素点的灰度值,对该目标像素列中光斑像素点的灰度值进行修复;其中,目标像素列为:目标图像中光斑像素点所在的像素列。
需要强调的是,本发明各个实施例中所涉及的像素列,均为目标图像中条码所处区域的像素列,所以此处的目标像素列为:目标图像中条码所处区域的各像素列中光斑像素点所在的像素列。
光斑像素点的灰度值远大于条码中对应像素点的灰度值,当上述目标图像中的光斑像素点过多,上述目标图像中就会有成片的光斑,针对条码进行后续的条空扫描操作时,无法准确获知条空边缘信息,进一步造成条空信息扫描的不准确;所以,修复光斑像素点的灰度值后,能够尽可能消除目标图像中的光斑像素点对条空扫描的干扰,提高条空扫描的准确性。
本领域技术人员公知的先验知识是,在像素点这个维度上,一维条码的同一像素列上,各个像素点的灰度值是相同的;所以对于任一目标像素列,可以采用该目标像素列中非光斑像素点的灰度值,对该目标像素列中光斑像素点的灰度值进行修复。
作为本发明实施例的一种实现方式,如图5所示,上述采用每个目标像素列中非光斑像素点的灰度值,对该目标像素列中光斑像素点的灰度值进行修复(S103)的步骤,可以包括:
S1031:以像素列为单位,获得各目标像素列中非光斑像素点的灰度值的统计值。
可以理解,针对每一个目标像素列,可以首先获得该目标像素列中各个非光斑像素点的灰度值,然后根据实际的统计需要,根据该目标像素列中非光斑像素点的灰度值,获得对应的统计值。
应该说明的是,此处所述的统计值最好是可以反映对应目标像素列中所有非光斑像素点的灰度值的值。作为本发明实施例的实现方式,上述统计值可以包括:平均值、众数、中位数中的任意一种。
例如,该统计值为平均值,针对目标像素列x,获得其中所有非光斑像素点的灰度值后,直接计算所获得的所有灰度值的平均值。
S1032:将每个目标像素列中光斑像素点的灰度值设置为该目标像素列中非光斑像素点的灰度值的统计值。
可以理解,步骤S1032执行结束后,即完成对该目标像素列中光斑像素点的灰度值的修复。
例如,该统计值为众数,针对目标像素列y,获知其中所有的非光斑像素点的灰度值后,统计得:目标像素列y所包含的300个非光斑像素点中,有120个非光斑像素点的灰度值为25,且灰度值25为众数,则此时将目标像素列y中光斑像素点的灰度值设置为25,完成对目标像素列y中光斑像素点的灰度值的修复。
如图3所示,S104:对修复后的目标图像进行条空扫描,获得条空信息。
条空扫描技术是本领域技术人员公知的现有技术,如图2所示,可以通过多条平行的扫描线1对目标图像进行扫描,获取条空信息。条空信息可以包含条空边缘信息和条空宽度信息,具体的,对目标图像进行条空扫描时,需要对修复后的目标图像进行条空宽度信息提取,首先可以使用常规的边缘提取方法获取条空边缘信息,然后根据提取的条空边缘信息获取条空宽度信息。
其中,常规的边缘提取方法可以是Sobel(索贝尔)边缘检测方法。其中使用的Sobel算子主要用于获得数字图像的一阶梯度,常见的应用和物理意义是边缘检测。在技术上,Sobel算子是一个离散的一阶差分算子,用来计算图像亮度函数的一阶梯度之近似值;在图像的任何一点使用此算子,将会产生该点对应的梯度矢量或是其法矢量。
当然,步骤S104可以是基于现有技术中的条空扫描技术实现的,本发明实施例在此对步骤S104不做详细介绍。
作为本发明实施例的一种实现方式,上述对修复后的目标图像进行条空扫描,获得条空信息(S104)的步骤,可以包括下述步骤A和步骤B:
步骤A:对修复后的目标图像进行图像去噪处理。
应该说明的是,图像去噪处理的方式有很多,例如常见的滤波处理,本发明实施例在此并不限定具体的图像去噪处理方式。
作为本发明实施例例的一种实现方式,上述步骤A可以是:对修复后的目标图像中的每一目标像素列做均值平滑处理。
例如,修复后的目标图像中,条码的像素列z共包含有300个像素点,则可以计算这300个像素点的灰度值的平均值a,然后将像素列z中的每个像素点的灰度值均更新为该平均值a。
步骤B:对图像去噪处理后的目标图像进行条空扫描,获得条空信息。
可以理解,图像去噪处理可以提高目标图像的图像质量,且进行图像去噪处理后,目标图像的同一像素列中,各个像素点的灰度值的差异更小,便于上述条空信息的扫描。
S105:对条空信息进行译码,获得目标图像所包含条码标识的字符信息。
可以理解,此处的字符信息即为背景技术中所指的物品的生产国、制造厂家、商品名称、生产日期、图书分类号、邮件起止地点、类别、日期等字符信息。
当然,对条空信息进行译码的操作属于现有技术,本领域技术人员可以基于现有技术实现步骤S105。
由以上可见,本实施例的方案采用每个目标像素列中非光斑像素点的灰度值,对该目标像素列中光斑像素点的灰度值进行修复,可以消除光斑对一维条码扫描的干扰,提高条空扫描的准确性,进而提高一维条码的扫描成功率,即保证了一维条码扫描的可靠性。
图6为本发明实施例提供的条码扫描方法的第四种流程示意图;图6所示方法实施例中,该方法包括:
S201:获得包含条码的目标图像;
S202:根据目标图像中每个像素点的灰度值,确定目标图像中处于光斑区域的光斑像素点;
S203:以像素列为单位,获得每一目标像素列中非光斑像素点的灰度值的直方图统计值;
S204:对每一目标像素列对应的直方图统计值进行滤波处理;
S205:确定滤波处理后每一目标像素列对应的直方图统计值的峰值所对应的目标灰度值;
S206:确定每一目标像素列对应的目标灰度值为该目标像素列中非光斑像素点的灰度值的统计值;
S207:将每个目标像素列中光斑像素点的灰度值设置为该目标像素列中非光斑像素点的灰度值的统计值;
S208:对修复后的目标图像进行条空扫描,获得条空信息;
S209:对条空信息进行译码,获得目标图像所包含条码标识的字符信息。
即:在图5所示方法实施例的基础上,上述以像素列为单位,获得各目标像素列中非光斑像素点的灰度值的统计值(图5所示方法实施例的步骤S1031)的步骤,可以包括:
S203:以像素列为单位,获得每一目标像素列中非光斑像素点的灰度值的直方图统计值。
本领域技术人员公知的是,灰度直方图是灰度级的函数,它表示图像中具有某种灰度级的像素的个数,反映了图像中某种灰度值出现的频率。所以在本发明实施例中,此处的直方图统计值可以理解为:目标像素列的所有非光斑像素点对应的灰度值中,各个灰度值的出现次数,或者各个预设灰度值范围内所对应的非光斑像素点的个数。
例如,对于目标像素列x中的所有非光斑像素点,统计灰度值0~255分别出现的次数,此处所述的灰度值0~255分别出现的次数即作为目标像素列x中非光斑像素点的灰度值的直方图统计值。再如,预先将灰度值0~255等分为16个灰度值范围,对于目标像素列x中的所有非光斑像素点的灰度值,计算每个灰度值范围内所分别对应的非光斑像素点的个数,此处所述的16个灰度值范围所分别对应的非光斑像素点的个数即作为目标像素列x中非光斑像素点的灰度值的直方图统计值。
S204:对每一目标像素列对应的直方图统计值进行滤波处理。
滤波处理技术是图像处理领域常用的技术,滤波处理技术的种类较多,如常用的高斯滤波、均值滤波、中值滤波以及双边滤波等,本发明实施例中并不限定步骤S204所采用滤波处理技术的种类。
可以理解,对每一目标像素列对应的直方图统计值进行滤波处理后,可以消除每一目标像素列对应的直方图统计值中的噪声值,保证后续步骤S206所确定统计值的准确性,因而使得继续执行步骤S1032后,目标像素列中光斑像素点的灰度值更接近该目标像素列中大多数非光斑像素点的灰度值,进而提高后续条空扫描的准确性。
作为本发明实施例的一种实现方式,步骤S204所涉及的滤波处理技术可以为均值滤波处理技术。
例如,步骤S203中每一目标像素列中非光斑像素点的灰度值的直方图统计值为:该目标像素列中,灰度值0~255分别出现的次数。具体的均值滤波方法可以是:针对每一个目标像素列,更新其中的每个灰度值的出现次数为:该灰度值邻近的4个灰度值与该灰度值所分别对应的出现次数的平均值。
例如,目标像素列X中灰度值24~30分别出现的次数为35、45、50、45、30、40和30,显然的,均值滤波处理后,灰度值26对应的出现次数为35、45、50、45和30的平均值41;灰度值27对应的出现次数为45、50、45、30和40的平均值42;灰度值28对应的出现次数为50、45、30、40和30的平均值39。
S205:确定滤波处理后每一目标像素列对应的直方图统计值的峰值所对应的目标灰度值。
针对每一个目标像素列,都可以确定出一个峰值;需要说明的是,当该直方图统计值对应为目标像素列中每一个灰度值的出现次数时,所确定的峰值唯一对应有一个灰度值,此时直接将峰值对应的灰度值确定为目标灰度值。例如,滤波处理后,灰度值180的出现次数最多,则将灰度值180确定为目标灰度值。
但是,如果直方图统计值为:目标像素列的所有非光斑像素点对应的灰度值中,各个预设灰度值范围内所对应的非光斑像素点的个数,所确定的峰值对应的是一个灰度值范围,此时可以从该灰度值范围中选取任意一个灰度值作为目标灰度值,或者确定该灰度值范围内所有灰度值的平均值为目标灰度值。例如,滤波处理后,灰度值范围16~31对应的出现次数最多,则此时可以随机地将灰度值25作为目标灰度值。
S206:确定每一目标像素列对应的目标灰度值为该目标像素列中非光斑像素点的灰度值的统计值。
应该说明的是,图6所示方法实施例中的步骤S201、S202、S207、S208和S209分别对应与图5所示方法实施例中的S101、S102、S1032、S104和S105相同,步骤S201、S202、S207、S208和S209的解释说明和具体实现可以参照图3~5所示方法实施例,本实施例在此不再赘述。
下面通过一个具体实例来对本发明进行简单介绍。
扫码器中的摄像头拍摄得到包含一维条码的目标图像;然后提取目标图像中每个像素点的灰度值,将灰度值超过200的像素点确定为处于光斑区域的光斑像素点。
然后针对每一个目标像素列执行以下操作,以修复该目标像素列中光斑像素点的灰度值:
统计目标像素列的所有非光斑像素点中各个灰度值的出现次数;然后进行均值滤波处理:将每个灰度值的出现次数更新为该灰度值邻近的4个灰度值与该灰度值所分别对应的出现次数的平均值;再确定均值滤波处理后该目标像素列中出现次数最多的灰度值m,然后将该目标像素列中各个光斑像素点的灰度值均确定为灰度值m。
对每一个目标像素列执行完上述操作后,扫码器对修复后的目标图像中所包含的条码的每一目标像素列做均值平滑处理:将该目标像素列中所有像素点的灰度值均更新为:该目标像素列中所有像素点的灰度值的平均值。
最后,扫码器对均值滤波处理后的目标图像进行条空扫描,获得条空信息;再对条空信息进行译码,获得目标图像所包含条码标识的字符信息。
相应于图3所示方法实施例,本发明实施例还提供了一种条码扫描装置,如图7所示,该述装置包括:
获得模块110,用于获得包含条码的目标图像;
确定模块120,用于根据所述目标图像中每个像素点的灰度值,确定所述目标图像中处于光斑区域的光斑像素点;
修复模块130,用于采用每个目标像素列中非光斑像素点的灰度值,对该目标像素列中光斑像素点的灰度值进行修复,其中,所述目标像素列为:所述目标图像中光斑像素点所在的像素列;
扫描模块140,用于对修复后的所述目标图像进行条空扫描,获得条空信息;
译码模块150,用于对所述条空信息进行译码,获得所述目标图像所包含条码标识的字符信息。
相应于图4所示方法实施例,作为本发明实施例的一种实现方式,如图8所示,所述确定模块120,可以包括:
第一获得子模块1201,用于获得所述目标图像中每个像素点的灰度值;
确定子模块1202,用于确定灰度值超过预设阈值的像素点为处于光斑区域的光斑像素点。
相应于图5所示方法实施例,作为本发明实施例的一种实现方式,如图9所示,所述修复模块130,可以包括:
第二获得子模块1301,用于以像素列为单位,获得各目标像素列中非光斑像素点的灰度值的统计值;
设置子模块1302,用于将每个目标像素列中光斑像素点的灰度值设置为该目标像素列中非光斑像素点的灰度值的统计值。
作为本发明实施例的一种实现方式,所述统计值可以包括:平均值、众数、中位数中的任意一种。
作为本发明实施例的一种实现方式,所述扫描模块140,可以包括:
去噪子模块,用于对修复后的所述目标图像进行图像去噪处理;
扫描子模块,用于对图像去噪处理后的所述目标图像进行条空扫描,获得条空信息。
由以上可见,本实施例的方案采用每个目标像素列中非光斑像素点的灰度值,对该目标像素列中光斑像素点的灰度值进行修复,可以消除光斑对一维条码扫描的干扰,提高条空扫描的准确性,进而提高一维条码的扫描成功率,即保证了一维条码扫描的可靠性。
相应于图6所示方法实施例,作为本发明实施例的一种实现方式,如图10所示,所述第二获得子模块1301,可以包括:
获得子单元210,用于以像素列为单位,获得每一目标像素列中非光斑像素点的灰度值的直方图统计值;
滤波子单元220,用于对每一目标像素列对应的直方图统计值进行滤波处理;
第一确定子单元230,用于确定滤波处理后每一目标像素列对应的直方图统计值的峰值所对应的目标灰度值;
第二确定子单元240,用于确定每一目标像素列对应的目标灰度值为该目标像素列中非光斑像素点的灰度值的统计值。
可以理解,对每一目标像素列对应的直方图统计值进行滤波处理后,可以消除每一目标像素列对应的直方图统计值中的噪声值,保证所确定统计值的准确性,因而使得继续上述设置子模块1032运行后,目标像素列中光斑像素点的灰度值更接近该目标像素列中大多数非光斑像素点的灰度值,进而保证后续条空扫描的准确性。
本发明实施例还提供了一种电子设备,如图11所示,包括处理器301、通信接口302、存储器303和通信总线304,其中,处理器301,通信接口302,存储器303通过通信总线304完成相互间的通信,
存储器303,用于存放计算机程序;
处理器301,用于执行存储器303上所存放的程序时,实现如下步骤:
获得包含条码的目标图像;
根据目标图像中每个像素点的灰度值,确定目标图像中处于光斑区域的光斑像素点;
采用每个目标像素列中非光斑像素点的灰度值,对该目标像素列中光斑像素点的灰度值进行修复,其中,目标像素列为:目标图像中光斑像素点所在的像素列;
对修复后的目标图像进行条空扫描,获得条空信息;
对条空信息进行译码,获得目标图像所包含条码标识的字符信息。
关于该方法各个步骤的具体实现以及相关解释内容可以参见上述图3~6所示的方法实施例,在此不做赘述。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Ne twork Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Applica tion SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置和电子设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (11)
1.一种条码扫描方法,其特征在于,所述方法包括:
获得包含条码的目标图像;
根据所述目标图像中每个像素点的灰度值,确定所述目标图像中处于光斑区域的光斑像素点;
采用每个目标像素列中非光斑像素点的灰度值,对该目标像素列中光斑像素点的灰度值进行修复,其中,所述目标像素列为:所述目标图像中光斑像素点所在的像素列;
对修复后的所述目标图像进行条空扫描,获得条空信息;
对所述条空信息进行译码,获得所述目标图像所包含条码标识的字符信息。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标图像中每个像素点的灰度值,确定所述目标图像中处于光斑区域的光斑像素点的步骤,包括:
获得所述目标图像中每个像素点的灰度值;
确定灰度值超过预设阈值的像素点为处于光斑区域的光斑像素点。
3.根据权利要求1所述的方法,其特征在于,
所述采用每个目标像素列中非光斑像素点的灰度值,对该目标像素列中光斑像素点的灰度值进行修复的步骤,包括:
以像素列为单位,获得各目标像素列中非光斑像素点的灰度值的统计值;
将每个目标像素列中光斑像素点的灰度值设置为该目标像素列中非光斑像素点的灰度值的统计值。
4.根据权利要求3所述的方法,其特征在于,所述以像素列为单位,获得各目标像素列中非光斑像素点的灰度值的统计值的步骤,包括:
以像素列为单位,获得每一目标像素列中非光斑像素点的灰度值的直方图统计值;
对每一目标像素列对应的直方图统计值进行滤波处理;
确定滤波处理后每一目标像素列对应的直方图统计值的峰值所对应的目标灰度值;
确定每一目标像素列对应的目标灰度值为该目标像素列中非光斑像素点的灰度值的统计值。
5.根据权利要求1~4任一项所述的方法,其特征在于,所述对修复后的所述目标图像进行条空扫描,获得条空信息的步骤,包括:
对修复后的所述目标图像进行图像去噪处理;
对图像去噪处理后的所述目标图像进行条空扫描,获得条空信息。
6.一种条码扫描装置,其特征在于,所述装置包括:
获得模块,用于获得包含条码的目标图像;
确定模块,用于根据所述目标图像中每个像素点的灰度值,确定所述目标图像中处于光斑区域的光斑像素点;
修复模块,用于采用每个目标像素列中非光斑像素点的灰度值,对该目标像素列中光斑像素点的灰度值进行修复,其中,所述目标像素列为:所述目标图像中光斑像素点所在的像素列;
扫描模块,用于对修复后的所述目标图像进行条空扫描,获得条空信息;
译码模块,用于对所述条空信息进行译码,获得所述目标图像所包含条码标识的字符信息。
7.根据权利要求6所述的装置,其特征在于,所述确定模块,包括:
第一获得子模块,用于获得所述目标图像中每个像素点的灰度值;
确定子模块,用于确定灰度值超过预设阈值的像素点为处于光斑区域的光斑像素点。
8.根据权利要求6所述的装置,其特征在于,所述修复模块,包括:
第二获得子模块,用于以像素列为单位,获得各目标像素列中非光斑像素点的灰度值的统计值;
设置子模块,用于将每个目标像素列中光斑像素点的灰度值设置为该目标像素列中非光斑像素点的灰度值的统计值。
9.根据权利要求8所述的装置,所述第二获得子模块,包括:
获得子单元,用于以像素列为单位,获得每一目标像素列中非光斑像素点的灰度值的直方图统计值;
滤波子单元,用于对每一目标像素列对应的直方图统计值进行滤波处理;
第一确定子单元,用于确定滤波处理后每一目标像素列对应的直方图统计值的峰值所对应的目标灰度值;
第二确定子单元,用于确定每一目标像素列对应的目标灰度值为该目标像素列中非光斑像素点的灰度值的统计值。
10.根据权利要求6~9任一项所述的装置,其特征在于,所述扫描模块,包括:
去噪子模块,用于对修复后的所述目标图像进行图像去噪处理;
扫描子模块,用于对图像去噪处理后的所述目标图像进行条空扫描,获得条空信息。
11.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-5任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710522916.7A CN109214229B (zh) | 2017-06-30 | 2017-06-30 | 一种条码扫描方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710522916.7A CN109214229B (zh) | 2017-06-30 | 2017-06-30 | 一种条码扫描方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109214229A true CN109214229A (zh) | 2019-01-15 |
CN109214229B CN109214229B (zh) | 2021-03-12 |
Family
ID=64976848
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710522916.7A Active CN109214229B (zh) | 2017-06-30 | 2017-06-30 | 一种条码扫描方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109214229B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110032906A (zh) * | 2019-01-28 | 2019-07-19 | 天讯瑞达通信技术有限公司 | 共享书柜的书籍识别方法、装置和存储介质 |
CN111598085A (zh) * | 2020-05-14 | 2020-08-28 | 苏州精濑光电有限公司 | 玻璃面板定位方法、装置、设备和存储介质 |
CN113449536A (zh) * | 2021-07-16 | 2021-09-28 | 深圳思谋信息科技有限公司 | 条码图像修复方法、装置、计算机设备和存储介质 |
CN114205482A (zh) * | 2021-11-02 | 2022-03-18 | 百度在线网络技术(北京)有限公司 | 扫描装置、扫描控制方法、电子设备及存储介质 |
CN114943241A (zh) * | 2022-07-26 | 2022-08-26 | 北京紫光青藤微系统有限公司 | 用于修复条码码图的方法、电子设备、存储介质 |
CN115565213A (zh) * | 2022-01-28 | 2023-01-03 | 荣耀终端有限公司 | 图像处理方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1466099A (zh) * | 2001-11-30 | 2004-01-07 | ������������ʽ���� | 正身识别系统及其方法 |
CN101882205A (zh) * | 2010-06-01 | 2010-11-10 | 福建新大陆电脑股份有限公司 | 一维条码图像扫描方法 |
CN105930840A (zh) * | 2016-04-18 | 2016-09-07 | 河海大学常州校区 | 基于统计分析的药品条码缺陷检测方法 |
US20160358000A1 (en) * | 2012-10-24 | 2016-12-08 | Honeywell International Inc. | Chip on board based highly integrated imager |
US9563798B1 (en) * | 2016-08-23 | 2017-02-07 | V.L. Engineering, Inc. | Reading invisible barcodes and other invisible insignia using physically unmodified smartphone |
-
2017
- 2017-06-30 CN CN201710522916.7A patent/CN109214229B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1466099A (zh) * | 2001-11-30 | 2004-01-07 | ������������ʽ���� | 正身识别系统及其方法 |
CN101882205A (zh) * | 2010-06-01 | 2010-11-10 | 福建新大陆电脑股份有限公司 | 一维条码图像扫描方法 |
US20160358000A1 (en) * | 2012-10-24 | 2016-12-08 | Honeywell International Inc. | Chip on board based highly integrated imager |
CN105930840A (zh) * | 2016-04-18 | 2016-09-07 | 河海大学常州校区 | 基于统计分析的药品条码缺陷检测方法 |
US9563798B1 (en) * | 2016-08-23 | 2017-02-07 | V.L. Engineering, Inc. | Reading invisible barcodes and other invisible insignia using physically unmodified smartphone |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110032906A (zh) * | 2019-01-28 | 2019-07-19 | 天讯瑞达通信技术有限公司 | 共享书柜的书籍识别方法、装置和存储介质 |
CN111598085A (zh) * | 2020-05-14 | 2020-08-28 | 苏州精濑光电有限公司 | 玻璃面板定位方法、装置、设备和存储介质 |
CN111598085B (zh) * | 2020-05-14 | 2024-01-09 | 苏州精濑光电有限公司 | 玻璃面板定位方法、装置、设备和存储介质 |
CN113449536A (zh) * | 2021-07-16 | 2021-09-28 | 深圳思谋信息科技有限公司 | 条码图像修复方法、装置、计算机设备和存储介质 |
WO2023284784A1 (zh) * | 2021-07-16 | 2023-01-19 | 深圳思谋信息科技有限公司 | 条码图像修复方法、装置、计算机设备和存储介质 |
CN113449536B (zh) * | 2021-07-16 | 2023-02-14 | 深圳思谋信息科技有限公司 | 条码图像修复方法、装置、计算机设备和存储介质 |
CN114205482A (zh) * | 2021-11-02 | 2022-03-18 | 百度在线网络技术(北京)有限公司 | 扫描装置、扫描控制方法、电子设备及存储介质 |
CN114205482B (zh) * | 2021-11-02 | 2024-01-05 | 百度在线网络技术(北京)有限公司 | 扫描装置、扫描控制方法、电子设备及存储介质 |
CN115565213A (zh) * | 2022-01-28 | 2023-01-03 | 荣耀终端有限公司 | 图像处理方法及装置 |
CN115565213B (zh) * | 2022-01-28 | 2023-10-27 | 荣耀终端有限公司 | 图像处理方法及装置 |
CN114943241A (zh) * | 2022-07-26 | 2022-08-26 | 北京紫光青藤微系统有限公司 | 用于修复条码码图的方法、电子设备、存储介质 |
CN114943241B (zh) * | 2022-07-26 | 2022-10-25 | 北京紫光青藤微系统有限公司 | 用于修复条码码图的方法、电子设备、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109214229B (zh) | 2021-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109214229A (zh) | 一种条码扫描方法、装置及电子设备 | |
CN110309687B (zh) | 一种二维码图像的校正方法及校正装置 | |
CN108846319A (zh) | 基于直方图的虹膜图像增强方法、装置、设备及存储介质 | |
CN104781835B (zh) | 二维码 | |
CN110569683B (zh) | 条码检测方法及条码检测系统 | |
CN105844277B (zh) | 标签识别方法和装置 | |
CN109005367B (zh) | 一种高动态范围图像的生成方法、移动终端及存储介质 | |
CN113077459B (zh) | 图像清晰度检测方法、装置、电子设备及存储介质 | |
CN112614066A (zh) | 图像修复方法、装置及电子设备 | |
CN107908998B (zh) | 二维码解码方法、装置、终端设备及计算机可读存储介质 | |
CN112733568B (zh) | 一维条码识别方法、装置、设备及存储介质 | |
CN106530311B (zh) | 切片图像处理方法及装置 | |
CN107578011A (zh) | 视频关键帧的判定方法及装置 | |
CN109508571B (zh) | 一种条空定位方法、装置、电子设备及存储介质 | |
CN113052754B (zh) | 一种图片背景虚化的方法及装置 | |
CN117496560B (zh) | 一种基于多维向量的指纹纹线识别方法及装置 | |
CN111914846B (zh) | 版面数据合成方法、设备及存储介质 | |
CN111652011B (zh) | 一种读取二维码的方法和装置 | |
Bodnár et al. | A novel method for barcode localization in image domain | |
CN116631003A (zh) | 基于p&id图纸的设备识别方法、装置、存储介质及电子设备 | |
CN116229098A (zh) | 一种基于掩模轮廓跟踪的图像识别方法及相关产品 | |
CN110245537A (zh) | 图形码解码方法,装置,存储介质及电子设备 | |
CN113689378B (zh) | 试纸带精准定位的判定方法、装置、存储介质及终端 | |
CN114298257A (zh) | 一种通过一步扫码实现真伪查询的方法和装置 | |
CN112766256A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |