CN115249024A - 条码识别方法、装置、存储介质及计算机设备 - Google Patents

条码识别方法、装置、存储介质及计算机设备 Download PDF

Info

Publication number
CN115249024A
CN115249024A CN202210909469.1A CN202210909469A CN115249024A CN 115249024 A CN115249024 A CN 115249024A CN 202210909469 A CN202210909469 A CN 202210909469A CN 115249024 A CN115249024 A CN 115249024A
Authority
CN
China
Prior art keywords
image
barcode
bar code
global
local
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.)
Pending
Application number
CN202210909469.1A
Other languages
English (en)
Inventor
顾善中
龚毓秀
田晓明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seuic Technologies Co Ltd
Original Assignee
Seuic Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Seuic Technologies Co Ltd filed Critical Seuic Technologies Co Ltd
Priority to CN202210909469.1A priority Critical patent/CN115249024A/zh
Publication of CN115249024A publication Critical patent/CN115249024A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods 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/1404Methods for optical code recognition
    • G06K7/1439Methods for optical code recognition including a method step for retrieval of the optical code
    • G06K7/1452Methods for optical code recognition including a method step for retrieval of the optical code detecting bar code edges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods 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/1404Methods for optical code recognition
    • G06K7/1439Methods for optical code recognition including a method step for retrieval of the optical code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods 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/1404Methods for optical code recognition
    • G06K7/1439Methods for optical code recognition including a method step for retrieval of the optical code
    • G06K7/1443Methods for optical code recognition including a method step for retrieval of the optical code locating of the code in an image

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

条码识别方法、装置、存储介质及计算机设备
技术领域
本申请涉及条码检测技术领域,尤其涉及一种条码识别方法、装置、存储介质及计算机设备。
背景技术
条码检测技术已经广泛应用于PDA手持终端领域,条码检测技术分为条码定位和条码识别,其中,条码定位指的是对识别场景中的条码和背景进行区分,以确定条码在识别场景中的具体位置;而条码识别则指的是对条码的类别等进行识别,以判断识别场景中不同类别的条码。
目前,在使用条码检测技术进行多条码检测的过程中,条码检测结果的准确率容易受到识别场景的影响。例如,当识别场景为工业场景时,由于工业场景中的背景十分复杂,如PCB板上的电路布图等,导致遍历条码的过程耗时较长,且无法准确定位;另外,工业场景下的条码大多为小型条码,在图像中的占比较小,容易出现漏检、误检等现象,进而影响最终检测结果的准确性。
发明内容
本申请的目的旨在至少能解决上述的技术缺陷之一,特别是现有技术中针对复杂背景,且包含大小型条码的条码图像进行检测时,检测结果的准确性较低的技术缺陷。
本申请提供了一种条码识别方法,所述方法包括:
获取待检测的条码图像,所述条码图像中包含多个不同尺寸的条码;
对所述条码图像进行显著性检测,确定所述条码图像的显著性区域;
根据所述显著性区域对所述条码图像进行裁剪,得到包含所述条码图像中所有条码的全局图像;
对所述全局图像进行分块,得到多个局部图像;
分别对所述全局图像以及各个局部图像进行条码识别,并根据各个识别结果确定所述全局图像中所有条码的目标位置框。
可选地,所述对所述条码图像进行显著性检测,确定所述条码图像的显著性区域,包括:
确定与所述条码图像对应的灰度图像;
根据所述灰度图像中每个像素点的灰度值,计算与所述灰度图像对应的积分图像;
使用多个不同尺寸的滤波窗口对所述积分图像进行滤波,并将滤波后获得的多个特征图进行加权求和,得到显著图;
对所述显著图进行二值化操作,并根据二值化操作后的显著图确定所述条码图像的显著性区域。
可选地,所述使用多个不同尺寸的滤波窗口对所述积分图像进行滤波,得到多个特征图,包括:
依据所述条码图像中各个条码的尺寸设置多个不同尺寸的滤波窗口;
针对每一尺寸的滤波窗口:
确定使用该滤波窗口对所述积分图像进行滤波时的中心点;
计算所述积分图像中除所述中心点外的其他像素点与所述中心点之间的中心差异值以及偏离中心差异值;
根据所述中心差异值和所述偏离中心差异值,确定使用该滤波窗口对所述积分图像进行滤波后得到的多个特征图。
可选地,所述确定与所述条码图像对应的灰度图像之前,还包括:
使用设定窗口尺寸的滤波器对所述条码图像进行至少一次滤波。
可选地,所述对所述全局图像进行分块,得到多个局部图像,包括:
根据所述全局图像中各条码的分布情况,确定对所述全局图像进行分块的分块方式,所述分块方式包括滑动窗口平移分块方式和中心区域平移分块方式;
按照所述分块方式对所述全局图像进行分块,得到多个局部图像。
可选地,根据所述全局图像中各条码的分布情况,确定对所述全局图像进行分块的分块方式,包括:
若所述全局图像中位于中心区域的条码的数量低于所述全局图像中位于边缘区域的条码的数量,则确定对所述全局图像进行分块的分块方式为滑动窗口平移分块方式;
若所述全局图像中位于中心区域的条码的数量高于所述全局图像中位于边缘区域的条码的数量,则确定对所述全局图像进行分块的分块方式为中心区域平移分块方式。
可选地,当所述分块方式为滑动窗口平移分块方式时,所述按照所述分块方式对所述全局图像进行分块,得到多个局部图像,包括:
按照第一预设缩放因子对所述全局图像进行缩放,得到第一缩放图像;
确定所述第一缩放图像对应的第一平移窗口和第一平移步长;
将所述第一平移窗口按照所述第一平移步长在所述第一缩放图像中进行平移滑动,并获取每一次平移滑动时所述第一平移窗口在所述第一缩放图像中的覆盖区域;
将每一次平移滑动时的覆盖区域作为局部图像,得到多个局部图像。
可选地,当所述分块方式为中心区域平移分块方式时,所述按照所述分块方式对所述全局图像进行分块,得到多个局部图像,包括:
按照第二预设缩放因子对所述全局图像进行缩放,得到第二缩放图像;
确定所述第二缩放图像对应的第二平移窗口和第二平移步长;
以所述第二缩放图像的图像中心点为基准点,在所述第二缩放图像中选取与所述第二平移窗口对应大小的区域作为首个局部图像;
将所述第二平移窗口按照所述第二平移步长在所述第二缩放图像中包含所述首个局部图像的中心区域进行平移滑动,并获取每一次平移滑动时所述第二平移窗口在所述中心区域的覆盖区域;
将每一次平移滑动时的覆盖区域作为局部图像,得到其余多个局部图像。
可选地,所述分别对所述全局图像以及各个局部图像进行条码识别之前,还包括:
对各个局部图像分别进行边缘检测,过滤各个局部图像中不包含条码的局部图像。
可选地,所述分别对所述全局图像以及各个局部图像进行条码识别,得到多个识别结果,包括:
将所述全局图像以及各个局部图像分别输入至预先配置的条码检测网络中,得到所述条码检测网络输出的所述全局图像的识别结果以及各个局部图像的识别结果;
其中,所述识别结果包括所述全局图像中各条码的条码位置框以及各个局部图像中条码的条码位置框,所述条码检测网络是以训练条码图像为训练样本,以所述训练条码图像中标注的条码位置框为样本标签进行训练的。
可选地,所述识别结果还包括每一条码对应的多个条码位置框的置信度,所述方法还包括:
针对每一条码:
遍历该条码对应的各个条码位置框的置信度;
将各个条码位置框中置信度低于预设置信度阈值并高于预设交并比阈值的条码位置框进行过滤,得到过滤后的条码位置框;
将过滤后的条码位置框作为该条码的最终位置框。
可选地,所述识别结果包括所述全局图像中各条码的条码位置框以及各个局部图像中条码的条码位置框;
所述根据各个识别结果确定所述全局图像中所有条码的目标位置框,包括:
确定每一局部图像在所述全局图像中的位置,以及每一局部图像相对于所述全局图像的缩放比例;
依据每一局部图像在所述全局图像中的位置,以及每一局部图像相对于所述全局图像的缩放比例,将各个局部图像中条码的条码位置框进行还原,得到还原后的条码位置框;
基于所述还原后的条码位置框以及所述全局图像中各条码的条码位置框,确定所述全局图像中所有条码的目标位置框。
可选地,所述对所述条码图像进行显著性检测之前,还包括:
确定所述条码图像的图像类型;
依据所述条码图像的图像类型对所述条码图像进行预处理操作。
本申请还提供了一种条码识别装置,包括:
图像获取模块,用于获取待检测的条码图像,所述条码图像中包含多个不同尺寸的条码;
显著性检测模块,用于对所述条码图像进行显著性检测,确定所述条码图像的显著性区域;
图像裁剪模块,用于根据所述显著性区域对所述条码图像进行裁剪,得到包含所述条码图像中所有条码的全局图像;
图像分块模块,用于对所述全局图像进行分块,得到多个局部图像;
条码识别模块,用于分别对所述全局图像以及各个局部图像进行条码识别,并根据各个识别结果确定所述全局图像中所有条码的目标位置框。
本申请还提供了一种存储介质,所述存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如上述实施例中任一项所述条码识别方法的步骤。
本申请还提供了一种计算机设备,包括:一个或多个处理器,以及存储器;
所述存储器中存储有计算机可读指令,所述计算机可读指令被所述一个或多个处理器执行时,执行如上述实施例中任一项所述条码识别方法的步骤。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请提供的条码识别方法、装置、存储介质及计算机设备,当获取到包含多个不同尺寸的条码的条码图像时,可以先对该条码图像进行显著性检测,并确定条码图像中的显著性区域,减少条码图像中复杂背景的干扰,接着本申请可以根据显著性区域来对条码图像进行裁剪,得到包含条码图像中所有条码的全局图像,这样既可以保证条码图像的相对完整性,又可以避免条码图像过大导致检测时间过长,检测效率较慢;当得到全局图像后,本申请为了检测条码图像中尺寸较小的条码,可以对该全局图像进行分块,并得到多个局部图像,这样一个或多个局部图像中便会包含有尺寸较小的条码,在进行条码识别时,可以对全局图像和各个局部图像分别进行条码识别,并利用局部图像的识别结果来对全局图像的识别结果进行补充和印证,使得最终得到的目标位置框可以准确包含全局图像中所有条码的目标位置框,从而避免漏检、误检等现象。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例提供的一种条码识别方法的流程示意图;
图2为本申请实施例提供的对条码图像进行显著性检测时的原图、显著性区域图以及二值化图的展示图;
图3为本申请实施例提供的两种分块方式下的分块展示图;
图4为本申请实施例提供的平移分块后检测框合并示意图;
图5为本申请实施例提供的原图与条码检测框图的对比展示图;
图6为本申请实施例提供的一种条码识别装置的结构示意图;
图7为本申请实施例提供的一种计算机设备的内部结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,在使用条码检测技术进行多条码检测的过程中,条码检测结果的准确率容易受到识别场景的影响。例如,当识别场景为工业场景时,由于工业场景中的背景十分复杂,如PCB板上的电路布图等,导致遍历条码的过程耗时较长,且无法准确定位;另外,工业场景下的条码大多为小型条码,在图像中的占比较小,容易出现漏检、误检等现象,进而影响最终检测结果的准确性。基于此,本申请提出了如下技术方案,具体参见下文所示:
在一个实施例中,如图1所示,图1为本申请实施例提供的一种条码识别方法的流程示意图;本申请提供了一种条码识别方法,所述方法可以包括:
S110:获取待检测的条码图像。
本步骤中,在对条码图像中的条码进行识别时,可以获取待检测的条码图像,该条码图像中包含多个不同尺寸的条码,且各个条码的位置、类别等可能会存在一定的区别,本申请可以对条码图像中所有不同尺寸的条码对应的条码位置进行识别。
可以理解的是,本申请中的条码图像指的是包含条码的图像数据,常见的条码可以包括条形码和二维码等,图像数据可以是印刷电路板对应的图像数据,也可以是其他包含条码的产品对应的图像数据,本申请对此不作限定。
进一步地,在获取待检测的条码图像时,可以通过条码定位组件来捕获出现在视野(FOV)中的条码信息,并且,本申请可以利用准星定位作为基准位置,实现对条码图像的检测、筛选一整套配置方案。
另外,由于条码图像容易受到场景的影响,不同场景下获取到的条码图像的图像质量会有所不同,进而导致条码图像中的条码识别结果不够准确。因此,本申请可以对条码图像中的条码进行识别之前,对条码图像进行预处理操作,该预处理操作包括但不限于对条码图像进行锐化、旋转、裁剪、去噪、提高亮度、提高对比度等。
S120:对条码图像进行显著性检测,确定条码图像的显著性区域。
本步骤中,通过S110获取到条码图像后,为了减少条码图像中复杂背景的干扰,本申请可以对条码图像进行显著性检测,并确定条码图像中的显著性区域。
其中,本申请的显著性检测指的是使用图像处理技术和计算机视觉算法来定位图像中的显著区域。显著区域是指图像中引人注目的区域或比较重要的区域,例如用户在观看一幅图片时首先关注的区域。这种自动定位图像或场景中重要区域的过程称为显著性检测,显著性检测在目标检测、机器人领域被广泛应用。
本申请中,为了减少条码图像中复杂背景的干扰,也可以对条码图像进行显著性检测,从而获取条码图像中的显著性区域,该显著性区域中包含条码图像中不同位置处的条码。
进一步地,本申请在对条码图像进行显著性检测时,可以选用多种显著性检测算法来进行显著性检测。例如,本申请可以选用Static saliency算法来对条码图像进行检测,该显著性检测算法依赖于图像特征和统计信息来定位图像中显著性区域;本申请也可以选用Motion saliency算法来对条码图像进行检测,该显著性检测算法的输入可以是视频或一系列连续帧,算法通过处理这些连续的帧,并跟踪帧中“移动”的对象来确定显著性区域;当然,本申请还可以通过视觉显著性检测算法来对条码图像进行显著性检测,视觉显著性检测(Visual saliency detection)指通过智能算法模拟人的视觉特点,提取图像中的显著区域(即人类感兴趣的区域)。
需要注意的是,本申请中的显著性检测不是目标检测,显著性检测算法并不能判断条码图像中是否有“目标”,它只能检测出条码图像中它“认为”有目标的区域,这些区域可能真的包含目标,也可能不包含目标。因此,当本申请通过显著性检测算法对条码图像进行检测并得到显著性区域后,还可以对该显著性区域进一步判断和预测。
S130:根据显著性区域对条码图像进行裁剪,得到包含条码图像中所有条码的全局图像。
本步骤中,通过S120得到条码图像中的显著性区域后,本申请可以根据该显著性区域来对条码图像进行裁剪,从而得到包含条码图像中所有条码的全局图像。
可以理解的是,本申请使用显著性检测算法来对条码图像进行显著性检测后,可以得到条码图像中的显著性区域,该显著性区域中包含有所有待识别的目标,即本申请中不同尺寸的条码,因此,根据显著性区域对条码图像进行裁剪后,即可得到包含条码图像中所有条码的全局图像,该全局图像相对于原始的条码图像来说,其尺寸较小,且消除了条码图像中复杂背景的干扰,这样不仅能够提高条码识别的效率,还能够提高条码识别的精度。
S140:对全局图像进行分块,得到多个局部图像。
本步骤中,通过S130得到全局图像后,本申请为了能够识别全局图像中所有尺寸的条码,可以对全局图像进行分块,并得到多个局部图像,该局部图像中包含的条码的数量远少于全局图像中包含的条码的数量,从而使得后续对该局部图像进行条码识别时,能够得到更为准确的识别结果。
需要说明的是,本申请中的分块指的是将尺寸较大的全局图像划分为很多块尺寸较小的局部图像。这样,分块后的局部图像中所包含的条码的数量便远少于全局图像中条码的数量,甚至不包含条码。当对包含条码数量较少的局部图像进行条码识别时,可以精准地识别到局部图像中的每一条码,从而使得原本全局图像中尺寸较小、容易被忽视的条码得到精确识别,进一步提高条码识别的准确度。
进一步地,本申请在对全局图像进行分块时,可以按照多种分块方式对全局图像进行分块。例如,本申请可以先确定分块的数量为n*m份,接着将全局图像的宽高分别分成n和m等份;或者可以先确定分块后的局部图像的宽高,然后从全局图像中按照局部图像的宽高进行切分;再者,本申请还可以确定有重叠分块还是无重叠分块,有重叠分块时可以根据局部图像的宽高和重叠行列情况来计算全局图像能够分割出多少个局部图像,而无重叠分块则可以通过全局图像的宽高、局部图像的宽高以及需要分割的份数来对全局图像极性分块。具体的分块方式可以依据实际情况进行选择,在此不做赘述。
S150:分别对全局图像以及各个局部图像进行条码识别,并根据各个识别结果确定全局图像中所有条码的目标位置框。
本步骤中,通过S140对全局图像进行分块后可以得到多个局部图像,本申请为了得到更加准确的识别结果,可以分别对全局图像以及各个局部图像进行条码识别,并根据各个识别结果来确定全局图像中所有条码的目标位置框。
可以理解的是,本申请为了得到更为精确的识别结果,选择对全局图像以及各个局部图像分别进行条码识别,这样便可以通过局部图像的识别结果来对全局图像的识别结果进行补充和印证,从而使得全局图像中不同尺寸大小的条码均可以被识别定位。同时,如果尺寸较大的条码图像被划分成很多块后,很难将零碎的条码位置框进行复合,因此,本申请对没有分块之前的全局图像进行条码识别后,能够更加快速地对局部图像中的条码位置框进行复合。
另外,本申请在对全局图像以及局部图像进行条码识别时,为了提高条码识别效率以及识别精度,可以使用OpenCV来对图像中的条码进行识别,也可以选用条码检测网络来识别图像中的各个条码的位置进行识别。其中,条码检测网络可以选择R-CNN(Regionwith CNN Feature)、Faster R-CNN(Faster Region with CNN Feature)、Mask R-CNN(Mask Region with CNN Feature)、SSD(Single Shot MultiBox Detector)、YOLO(YouOnly Look Once)等模型中的任意一个模型作为预设的条码检测网络进行改进和训练得到,本实施例对此不作限定。
上述实施例中,当获取到包含多个不同尺寸的条码的条码图像时,可以先对该条码图像进行显著性检测,并确定条码图像中的显著性区域,减少条码图像中复杂背景的干扰,接着本申请可以根据显著性区域来对条码图像进行裁剪,得到包含条码图像中所有条码的全局图像,这样既可以保证条码图像的相对完整性,又可以避免条码图像过大导致检测时间过长,检测效率较慢;当得到全局图像后,本申请为了检测条码图像中尺寸较小的条码,可以对该全局图像进行分块,并得到多个局部图像,这样一个或多个局部图像中便会包含有尺寸较小的条码,在进行条码识别时,可以对全局图像和各个局部图像分别进行条码识别,并利用局部图像的识别结果来对全局图像的识别结果进行补充和印证,使得最终得到的目标位置框可以准确包含全局图像中所有条码的目标位置框,从而避免漏检、误检等现象。
在一个实施例中,S120中对所述条码图像进行显著性检测,确定所述条码图像的显著性区域,可以包括:
S121:确定与所述条码图像对应的灰度图像。
S122:根据所述灰度图像中每个像素点的灰度值,计算与所述灰度图像对应的积分图像。
S123:使用多个不同尺寸的滤波窗口对所述积分图像进行滤波,并将滤波后获得的多个特征图进行加权求和,得到显著图。
S124:对所述显著图进行二值化操作,并根据二值化操作后的显著图确定所述条码图像的显著性区域。
本实施例中,在对条码图像进行显著性检测时,本申请可以选用视觉显著性检测(Visual saliency detection)算法来聚焦条码图像中的感兴趣区域,也就是显著性检测算法中提取的显著性区域。
示意性地,如图2所示,图2为本申请实施例提供的对条码图像进行显著性检测时的原图、显著性区域图以及二值化图的展示图;本申请中,具体在确定条码图像,即原图中的显著性区域时,可以先确定条码图像对应的灰度图像,再根据灰度图像中每个像素点的灰度值来计算与灰度图像对应的积分图像,接着再使用多个不同尺寸的滤波窗口对积分图像进行滤波,并将滤波后获得的多个特征图进行加权求和后得到显著图,即显著性区域图,最后对该显著性区域图进行二值化操作后得到二值化图,通过该二值化图即可确定条码图像中的显著性区域。
可以理解的是,本申请中的积分图像是一种快速计算矩形区域之和的数据结构,常利用积分图像对算法进行加速,以实时获得高质量的特征。积分图像中像素点(x,y)处的灰度值为灰度图像左上角与该像素点所围成的矩形区域内所有像素点的灰度值之和。
因此,本申请在计算积分图像时,可以先将条码图像转换为灰度图像,再根据灰度图像中每个像素点的灰度值来计算对应的积分图像,这样在使用多个不同尺寸的滤波窗口对积分图像进行滤波后,能够快速获取积分图像中的多个特征图。
另外,当本申请得到多个特征图后,可以对各个特征图进行加权求和,得到显著图,最后通过二值化操作后,将显著图中的显著性区域与非显著性区域划分开来,其中,条码图像的显著性区域中像素点的灰度值为255。
在一个实施例中,S123中使用多个不同尺寸的滤波窗口对所述积分图像进行滤波,得到多个特征图,可以包括:
S1231:依据所述条码图像中各个条码的尺寸设置多个不同尺寸的滤波窗口。
S1232:针对每一尺寸的滤波窗口:确定使用该滤波窗口对所述积分图像进行滤波时的中心点。
S1233:计算所述积分图像中除所述中心点外的其他像素点与所述中心点之间的中心差异值以及偏离中心差异值。
S1234:根据所述中心差异值和所述偏离中心差异值,确定使用该滤波窗口对所述积分图像进行滤波后得到的多个特征图。
本实施例中,在对积分图像进行滤波,得到特征图的过程中,本申请可以依据条码图像中各个条码的尺寸来设置多个不同尺寸的滤波窗口,例如,本申请可以设置滤波窗口的大小为3*3,5*5,7*7等。通过设置不同尺寸的滤波窗口对积分图像进行滤波,可以将积分图像中尺寸不同的条码在阈值化过程中被分割开来。
接着,本申请针对每一尺寸的滤波窗口,可以先确定使用该滤波窗口来对积分图像进行滤波的中心点,然后计算积分图像中除该中心点外的其他像素点与该中心点之间的中心差异值以及偏离中心差异值,这样便可以通过中心差异值和偏离中心差异值来确定使用该滤波窗口对积分图像进行滤波后得到的多个特征图。
具体地,本申请可以根据上一步得到的积分图使用不同尺寸大小的滤波窗口来计算当前中心点的环绕值:surround=sum(x-i,y-i,x+i,y+i)-i(x,y),其中,i(x,y)即为当前中心点的灰度值,i为滤波窗口的大小;接着,本申请可以计算积分图像中除该中心点外的其他像素点与该中心点之间的中心差异值max(i(x,y)-surround,0),以及偏离中心差异值max(surround-i(x,y),0),然后将其他像素点中与该中心点的中心差异值以及偏离中心差异值差异较小的像素点进行集合,并形成最终的特征图。
上述实施例中,本申请可以根据不同尺寸的滤波窗口来计算积分图像中各像素点的中心差异值和偏离中心差异值,从而得到多个特征图,通过混合并行特征映射来建立一个显著性映射,便可以将多个的特征图相加,得到最终的显著图。
在一个实施例中,S121中确定与所述条码图像对应的灰度图像之前,还可以包括:使用设定窗口尺寸的滤波器对所述条码图像进行至少一次滤波。
本实施例中,在对条码图像进行显著性检测之前,为了过滤条码图像中的噪声,使得显著性检测结果更加精确。本申请可以对条码图像进行滤波,滤波时,可以选用设定窗口尺寸的滤波器来对条码图像进行至少一次滤波。
举例来说,本申请可以使用3*3大小的滤波窗口的高斯滤波器来平滑条码图像,过滤掉条码图像中的部分噪声,若一次滤波的效果不理想的话,本申请还可以进行多次滤波,具体可视实际情况而定,在此不做限制。
在一个实施例中,S140中对所述全局图像进行分块,得到多个局部图像,可以包括:
S141:根据所述全局图像中各条码的分布情况,确定对所述全局图像进行分块的分块方式,所述分块方式包括滑动窗口平移分块方式和中心区域平移分块方式。
S142:按照所述分块方式对所述全局图像进行分块,得到多个局部图像。
本实施例中,在对全局图像进行分块时,可以根据全局图像中各条码的分布情况,来确定对全局图像进行分块的分块方式,然后按照该分块方式来对全局图像进行分块,从而得到多个局部图像。
具体地,本申请可以根据第一张或者前几张条码图像的显著性检测结果来判断主要条码所在的位置,从而确定全局图像中各条码的分布情况,接着再根据该分布情况来判断使用哪种分块方式对全局图像进行分块,当确定好分块方式后,即可按照该分块方式来对全局图像进行分块,并得到多个局部图像。
进一步地,本申请中全局图像的分块方式可以包括滑动窗口平移分块方式和中心区域平移分块方式;其中,滑动窗口平移分块方式主要是利用设定尺寸的平移窗口在全局图像中按照一定步长进行平移后得到多个局部图像,而中心区域平移分块方式则是利用设定尺寸的平移窗口在全局图像的中心区域按照一定的步长进行平移后得到多个局部图像,由于中心区域平移分块方式主要是针对全局图像的中心区域,因此,两者得到的局部图像的数量有所不同。
在一个实施例中,S141中根据所述全局图像中各条码的分布情况,确定对所述全局图像进行分块的分块方式,可以包括:
S1411:若所述全局图像中位于中心区域的条码的数量低于所述全局图像中位于边缘区域的条码的数量,则确定对所述全局图像进行分块的分块方式为滑动窗口平移分块方式。
S1412:若所述全局图像中位于中心区域的条码的数量高于所述全局图像中位于边缘区域的条码的数量,则确定对所述全局图像进行分块的分块方式为中心区域平移分块方式。
本实施例中,全局图像的分块方式可以包括滑动窗口平移分块方式和中心区域平移分块方式,在判断使用哪种分块方式对全局图像进行分块时,可以根据第一张或者前几张条码图像的显著性检测结果来判断主要条码所在的位置,若全局图像中位于中心区域的条码的数量低于全局图像中位于边缘区域的条码的数量,则表明全局图像中的条码分布较为散乱,此时,可以选择滑动窗口平移分块方式对全局图像进行分块;而当全局图像中位于中心区域的条码的数量高于全局图像中位于边缘区域的条码的数量,则表明当前全局图像中的条码主要集中在中心区域,此时,可以选用中心区域平移分块方式对全局图像进行分块。
在一个实施例中,当所述分块方式为滑动窗口平移分块方式时,S142中按照所述分块方式对所述全局图像进行分块,得到多个局部图像,可以包括:
S1421:按照第一预设缩放因子对所述全局图像进行缩放,得到第一缩放图像。
S1422:确定所述第一缩放图像对应的第一平移窗口和第一平移步长。
S1423:将所述第一平移窗口按照所述第一平移步长在所述第一缩放图像中进行平移滑动,并获取每一次平移滑动时所述第一平移窗口在所述第一缩放图像中的覆盖区域。
S1424:将每一次平移滑动时的覆盖区域作为局部图像,得到多个局部图像。
本实施例中,按照滑动窗口平移分块方式对全局图像进行分块时,可以先按照第一预设缩放因子对全局图像进行缩放,得到第一缩放图像后,接着可以确定第一缩放图像对应的第一平移窗口以及第一平移步长,然后将高第一平移窗口按照第一平移步长在第一缩放图像中进行平移滑动,并获取每次平移滑动时第一平移窗口在第一缩放图像中的覆盖区域,该覆盖区域可作为局部图像,最后便可得到多个局部图像。
示意性地,如图3所示,图3为本申请实施例提供的两种分块方式下的分块展示图;图3中,当本申请使用滑动窗口平移分块方式进行分块时,首先可以按照第一预设缩放因子对全局图像进行缩放,第一缩放因子是根据缩放后图像中最小条码的像素占比不少于15个像素点来确定的,本申请的第一缩放因子可以选择0.3,缩放后的全局图像大小可以是600*600;接着,本申请可以将缩放后的全局图像选择大小为a*a的第一平移窗口,按照第一平移步长为a/3进行平移分块,第一平移窗口的大小可以根据缩放后的全局图像中最大条码的像素占比不少于15个像素点进行确定,本申请可以选择选择300*300的第一平移窗口,第一平移步长大小可以选择100;当确定第一平移窗口和第一平移大小后,本申请可以根据选择的第一平移步长和第一平移窗口,将第一平移窗口按照第一平移步长在第一缩放图像中进行平移滑动,如图3所示,按照图3的方式对第一缩放图像进行分块后,最终可以得到9张分块后的局部图像。
在一个实施例中,当所述分块方式为中心区域平移分块方式时,S142中按照所述分块方式对所述全局图像进行分块,得到多个局部图像,可以包括:
S421:按照第二预设缩放因子对所述全局图像进行缩放,得到第二缩放图像。
S422:确定所述第二缩放图像对应的第二平移窗口和第二平移步长。
S423:以所述第二缩放图像的图像中心点为基准点,在所述第二缩放图像中选取与所述第二平移窗口对应大小的区域作为首个局部图像。
S424:将所述第二平移窗口按照所述第二平移步长在所述第二缩放图像中包含所述首个局部图像的中心区域进行平移滑动,并获取每一次平移滑动时所述第二平移窗口在所述中心区域的覆盖区域。
S425:将每一次平移滑动时的覆盖区域作为局部图像,得到其余多个局部图像。
本实施例中,按照中心区域平移分块方式对全局图像进行分块时,可以按照第二预设缩放因子来对全局图像进行缩放,从而得到第二缩放图像,接着再确定第二缩放图像的第二平移窗口和第二平移步长,然后以第二缩放图像的图像中心点为基准点,在第二缩放图像中选取与第二平移窗口对应大小的区域作为首个局部图像,接着再将第二平移窗口按照第二平移步长在第二缩放图像中包含首个局部图像的中心区域进行平移滑动,以此来获取每次平移滑动时第二平移窗口在中心区域的覆盖区域,并将该覆盖区域作为局部图像,进而得到其余多个局部图像。
示意性地,如图3所示,当本申请使用中心区域平移分块方式对全局图像进行分块时,首先可以按照第二缩放因子对全局图像进行缩放,其中,第二缩放因子可以根据缩放后的全局图像中最小条码的像素占比不少于15个像素进行确定,本申请中的第二缩放因子可以选择0.35,缩放后的第二缩放图像大小可以为700*700;当得到第二缩放图像后,本申请可以选择大小为b*b的第二平移窗口,按照第一平移步长为b/3进行平移分块。平移分块时,首先以第二缩放图像的图像中心点为分块中心点,取区域大小为b*b的区域作为第一个局部图像;接着以中心区域的左上角区域作为待分块的局部图像的右下角区域进行第二次分块,以中心区域的右上角区域作为待分块的局部图像的左下角区域进行第三次分块……,以此类推,围绕中心区域按照一定步长进行平移分块,划分出多个重叠的局部图像。
本申请中,第二平移窗口大小b*b可以选择300*300,第二平移步长可以选择100,接着根据选择的第二平移步长和第二平移窗口,在第二缩放图像中将第二平移窗口按照第二平移步长进行平移滑动,最终可以得到5张局部图像。
在一个实施例中,S150中分别对所述全局图像以及各个局部图像进行条码识别之前,还可以包括:对各个局部图像分别进行边缘检测,过滤各个局部图像中不包含条码的局部图像。
本实施例中,在对全局图像以及各个局部图像进行条码识别之前,本申请可以对各个局部图像进行边缘检测,过滤各个局部图像中不包含条码的局部图像,以进一步提高条码识别效率。
可以理解的是,本申请的全局图像中包含有条码图像中的所有条码,但由于条码图像中的条码分布较为散乱,并没有一定的规则性,导致在对全局图像进行分块后得到的局部图像中可能包含条码,也可能不包含条码。因此,本申请为了提高条码识别的效率,在对局部图像进行识别之前,使用边缘检测的方式对局部图像进行过滤,从而使得条码识别时的局部图像均为包含条码的图像。
可以理解的是,对局部图像进行边缘检测可以大幅度减少数据量,并且剔除一些不相关的信息,保留了图像重要的结构属性。目前有许多方法用于边缘检测,大致可以划分为两类,一类是基于查找,一类是基于零穿越。基于查找的方法通过寻找图像一阶导数中的最大和最小值来检测边界,通常是将边界定位在梯度最大的方向。基于零穿越的方法通过寻找图像二阶导数零穿越来寻找边界,通常是Laplacian过零点或者非线性差分表示的过零点。本申请可以选择任意一种方法对局部图像进行边缘检测,在此不做限制。
在一个实施例中,S150中分别对所述全局图像以及各个局部图像进行条码识别,得到多个识别结果,可以包括:
将所述全局图像以及各个局部图像分别输入至预先配置的条码检测网络中,得到所述条码检测网络输出的所述全局图像的识别结果以及各个局部图像的识别结果。
本实施例中,在对全局图像以及局部图像进行条码识别时,可以使用条码检测网络,该条码检测网络是以训练条码图像为训练样本,以训练条码图像中标注的条码位置框为样本标签进行训练的,因此,利用该条码检测网络对全局图像以及局部图像进行条码识别后,可以得到全局图像的识别结果以及各个局部图像的识别结果,全局图像的识别结果中包含各条码的条码位置框,各个局部图像的识别结果中也包含条码的条码位置框,通过该条码位置框,即可定位条码图像中所有尺寸的条码。
在一个实施例中,所述识别结果还可以包括每一条码对应的多个条码位置框的置信度,所述方法还包括:
S160:针对每一条码:遍历该条码对应的各个条码位置框的置信度。
S161:将各个条码位置框中置信度低于预设置信度阈值并高于预设交并比阈值的条码位置框进行过滤,得到过滤后的条码位置框。
S162:将过滤后的条码位置框作为该条码的最终位置框。
本实施例中,由于识别结果中包含有每一条码对应的多个条码位置框以及各条码位置框的置信度,本申请为了得到每一条码的最终位置框,可以对每一条码的多个条码位置框进行过滤。在每一条码的多个条码位置框进行过滤时,可以遍历该条码对应的各个条码位置框的置信度,并将置信度低于置信度阈值并高于预设交并比阈值的条码位置框进行过滤,得到过滤后的条码位置框,该过滤后的条码位置框即可作为该条码的最终位置框。
具体地,本申请可以根据之前训练后得到的条码检测网络对全局图像以及局部图像分别进行位置框识别,得到多个含有置信度的条码位置框。接着再将所有的识别结果,包含条码位置框和置信度,经过NMS(Non-Maximum Suppression,非极大抑制)进行条码位置框筛选工作,过滤掉低于置信度阈值以及高于预设交并比阈值的条码位置框,并将筛选后的条码位置框作为最终的检测结果输出。其中,本实施例中的置信度阈值可以设置为0.4,预设交并比阈值可以设置为0.5,当然,在实际操作过程中,还可以设置为其他数值,在此不做限制。
在一个实施例中,所述识别结果可以包括所述全局图像中各条码的条码位置框以及各个局部图像中条码的条码位置框。
S150中根据各个识别结果确定所述全局图像中所有条码的目标位置框,可以包括:
S501:确定每一局部图像在所述全局图像中的位置,以及每一局部图像相对于所述全局图像的缩放比例。
S502:依据每一局部图像在所述全局图像中的位置,以及每一局部图像相对于所述全局图像的缩放比例,将各个局部图像中条码的条码位置框进行还原,得到还原后的条码位置框。
S503:基于所述还原后的条码位置框以及所述全局图像中各条码的条码位置框,确定所述全局图像中所有条码的目标位置框。
本实施例中,当得到全局图像中各个条码的条码位置框以及各个局部图像中条码的条码位置框后,由于局部图像中的条码位置框与全局图像中的条码位置框可能存在重合。因此,本申请可以先确定每一局部图像在全局图像中的位置,以及每一局部图像相对于全局图像的缩放比例,然后依据每一局部图像在全局图像中的位置,以及每一局部图像相对于全局图像的缩放比例,将各个局部图像中条码的条码位置框进行还原,得到还原后的条码位置框,最后根据还原后的条码位置框以及全局图像中各条码的条码位置框,来确定全局图像中所有条码的目标位置框。
进一步地,本申请的识别结果不仅可以包括全局图像中各条码的条码位置框以及各个局部图像中条码的条码位置框,还可以包括每一条码对应的多个条码位置框的置信度。当对局部图像中的条码位置框进行合并后,本申请还可以对最终得到的全局图像中所有条码的目标位置框进行筛选。示意性地,如图4所示,图4为本申请实施例提供的平移分块后检测框合并示意图;图4中,当本申请对全局图像进行平移分块后,可以对全局图像以及各个局部图像进行条码检测并得到多个检测框,接着,本申请可以根据各个检测框的位置来对局部图像中与全局图像重合的检测框进行合并,接着,本申请可以采用非极大抑制算法对合并后的检测框进行条码位置框筛选工作,过滤掉低于置信度阈值以及高于预设交并比阈值的检测框,并将筛选后的检测框作为最终的目标位置框输出。
更进一步地,如图5所示,图5为本申请实施例提供的原图与条码检测框图的对比展示图;图5左侧为本申请中待检测的条码图像,即原图,由图5可见,原图中包含多个尺寸不同的条码,当使用本申请的条码识别方法对原图进行条码识别后,可以得到如图5右侧所示的条码检测框图,该条码检测框图中框选了多个位置的条码,由该条码检测框图可见,本申请的条码识别方法可以对条码图像中所有不同尺寸的条码进行识别定位,从而防止漏检、误检的情况发生。
在一个实施例中,S120中对所述条码图像进行显著性检测之前,还可以包括:
S111:确定所述条码图像的图像类型。
S112:依据所述条码图像的图像类型对所述条码图像进行预处理操作。
本实施例中,由于条码图像容易受到场景的影响,不同场景下获取到的条码图像的图像质量会有所不同,进而导致条码图像中的条码识别结果不够准确。因此,本申请可以对条码图像中的条码进行识别之前,对条码图像进行预处理操作。
具体地,本申请可以依据条码图像的图像类型对条码图像进行预处理操作。比如对于金属零件,因其形状及拍摄角度等影响,图像采集的条码往往存在光照不均等现象,所以本申请可以采用自适应匀光算法来去除图像中的光照不均;而对于牛奶纸盒,因其点阵打印及拍摄光线等影响,图像采集的条码往往存在对比度较低等现象,所以本申请可以使用增强网络来提高图像的对比度。当然,本申请还可以对其他场景下获取的条码图像进行相应的预处理操作,具体可视实际情况进行选择,在此不做赘述。
下面对本申请实施例提供的条码识别装置进行描述,下文描述的条码识别装置与上文描述的条码识别方法可相互对应参照。
在一个实施例中,如图6所示,图6为本申请实施例提供的一种条码识别装置的结构示意图;本申请还提供了一种条码识别装置,可以包括图像获取模块210、显著性检测模块220、图像裁剪模块230、图像分块模块240、条码识别模块250,具体可以包括如下:
图像获取模块210,用于获取待检测的条码图像,所述条码图像中包含多个不同尺寸的条码。
显著性检测模块220,用于对所述条码图像进行显著性检测,确定所述条码图像的显著性区域。
图像裁剪模块230,用于根据所述显著性区域对所述条码图像进行裁剪,得到包含所述条码图像中所有条码的全局图像。
图像分块模块240,用于对所述全局图像进行分块,得到多个局部图像。
条码识别模块250,用于分别对所述全局图像以及各个局部图像进行条码识别,并根据各个识别结果确定所述全局图像中所有条码的目标位置框。
上述实施例中,当获取到包含多个不同尺寸的条码的条码图像时,可以先对该条码图像进行显著性检测,并确定条码图像中的显著性区域,减少条码图像中复杂背景的干扰,接着本申请可以根据显著性区域来对条码图像进行裁剪,得到包含条码图像中所有条码的全局图像,这样既可以保证条码图像的相对完整性,又可以避免条码图像过大导致检测时间过长,检测效率较慢;当得到全局图像后,本申请为了检测条码图像中尺寸较小的条码,可以对该全局图像进行分块,并得到多个局部图像,这样一个或多个局部图像中便会包含有尺寸较小的条码,在进行条码识别时,可以对全局图像和各个局部图像分别进行条码识别,并利用局部图像的识别结果来对全局图像的识别结果进行补充和印证,使得最终得到的目标位置框可以准确包含全局图像中所有条码的目标位置框,从而避免漏检、误检等现象。
在一个实施例中,本申请还提供了一种存储介质,所述存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如上述实施例中任一项所述条码识别方法的步骤。
在一个实施例中,本申请还提供了一种计算机设备,包括:一个或多个处理器,以及存储器。
所述存储器中存储有计算机可读指令,所述计算机可读指令被所述一个或多个处理器执行时,执行如上述实施例中任一项所述条码识别方法的步骤。
示意性地,如图7所示,图7为本申请实施例提供的一种计算机设备的内部结构示意图,该计算机设备300可以被提供为一服务器。参照图7,计算机设备300包括处理组件302,其进一步包括一个或多个处理器,以及由存储器301所代表的存储器资源,用于存储可由处理组件302的执行的指令,例如应用程序。存储器301中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件302被配置为执行指令,以执行上述任意实施例的条码识别方法。
计算机设备300还可以包括一个电源组件303被配置为执行计算机设备300的电源管理,一个有线或无线网络接口304被配置为将计算机设备300连接到网络,和一个输入输出(I/O)接口305。计算机设备300可以操作基于存储在存储器301的操作系统,例如WindowsServer TM、Mac OS XTM、Unix TM、Linux TM、Free BSDTM或类似。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间可以根据需要进行组合,且相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (16)

1.一种条码识别方法,其特征在于,所述方法包括:
获取待检测的条码图像,所述条码图像中包含多个不同尺寸的条码;
对所述条码图像进行显著性检测,确定所述条码图像的显著性区域;
根据所述显著性区域对所述条码图像进行裁剪,得到包含所述条码图像中所有条码的全局图像;
对所述全局图像进行分块,得到多个局部图像;
分别对所述全局图像以及各个局部图像进行条码识别,并根据各个识别结果确定所述全局图像中所有条码的目标位置框。
2.根据权利要求1所述的条码识别方法,其特征在于,所述对所述条码图像进行显著性检测,确定所述条码图像的显著性区域,包括:
确定与所述条码图像对应的灰度图像;
根据所述灰度图像中每个像素点的灰度值,计算与所述灰度图像对应的积分图像;
使用多个不同尺寸的滤波窗口对所述积分图像进行滤波,并将滤波后获得的多个特征图进行加权求和,得到显著图;
对所述显著图进行二值化操作,并根据二值化操作后的显著图确定所述条码图像的显著性区域。
3.根据权利要求2所述的条码识别方法,其特征在于,所述使用多个不同尺寸的滤波窗口对所述积分图像进行滤波,得到多个特征图,包括:
依据所述条码图像中各个条码的尺寸设置多个不同尺寸的滤波窗口;
针对每一尺寸的滤波窗口:
确定使用该滤波窗口对所述积分图像进行滤波时的中心点;
计算所述积分图像中除所述中心点外的其他像素点与所述中心点之间的中心差异值以及偏离中心差异值;
根据所述中心差异值和所述偏离中心差异值,确定使用该滤波窗口对所述积分图像进行滤波后得到的多个特征图。
4.根据权利要求2所述的条码识别方法,其特征在于,所述确定与所述条码图像对应的灰度图像之前,还包括:
使用设定窗口尺寸的滤波器对所述条码图像进行至少一次滤波。
5.根据权利要求1所述的条码识别方法,其特征在于,所述对所述全局图像进行分块,得到多个局部图像,包括:
根据所述全局图像中各条码的分布情况,确定对所述全局图像进行分块的分块方式,所述分块方式包括滑动窗口平移分块方式和中心区域平移分块方式;
按照所述分块方式对所述全局图像进行分块,得到多个局部图像。
6.根据权利要求5所述的条码识别方法,其特征在于,根据所述全局图像中各条码的分布情况,确定对所述全局图像进行分块的分块方式,包括:
若所述全局图像中位于中心区域的条码的数量低于所述全局图像中位于边缘区域的条码的数量,则确定对所述全局图像进行分块的分块方式为滑动窗口平移分块方式;
若所述全局图像中位于中心区域的条码的数量高于所述全局图像中位于边缘区域的条码的数量,则确定对所述全局图像进行分块的分块方式为中心区域平移分块方式。
7.根据权利要求5所述的条码识别方法,其特征在于,当所述分块方式为滑动窗口平移分块方式时,所述按照所述分块方式对所述全局图像进行分块,得到多个局部图像,包括:
按照第一预设缩放因子对所述全局图像进行缩放,得到第一缩放图像;
确定所述第一缩放图像对应的第一平移窗口和第一平移步长;
将所述第一平移窗口按照所述第一平移步长在所述第一缩放图像中进行平移滑动,并获取每一次平移滑动时所述第一平移窗口在所述第一缩放图像中的覆盖区域;
将每一次平移滑动时的覆盖区域作为局部图像,得到多个局部图像。
8.根据权利要求5所述的条码识别方法,其特征在于,当所述分块方式为中心区域平移分块方式时,所述按照所述分块方式对所述全局图像进行分块,得到多个局部图像,包括:
按照第二预设缩放因子对所述全局图像进行缩放,得到第二缩放图像;
确定所述第二缩放图像对应的第二平移窗口和第二平移步长;
以所述第二缩放图像的图像中心点为基准点,在所述第二缩放图像中选取与所述第二平移窗口对应大小的区域作为首个局部图像;
将所述第二平移窗口按照所述第二平移步长在所述第二缩放图像中包含所述首个局部图像的中心区域进行平移滑动,并获取每一次平移滑动时所述第二平移窗口在所述中心区域的覆盖区域;
将每一次平移滑动时的覆盖区域作为局部图像,得到其余多个局部图像。
9.根据权利要求1所述的条码识别方法,其特征在于,所述分别对所述全局图像以及各个局部图像进行条码识别之前,还包括:
对各个局部图像分别进行边缘检测,过滤各个局部图像中不包含条码的局部图像。
10.根据权利要求1所述的条码识别方法,其特征在于,所述分别对所述全局图像以及各个局部图像进行条码识别,得到多个识别结果,包括:
将所述全局图像以及各个局部图像分别输入至预先配置的条码检测网络中,得到所述条码检测网络输出的所述全局图像的识别结果以及各个局部图像的识别结果;
其中,所述识别结果包括所述全局图像中各条码的条码位置框以及各个局部图像中条码的条码位置框,所述条码检测网络是以训练条码图像为训练样本,以所述训练条码图像中标注的条码位置框为样本标签进行训练的。
11.根据权利要求10所述的条码识别方法,其特征在于,所述识别结果还包括每一条码对应的多个条码位置框的置信度,所述方法还包括:
针对每一条码:
遍历该条码对应的各个条码位置框的置信度;
将各个条码位置框中置信度低于预设置信度阈值并高于预设交并比阈值的条码位置框进行过滤,得到过滤后的条码位置框;
将过滤后的条码位置框作为该条码的最终位置框。
12.根据权利要求1所述的条码识别方法,其特征在于,所述识别结果包括所述全局图像中各条码的条码位置框以及各个局部图像中条码的条码位置框;
所述根据各个识别结果确定所述全局图像中所有条码的目标位置框,包括:
确定每一局部图像在所述全局图像中的位置,以及每一局部图像相对于所述全局图像的缩放比例;
依据每一局部图像在所述全局图像中的位置,以及每一局部图像相对于所述全局图像的缩放比例,将各个局部图像中条码的条码位置框进行还原,得到还原后的条码位置框;
基于所述还原后的条码位置框以及所述全局图像中各条码的条码位置框,确定所述全局图像中所有条码的目标位置框。
13.根据权利要求1-12中任一项所述的条码识别方法,其特征在于,所述对所述条码图像进行显著性检测之前,还包括:
确定所述条码图像的图像类型;
依据所述条码图像的图像类型对所述条码图像进行预处理操作。
14.一种条码识别装置,其特征在于,包括:
图像获取模块,用于获取待检测的条码图像,所述条码图像中包含多个不同尺寸的条码;
显著性检测模块,用于对所述条码图像进行显著性检测,确定所述条码图像的显著性区域;
图像裁剪模块,用于根据所述显著性区域对所述条码图像进行裁剪,得到包含所述条码图像中所有条码的全局图像;
图像分块模块,用于对所述全局图像进行分块,得到多个局部图像;
条码识别模块,用于分别对所述全局图像以及各个局部图像进行条码识别,并根据各个识别结果确定所述全局图像中所有条码的目标位置框。
15.一种存储介质,其特征在于:所述存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至13中任一项所述条码识别方法的步骤。
16.一种计算机设备,其特征在于,包括:一个或多个处理器,以及存储器;
所述存储器中存储有计算机可读指令,所述计算机可读指令被所述一个或多个处理器执行时,执行如权利要求1至13中任一项所述条码识别方法的步骤。
CN202210909469.1A 2022-07-29 2022-07-29 条码识别方法、装置、存储介质及计算机设备 Pending CN115249024A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210909469.1A CN115249024A (zh) 2022-07-29 2022-07-29 条码识别方法、装置、存储介质及计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210909469.1A CN115249024A (zh) 2022-07-29 2022-07-29 条码识别方法、装置、存储介质及计算机设备

Publications (1)

Publication Number Publication Date
CN115249024A true CN115249024A (zh) 2022-10-28

Family

ID=83700389

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210909469.1A Pending CN115249024A (zh) 2022-07-29 2022-07-29 条码识别方法、装置、存储介质及计算机设备

Country Status (1)

Country Link
CN (1) CN115249024A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI827423B (zh) * 2022-12-28 2023-12-21 大陸商信揚科技(佛山)有限公司 掃描方法及相關設備

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI827423B (zh) * 2022-12-28 2023-12-21 大陸商信揚科技(佛山)有限公司 掃描方法及相關設備

Similar Documents

Publication Publication Date Title
RU2484531C2 (ru) Устройство обработки видеоинформации системы охранной сигнализации
EP2915333B1 (en) Depth map generation from a monoscopic image based on combined depth cues
CN111340749B (zh) 图像质量的检测方法、装置、设备及存储介质
CN108986152B (zh) 一种基于差分图像的异物检测方法及装置
US9031285B2 (en) Detection of floating objects in maritime video using a mobile camera
CN110781839A (zh) 一种基于滑窗的大尺寸图像中小目标识别方法
US8396285B2 (en) Estimating vanishing points in images
CN109255802B (zh) 行人跟踪方法、装置、计算机设备及存储介质
CN111383252B (zh) 多相机目标追踪方法、系统、装置及存储介质
CN111967345A (zh) 一种实时判定摄像头遮挡状态的方法
CN115249024A (zh) 条码识别方法、装置、存储介质及计算机设备
US10679098B2 (en) Method and system for visual change detection using multi-scale analysis
CN110909620A (zh) 车辆检测方法、装置、电子设备及存储介质
CN107818583A (zh) 十字中心检测方法及装置
EP3044734B1 (en) Isotropic feature matching
Fang et al. 1-D barcode localization in complex background
CN111062415B (zh) 基于对比差异的目标对象图像提取方法、系统及存储介质
Albrecht et al. Visual maritime attention using multiple low-level features and naive bayes classification
CN115661131B (zh) 一种图像识别方法、装置、电子设备及存储介质
CN114677414A (zh) 一种视域重叠的多摄像机目标匹配方法和系统
CN115731256A (zh) 一种顶点坐标的检测方法、装置、设备及存储介质
US20190251703A1 (en) Method of angle detection
Gundawar et al. Improved single image dehazing by fusion
Kadim et al. Method to detect and track moving object in non-static PTZ camera
Majumdar et al. Registration and mosaicing for images obtained from UAV

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