CN112699704B - 一种条形码的检测方法、装置、设备、存储装置 - Google Patents

一种条形码的检测方法、装置、设备、存储装置 Download PDF

Info

Publication number
CN112699704B
CN112699704B CN202110022112.7A CN202110022112A CN112699704B CN 112699704 B CN112699704 B CN 112699704B CN 202110022112 A CN202110022112 A CN 202110022112A CN 112699704 B CN112699704 B CN 112699704B
Authority
CN
China
Prior art keywords
image
bar code
area
gradient
region
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
Application number
CN202110022112.7A
Other languages
English (en)
Other versions
CN112699704A (zh
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.)
Xiamen University of Technology
Original Assignee
Xiamen University of Technology
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 Xiamen University of Technology filed Critical Xiamen University of Technology
Priority to CN202110022112.7A priority Critical patent/CN112699704B/zh
Publication of CN112699704A publication Critical patent/CN112699704A/zh
Application granted granted Critical
Publication of CN112699704B publication Critical patent/CN112699704B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14172D bar codes
    • 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
    • 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
    • G06K7/1456Methods for optical code recognition including a method step for retrieval of the optical code determining the orientation of the optical code with respect to the reader and correcting therefore

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扫描器、激光扫描器和光笔扫描器)和基于图像处理的条形码检测技术。条形码识读设备技术成熟,操作简单,但是该方法需要人工主动扫码,且一次只能检测一个条形码效率低下、耗时耗力且速度缓慢。基于图像处理的条形码技术可以自动检测产品上的条形码并且进行条码信息的读取,该方法提高了条码的检测效率、降低了人力成本和促进了产品信息读取的自动化程度。因此,基于图像处理的条码检测运用越来越广泛。
目前基于图像处理的条码检测技术只适用在单个条形码、单种类型条码的检测,并且要求条码水平放置、所处背景简单的特定场景下使用。此类方法无法有效的面对背景复杂度更高、条形码类型更多、条形码方向随机的多条码同时检测。
发明内容
本发明提供了一种条形码的检测方法、装置、设备、存储装置,以改善相关技术中的基于图像处理的条码检测技术只适用在单个条形码、单种类型条码的问题。
第一方面,
本发明实施例提供了一种条形码的检测方法,其包含如下步骤:
S101、获取包含有条形码的待检测图像。
S102、灰度化所述待检测图像,然后进行边缘检测,以获得梯度图像。
S103、对所述梯度图像进行滤波以及二值化,以获得二值化图像。
S105、检测所述二值化图像中的轮廓信息,并根据轮廓的面积进行筛选,以获得条形码区域。
S106、对所述条形码区域进行矩形拟合,以提取包含所述条形码区域的有效区域并获得所述有效区域的旋转角度。
S107、基于所述旋转角度对提取出来的所述有效区域进行旋转,以使所述有效区域处于水平。
S108、当判断所述旋转后的所述有效区域内包含至少两个条形码时,分割所述有效区域,获得多个仅包含一个条形码的子区域。
可选地,步骤S102具体为:
S1021、灰度化所述待检测图像,获得灰度化图像。
S1022、计算所述灰度化图像的水平方向和垂直方向的梯度,生成水平方向梯度图Ix和垂直方向梯度图Iy
S1023、根据所述水平方向梯度图和所述垂直方向梯度图,生成第一梯度图像。其中,所述第一梯度图像Ixy的表达式为:Ixy=||Ix|-|Iy||。
S1024、计算所述灰度化图像的45°方向和135°方向的梯度,生成45°方向梯度图I45°和135°方向梯度图I135°
S1025、根据所述45°方向梯度图和所述135°方向梯度图,生成第二梯度图像。其中,所述第二梯度图像的表达式为ID=||I45°|-|I135°||。
可选地,步骤S103具体为:
S1031、对所述梯度图像进行滤波操作。其中,滤波核为39*39的单位矩阵。
S1032、根据自适应的OTSU算法,计算滤波后的梯度图像的二值化阈值。
S1033、根据所述二值化阈值对滤波后的梯度图像进行二值化,以获得二值化图像。其中,二值化方程为
Figure BDA0002888956480000031
T为所述二值化阈值,f(x,y)和g(x,y)分别为二值化前后的图像处于(x,y)位置上的某个像素值,x为图像上像素的横坐标,y为图像上像素的纵坐标。
可选地,在步骤S105之前还包括步骤S104:
S104、对所述二值化图像进行闭运算。其中,所述闭运算的结构元素为15*15的单位矩阵。
可选地,步骤S105具体为:
S1051、获取二值化图像中块状图形的外围轮廓的所有像素点坐标。
S1052、根据所述外围轮廓的所有像素点坐标,标记块状图形区域并计算所述块状图形区域的面积。
S1053、当二值化图像包含多个块状图形时,重复上述步骤,直至标记出所有的块状图形区域并计算对应的面积。
S1054、根据预设的面积阈值对块状图形区域的面积进行筛选,以获得条形码区域。其中,面积阈值包括一维码的面积阈值和二维码的面积阈值。
可选地,步骤S106具体为:
S1061、根据条形码区域外围轮廓的所有像素点坐标,对所述条形码区域进行最大矩形拟合,以从所述待检测图像中提取包含所述条形码区域的有效区域。
S1062、对提取出来的有效区域进行最小矩形拟合,获得所述有效区域的中心点坐标、宽度、高度和倾斜角度。其中,倾斜角度为宽边和横坐标轴的夹角,范围为[-90°,0°]。
S1063、计算最小矩形的宽高比例值,其中,宽高比例值R的表达式为R=W/H,W为所述宽度,H为所述高度。
S1064、根据所述宽高比例值R和预设的比例阈值R1和R2,获得所述有效区域的旋转角度。其中,旋转角度β的表达式为
Figure BDA0002888956480000041
R为所述宽高比例值,R1和R2为预设的比例阈值,θ所述倾斜角度。
可选地,步骤S107具体为:
S1071、根据所述中心点坐标和所述旋转角度,计算得到旋转矩阵。
S1072、根据所述宽度、所述高度和所述旋转角度,计算得到所述有效区域的旋转之后新矩形的尺寸,并根据所述新矩形的尺寸更新所述旋转矩阵的尺寸。
S1073、根据更新后的旋转矩阵和仿射变换算法对所述有效区域进行旋转,以使所述有效区域处于水平。
可选地,步骤S108具体为:
S1081、根据预设的宽度阈值和高度阈值,获取所述有效区域内的条形码个数。其中,所述条形码个数包括垂直方向的垂直个数和水平方向的水平个数。
S1082、当判断到所述有效区域内包含至少两个条形码时,根据所述条形码个数,分割所述有效区域,获得多个仅包含一个条形码的子区域。
可选地,在步骤S108之后还包括步骤S109:
S109、根据所述子区域的宽高比例值,判断子区域内条形码的类型。其中,所述条形码包括一维码和二维码。
第二方面,
本发明提供一种条形码的检测装置,其包括:
图像获取模块,用于获取包含有条形码的待检测图像。
梯度图像获取模块,用于灰度化所述待检测图像,然后进行边缘检测,以获得梯度图像。
二值化图像获取模块,用于对所述梯度图像进行滤波以及二值化,以获得二值化图像。
条形码区域获取模块,用于检测所述二值化图像中的轮廓信息,并根据轮廓的面积进行筛选,以获得条形码区域。
矩形拟合模块,用于对所述条形码区域进行矩形拟合,以提取包含所述条形码区域的有效区域并获得所述有效区域的旋转角度。
旋转模块,用于基于所述旋转角度对提取出来的所述有效区域进行旋转,以使所述有效区域处于水平。
分割模块,用于当判断所述旋转后的所述有效区域内包含至少两个条形码时,分割所述有效区域,获得多个仅包含一个条形码的子区域。
可选地,梯度图像获取模块包括:
图像灰度化单元,用于灰度化所述待检测图像,获得灰度化图像。
第一梯度图生成单元,用于计算所述灰度化图像的水平方向和垂直方向的梯度,生成水平方向梯度图Ix和垂直方向梯度图Iy
第一梯度图像生成单元,用于根据所述水平方向梯度图和所述垂直方向梯度图,生成第一梯度图像。其中,所述第一梯度图像Ixy的表达式为:Ixy=||Ix|-|Iy||。
第二梯度图生成单元,用于计算所述灰度化图像的45°方向和135°方向的梯度,生成45°方向梯度图I45°和135°方向梯度图I135°
第二梯度图像生成单元,用于根据所述45°方向梯度图和所述135°方向梯度图,生成第二梯度图像。其中,所述第二梯度图像的表达式为ID=||I45°|-|I135°||。
可选地,二值化图像获取模块包括:
滤波单元,用于对所述梯度图像进行滤波操作。其中,滤波核为39*39的单位矩阵。
二值化阈值计算单元,用于根据自适应的OTSU算法,计算滤波后的梯度图像的二值化阈值。
图像二值化单元,用于根据所述二值化阈值对滤波后的梯度图像进行二值化,以获得二值化图像。其中,二值化方程为
Figure BDA0002888956480000061
T为所述二值化阈值,f(x,y)和g(x,y)分别为二值化前后的图像处于(x,y)位置上的某个像素值,x为图像上像素的横坐标,y为图像上像素的纵坐标。
可选地,条形码的检测装置还包括:
闭运算模块,用于对所述二值化图像进行闭运算。其中,所述闭运算的结构元素为15*15的单位矩阵。
可选地,条形码区域获取模块包括:
轮廓像素点获取单元,用于获取二值化图像中块状图形的外围轮廓的所有像素点坐标。
面积计算单元,用于根据所述外围轮廓的所有像素点坐标,标记块状图形区域并计算所述块状图形区域的面积。
面积计算单元,还用于当二值化图像包含多个块状图形时,重复上述步骤,直至标记出所有的块状图形区域并计算对应的面积。
条形码区域获取单元,用于根据预设的面积阈值对块状图形区域的面积进行筛选,以获得条形码区域。其中,面积阈值包括一维码的面积阈值和二维码的面积阈值。
可选地,矩形拟合模块包括:
最大矩形拟合单元,用于根据条形码区域外围轮廓的所有像素点坐标,对所述条形码区域进行最大矩形拟合,以从所述待检测图像中提取包含所述条形码区域的有效区域。
最小矩形拟合单元,用于对提取出来的有效区域进行最小矩形拟合,获得所述有效区域的中心点坐标、宽度、高度和倾斜角度。其中,倾斜角度为宽边和横坐标轴的夹角,范围为[-90°,0°]。
宽高比例值计算单元,用于计算最小矩形的宽高比例值,其中,宽高比例值R的表达式为R=W/H,W为所述宽度,H为所述高度。
旋转角度获取单元,用于根据所述宽高比例值R和预设的比例阈值R1和R2,获得所述条形码区域的旋转角度。其中,旋转角度β的表达式为
Figure BDA0002888956480000071
R为所述宽高比例值,R1和R2为预设的比例阈值,θ所述倾斜角度。
可选地,旋转模块包括:
旋转矩阵计算单元,用于根据所述中心点坐标和所述旋转角度,计算得到旋转矩阵。
尺寸更新单元,用于根据所述宽高比例值和所述旋转角度,计算得到所述有效区域的旋转之后新矩形的尺寸,并根据所述新矩形的尺寸更新所述旋转矩阵的尺寸。
旋转单元,用于根据更新后的旋转矩阵和仿射变换算法对所述有效区域进行旋转,以使所述有效区域处于水平。
可选地,分割模块包括:
个数获取单元,用于根据预设的宽度阈值和高度阈值,获取所述有效区域内的条形码个数。其中,所述条形码个数包括垂直方向的垂直个数和水平方向的水平个数。
分割单元,用于当判断到所述有效区域内包含至少两个条形码时,根据所述条形码个数,分割所述有效区域,获得多个仅包含一个条形码的子区域。
可选地,条形码的检测装置还包括:
条码类型判断单元,用于根据所述子区域的宽高比例值,判断子区域内条形码的类型。其中,所述条形码包括一维码和二维码。
第三方面,
本发明提供一种条形码的设备,其包括处理器、存储器,以及存储在所述存储器内的计算机程序。所述计算机程序能够被所述处理器执行,以实现如第一方面所述的检测方法。
第四方面,
本发明提供一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如第一方面所述的检测方法。
通过采用上述技术方案,本发明可以取得以下技术效果:
通过灰度化、边缘检测、滤波,以及二值化待检测图像,不仅能够大大减少运算量,还能够大大提高识别的准确率。通过轮廓信息筛选出条形码区域,再对条形码区域进行矩形拟合和旋转,获得水平的有效区域。然后根据有效区域的大小进行分割,得到包含单个条形码的子区域。本发明提供的检测方法适用于待检测图像中包含多个条形码的情况。并且能够快速且准确的识别出来待检测图像中的各个条形码的区域,具有很好的实际意义。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本发明第一实施例提供的一种条形码的检测方法的流程示意图。
图2是本发明第一实施例提供的一种条形码的检测方法的逻辑框图。
图3是本发明第一实施例提供的待检测图像的灰度图像。
图4是本发明第一实施例提供的待检测图像的二值化图像。
图5是本发明第一实施例提供的有效区域的示意图。
图6是本发明第一实施例提供的有效区域的旋转角度示意图。
图7是本发明第一实施例提供的有效区域的分割图。
图8是本发明第一实施例提供的待检测图像的经过检测后的结果图。
图9是本发明第二实施例提供的一种条形码的检测装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
实施例中提及的“第一\第二”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二”在允许的情况下可以互换特定的顺序或先后次序。应该理解“第一\第二”区分的对象在适当情况下可以互换,以使这里描述的实施例能够以除了在这里图示或描述的那些内容以外的顺序实施。
下面结合附图与具体实施方式对本发明作进一步详细描述:
实施例一:
请参阅图1至图8所示,本发明第一实施例提供的一种条形码的检测方法。其可由条形码的检测设备来执行。特别地,由检测设备内的一个或多个处理器来执行,以实现如下步骤:
S101、获取包含有条形码的待检测图像。
在本实施例中,检测设备包括一摄像头,用户将包含条形码的物品、纸张、标签,放在摄像头下。检测设备自动拍摄,并获取如图3所示的包含有条形码的待检测图像。用户是将条形码放置到检测设备的检测范围内,而不是移动检测设备到条形码的位置,从而大大减少了用户的工作量,具有很好的实际意义。可以理解的是,在其它实施例中,可以是一体且可活动的,也可以是只有摄像头可活动的,从而用户可以通过移动摄像头或检测设备来拍摄条形码,从而方便拍摄大件物体。所述检测设备可以是手机、扫码器、扫码枪等设备。
S102、灰度化待检测图像,然后进行边缘检测,以获得梯度图像。具体地,通过灰度化和边缘检测预先处理待检测图像,不仅能够有效的降低条形码检测过程中的数据处理量,还能够提高条形码检测的准确率。具有很好的实际意义。
需要说明的是,在本实施例中,步骤S102具体包括以下几个步骤(S1021至S1025):
S1021、灰度化待检测图像,获得灰度化图像。
由于颜色信息并不反映条形码的形态特征,因此对待检测图像进行灰度化,去除颜色信息,使其变成黑白的,能够有效的降低条形码检测过程中的数据处理量,具有很好的实际意义。具体的,本实施例中,利用加权平均算法对待检测图像进行灰度化处理。灰度化处理的方程为
Gray(x,y)=0.299*R(x,y)+0.587*G(x,y)+0.114*B(x,y)
其中,Gray(x,y)表示图像在(x,y)位置上的灰度值,R(x,y)表示R通道像素值,G(x,y)表示G通道像素值,B(x,y)表示B通道像素值,x表示待检测图像的像素的横坐标值,y表示待检测图像的像素的纵坐标值。需要说明的是,在其它实施例中,也可以采用其它算法对待检测图像进行灰度化,本发明对此不作具体限定。
S1022、计算灰度化图像的水平方向和垂直方向的梯度,生成水平方向梯度图Ix和垂直方向梯度图Iy
S1023、根据水平方向梯度图和垂直方向梯度图,生成第一梯度图像。其中,第一梯度图像Ixy的表达式为:
Ixy=||Ix|-|Iy||
首先,对灰度图像进行水平方向和垂直方向的梯度计算,检测出条形码水平方向和垂直方向的边缘信息,生成水平方向梯度图Ix和垂直方向梯度图Iy。为了保证边缘信息的提取对方向不敏感,根据水平方向梯度图Ix和垂直方向梯度图Iy,生成第一梯度图像Ixy。需要说明的是第一梯度图像Ixy也称作边缘梯度图或水平-垂直梯度图。
S1024、计算灰度化图像的45°方向和135°方向的梯度,生成45°方向梯度图I45°和135°方向梯度图I135°
S1025、根据45°方向梯度图和135°方向梯度图,生成第二梯度图像。其中,第二梯度图像ID的表达式为:
ID=||I45°|-|I135°||
其次,对灰度图像分别进行45°方向和135°方向的梯度计算,检测出条形码倾斜方向的边缘信息,生成45°方向梯度图I45°和135°方向梯度图I135°。为了保证边缘信息的提取对方向不敏感,根据45°方向梯度图I45°和135°方向梯度图I135°,生成第二梯度图像ID。需要说明的是第二梯度图像ID也称作对角梯度图或45°-135°方向梯度图。
在本实施例中,对灰度图像进行全方位的边缘检测,检测出条形码任意倾斜方向的边缘信息以及任意检测方向的边缘信息,能够保证条形码任意倾斜方向的边缘信息以及边缘检测方向的不敏感。而且文字的边缘信息较弱,通过边缘检测可以去除一定文字信息。需要说明的是,在其它实施例中,也可以采用全方位的边缘检测,而只采用特定方向的边缘检测,本发明对此不作具体限定。
S103、对梯度图像进行滤波以及二值化,以获得二值化图像。具体地,滤波操作能够去除反光导致的问题,并且让条形码稀疏的内部结构连通起来,达到平滑的效果。二值化能够进一步减少条形码检测过程中的运算量,具有很好的实际意义。
在本实施例中,步骤S103具体包括如下几个步骤(S1031至S1033):
S1031、对梯度图像进行滤波操作。
具体的,对第一梯度图像Ixy和第二梯度图像ID进行滤波操作,其中,滤波核为39*39的单位矩阵。滤波之后的滤波图像H(x,y)的表达式为:
Figure BDA0002888956480000121
其中,K(i,j)表示滤波核K在(i,j)位置上的值,i和j为横纵坐标,cx表示滤波核中心点的横坐标,cy表示滤波核中心点的纵坐标,滤波核K为w*h的单位矩阵。w=h=39。
需要说明的是,条形码内部结构稀疏,反光会导致条形码内部结构缺失严重,所以通过滤波操作去除反光导致的问题,并且让条形码稀疏的内部结构连通起来,达到平滑的效果。
S1032、根据自适应的OTSU算法,计算滤波后的梯度图像的二值化阈值。
S1033、根据二值化阈值对滤波后的梯度图像进行二值化,以获得二值化图像。二值化方程为:
Figure BDA0002888956480000131
其中,T为二值化阈值,f(x,y)和g(x,y)分别为二值化前后的图像处于(x,y)位置上的某个像素值,x为图像上像素的横坐标,y为图像上像素的纵坐标。
在本实施例中,对滤波之后的第一梯度图像Ixy用自适应的OTSU算法确定阈值T并进行二值化,具体为;
Figure BDA0002888956480000132
在本实施例中,滤波之后的和第二梯度图像ID用自适应的OTSU算法确定阈值T并进行二值化,具体为;
Figure BDA0002888956480000133
通过对滤波操作后的梯度图像进行二值化并获得二值化图像。能够将待处理图像进一步处理成黑白的,从而去掉灰度,进一步减小了条形码检测过程中所需要处理的信息量。并且先进行滤波再进行二值化,再二值化的时候通过OTSU算法来计算二值化的阈值,能够很好的保证二值化后的图像信息不会丢失,具有很好的实际意义。可以理解的是再其它实施例中,阈值可以由其它算法计算得到,滤波操作的滤波核也可以不是39*39的单位矩阵,而采用其它数值的单位矩阵。
S105、检测二值化图像中的轮廓信息,并根据轮廓的面积进行筛选,以获得条形码区域。通过轮廓面积来对二值化图像进行筛选,能够保留有效的条形码区域,并且去除密集文字组成的区域,大大提高了条形码检测的准确性。
优选地,步骤S105之前还包括步骤S104:
S104、对二值化图像进行闭运算。其中,闭运算的结构元素为15*15的单位矩阵。具体地,利用该结构元素进行闭运算,让条码区域内部连通,确保条码区域完整性并且去除一定的文字噪声。
具体地,在本实施例中,步骤S105具体包括如下步骤(步骤S1051至S1054):
S1051、获取二值化图像中块状图形的外围轮廓的所有像素点坐标。
S1052、根据外围轮廓的所有像素点坐标,标记块状图形区域并计算块状图形区域的面积。
S1053、当二值化图像包含多个块状图形时,重复上述步骤,直至标记出所有的块状图形区域并计算对应的面积。
S1054、根据预设的面积阈值对块状图形区域的面积进行筛选,以获得条形码区域。其中,面积阈值包括一维码的面积阈值和二维码的面积阈值。
在本实施例中,因为二值化图像中存在许多的块状图形区域,并且块状图形区域具有很强的轮廓信息。可以理解的是,块状图形区域可能是密集的文字,也可能是条形码。因此,对二值化图像进行轮廓检测,获取二值图像中块状图形区域的轮廓信息,并通过面积进行筛选,从多个块状图形区域中筛选出包含条形码的条形码区域。从而大大提高条形码检测的准确性,具有很好的实际意义。
对二值化图像进行轮廓检测,获取二值化图像中块状图形区域的轮廓信息,具体为:首先,找出块状图形区域外围轮廓的所有像素点坐标。其次,根据组成外围轮廓的像素点连通块状图形区域Dn并且标记。然后,根据组成外围轮廓的像素点计算块状图形区域Dn的面积S。最后,重复以上步骤,标记所有的块状图形区域。
设置条形码区域面积阈值,保留有效的条形码区域,并且去除密集文字组成的区域。条形码区域面积阈值可以分成一维条形码区域和二维条形码区域,分别进行条形码区域筛选。
通过一维条形码区域面积阈值S1,保留一维码条码区域Dn,公式为:
Figure BDA0002888956480000141
通过二维条形码区域面积阈值S2,S3,保留二维条码区域Dn,公式为:
Figure BDA0002888956480000151
其中,Dn表示该条形码区域所包含的像素点,0表示背景,1表示目标。
具体地,在本实施例中,一维码条形码区域面积阈值S1=6000,依次提取出每一个条形码区域的面积S,如果当前条码区域面积S符合要求,表明该区域有条码,该区域保留。如果当前条码区域面积S不符合要求,表明该区域没有条码,可能是密集的文字,该区域去除,如下:
Figure BDA0002888956480000152
具体地,在本实施例中,二维条码区域面积的阈值S2=3*S1和S3=15*S1,依次提取出每一个条形码区域的面积S,如果当前条码区域面积S符合要求,表明该区域有条码,该区域保留。如果当前条码区域面积S不符合要求,表明该区域没有条码,可能是密集的文字,该区域去除,如下:
Figure BDA0002888956480000153
在本实施例中,图3为待检测图像;如图4为筛选前后的二值化图像。图4中a为筛选前的二值化图像,其中白色的为块状图形区域。图4中b为筛选后的二值化图像,其中白色的为条形码区域。
S106、对条形码区域进行矩形拟合,以提取包含条形码区域的有效区域并获得有效区域的旋转角度。通过矩形拟合方便后期条形码倾斜校正,避免对整张图像进行倾斜校正。
具体地,在本实施例中,步骤S106具体包括以下步骤(步骤S1061至S1064):
S1061、根据条形码区域外围轮廓的所有像素点坐标,对条形码区域进行最大矩形拟合,以从待检测图像中提取包含条形码区域的有效区域。
在本实施例中,根据组成条形码区域轮廓的像素点对条形码区域进行最大矩形拟合,通过拟合的最大矩形从待检测图像的原图中提取出条形码区域,方便后期条形码倾斜校正,避免对整张图像进行倾斜校正。
S1062、对提取出来的有效区域进行最小矩形拟合,获得有效区域的中心点坐标、宽度、高度和倾斜角度。其中,倾斜角度为宽边和横坐标轴的夹角,范围为[-90°,0°]。
在本实施例中,对提取出来的有效区域进行最小矩形拟合,获取有效区域的中心点坐标、宽、高和倾斜角度θ。其中靠近横坐标轴的边为宽,相邻的另一条边为高,宽边和横坐标轴的夹角为倾斜角度θ,范围[-90°,0°],如图5所示。
S1063、计算最小矩形的宽高比例值,其中,宽高比例值R的表达式为R=W/H,W为宽度,H为高度。
S1064、根据宽高比例值R和预设的比例阈值R1和R2,获得有效区域的旋转角度。其中,旋转角度β的表达式为:
Figure BDA0002888956480000161
其中,R为宽高比例值,R1和R2为预设的比例阈值,θ倾斜角度。
在本实施例中,根据最小矩形的宽高比例,确定有效区域的旋转角度β,确保任意倾斜的条形码能旋转至水平。
首先,计算当前最小矩形的宽高比例值R。其次,设置宽高比例阈值R1,R2,判断有效区域旋转方向。条形码的长边对应矩形的宽,短边对应矩形的高,但是条形码倾斜方向是随机的,就会出现拟合的最小矩形的宽高与实际的宽高不符合,所以设置宽高比例阈值R1,R2,如果比值R大于R1,则该条形码向右旋转β。如果R小于R2,则该条形码向左旋转β。如图6所示。
最后,根据最小矩形的宽高比例值R和阈值R1,R2的关系确定旋转角β。在本实施例中,旋转角β的表达式为:
Figure BDA0002888956480000162
S107、基于旋转角度对提取出来的有效区域进行旋转,以使有效区域处于水平。在本实施例中,利用改进的仿射变换对有效区域旋转β,不仅能够让条形码区域旋转至水平而且能够保持完整,具有很好的实际意义。
具体地,在本实施例中,步骤S107具体包括如下步骤(步骤S1071至S1073):
S1071、根据中心点坐标和旋转角度,计算得到旋转矩阵。
S1072、根据宽度、高度和旋转角度,计算得到有效区域的旋转之后新矩形的尺寸,并根据新矩形的尺寸更新旋转矩阵的尺寸。
S1073、根据更新后的旋转矩阵和仿射变换算法对有效区域进行旋转,以使有效区域处于水平。
在本实施例中,首先,利用拟合的最小矩形的中心点坐标和旋转角度β计算旋转矩阵。其次,根据最小矩形的宽度、高度和旋转角β计算有效区域旋转之后新矩形的尺寸。根据新矩形的尺寸去更新旋转矩阵的尺寸,避免旋转之后不完整。最后,利用更新的旋转矩阵和仿射变换算法对有效区域进行旋转,保证矫正之后的有效区域是水平而且无缺失。可以理解的是,在其它实施例中,也可以在计算完旋转角后直接进行旋转,也可以采用其它算法对有效区域进行旋转,本发明对此不作具体限定。
当获取到的有效区域内只有一个条形码时,所述有效区域就可以直接被条形码识别算法进行识别,当条形码区域内包含超过一个条形码时,条形码的检测方法还包括如下步骤:
S108、当判断旋转后的有效区域内包含至少两个条形码时,分割有效区域,获得多个仅包含一个条形码的子区域。通过将包含至少两个条形码的有效区域分割成多个仅包含一个条形码的子区域,使得条形码能够被条形码识别算法直接识别,减少了识别错误的情况,具有很好的实际意义。
具体地,在本实施例中,步骤S108具体包括如下步骤(步骤S1081和S1082):
S1081、根据预设的宽度阈值和高度阈值,获取有效区域内的条形码个数。其中,条形码个数包括垂直方向的垂直个数和水平方向的水平个数。
S1082、当判断到有效区域内包含至少两个条形码时,根据条形码个数,分割有效区域,获得多个仅包含一个条形码的子区域。
通过设置有效区域的宽度阈值和高度阈值来判断有效区域Dn水平方向和垂直方向融合条形码的个数,把融合的多个条码分割成单个条形码。
在本实施例中,分别有效区域的公式如下:
Figure BDA0002888956480000181
其中,h为高度阈值、w为宽度阈值。具体地,分割效果如图7所示。图7中a为分割前的有效区域。图7中b为分割后的有效区域。
可以理解的是,在本实施例中,条形码包括一维码、QR码、Data Matrix码等多类型条码。需要说明的是,在另一实施例中,步骤S108之后还可以包括步骤S109:
S109、根据子区域的宽高比例值,判断子区域内条形码的类型。其中,条形码包括一维码和二维码。
具体地,首先,获取子区域的宽高比例R。其次,如果R大于一维码的宽高比例阈值R2,则该子区域内包含一个一维码,通过一维码识别算法根据编码规则依次解码;最后,如果R接近1,则表明该子区域内包含一个二维码,通过二维码识别算法根据二维条码的编码规则进行解码。在获取了包含单个条形码有效区域后,对条形码的类型进行识别,以便于发送至对应的识别算法中,大大提高了检测效率,具有很好的实际意义。
如图8所示,为经过本发明的条形码的检测方法处理过后的待检测图像。能够清楚的标记并提取出来标签上面的各个条形码。本发明的条形码的检测方法可以在文字环绕、反光和多条码毗邻等复杂背景下同时检测一维码、QR码、DataMatrix码等多类型条码,具有很好的实际意义。
第二方面,
如图9所示,本发明提供一种条形码的检测装置,其包括:
图像获取模块110,用于获取包含有条形码的待检测图像。
梯度图像获取模块120,用于灰度化待检测图像,然后进行边缘检测,以获得梯度图像。
二值化图像获取模块130,用于对梯度图像进行滤波以及二值化,以获得二值化图像。
条形码区域获取模块150,用于检测二值化图像中的轮廓信息,并根据轮廓的面积进行筛选,以获得条形码区域。
矩形拟合模块160,用于对条形码区域进行矩形拟合,以提取包含条形码区域的有效区域并获得有效区域的旋转角度。
旋转模块170,用于基于旋转角度对提取出来的有效区域进行旋转,以使有效区域处于水平。
分割模块180,用于当判断旋转后的有效区域内包含至少两个条形码时,分割有效区域,获得多个仅包含一个条形码的子区域。
可选地,梯度图像获取模块120包括:
图像灰度化单元,用于灰度化待检测图像,获得灰度化图像。
第一梯度图生成单元,用于计算灰度化图像的水平方向和垂直方向的梯度,生成水平方向梯度图Ix和垂直方向梯度图Iy
第一梯度图像生成单元,用于根据水平方向梯度图和垂直方向梯度图,生成第一梯度图像。其中,第一梯度图像Ixy的表达式为:Ixy=||Ix|-|Iy||。
第二梯度图生成单元,用于计算灰度化图像的45°方向和135°方向的梯度,生成45°方向梯度图I45°和135°方向梯度图I135°
第二梯度图像生成单元,用于根据45°方向梯度图和135°方向梯度图,生成第二梯度图像。其中,第二梯度图像的表达式为ID=||I45°|-|I135°||。
可选地,二值化图像获取模块130包括:
滤波单元,用于对梯度图像进行滤波操作。其中,滤波核为39*39的单位矩阵。
二值化阈值计算单元,用于根据自适应的OTSU算法,计算滤波后的梯度图像的二值化阈值。
图像二值化单元,用于根据二值化阈值对滤波后的梯度图像进行二值化,以获得二值化图像。其中,二值化方程为
Figure BDA0002888956480000201
T为二值化阈值,f(x,y)和g(x,y)分别为二值化前后的图像处于(x,y)位置上的某个像素值,x为图像上像素的横坐标,y为图像上像素的纵坐标。
可选地,条形码的检测装置还包括:
闭运算模块,用于对二值化图像进行闭运算。其中,闭运算的结构元素为15*15的单位矩阵。
可选地,条形码区域获取模块150包括:
轮廓像素点获取单元,用于获取二值化图像中块状图形的外围轮廓的所有像素点坐标。
面积计算单元,用于根据外围轮廓的所有像素点坐标,标记块状图形区域并计算块状图形区域的面积。
面积计算单元,还用于当二值化图像包含多个块状图形时,重复上述步骤,直至标记出所有的块状图形区域并计算对应的面积。
条形码区域获取单元,用于根据预设的面积阈值对块状图形区域的面积进行筛选,以获得条形码区域。其中,面积阈值包括一维码的面积阈值和二维码的面积阈值。
可选地,矩形拟合模块160包括:
最大矩形拟合单元,用于根据条形码区域外围轮廓的所有像素点坐标,对条形码区域进行最大矩形拟合,以从待检测图像中提取包含条形码区域的有效区域。
最小矩形拟合单元,用于对提取出来的有效区域进行最小矩形拟合,获得有效区域的中心点坐标、宽度、高度和倾斜角度。其中,倾斜角度为宽边和横坐标轴的夹角,范围为[-90°,0°]。
宽高比例值计算单元,用于计算最小矩形的宽高比例值,其中,宽高比例值R的表达式为R=W/H,W为宽度,H为高度。
旋转角度获取单元,用于根据宽高比例值R和预设的比例阈值R1和R2,获得条形码区域的旋转角度。其中,旋转角度β的表达式为
Figure BDA0002888956480000211
θ∈[-90°,0],R为宽高比例值,R1和R2为预设的比例阈值,θ倾斜角度。
可选地,旋转模块170包括:
旋转矩阵计算单元,用于根据中心点坐标和旋转角度,计算得到旋转矩阵。
尺寸更新单元,用于根据宽高比例值和旋转角度,计算得到有效区域的旋转之后新矩形的尺寸,并根据新矩形的尺寸更新旋转矩阵的尺寸。
旋转单元,用于根据更新后的旋转矩阵和仿射变换算法对有效区域进行旋转,以使有效区域处于水平。
可选地,分割模块180包括:
个数获取单元,用于根据预设的宽度阈值和高度阈值,获取有效区域内的条形码个数。其中,条形码个数包括垂直方向的垂直个数和水平方向的水平个数。
分割单元,用于当判断到有效区域内包含至少两个条形码时,根据条形码个数,分割有效区域,获得多个仅包含一个条形码的子区域。
可选地,条形码的检测装置还包括:
条码类型判断单元,用于根据子区域的宽高比例值,判断子区域内条形码的类型。其中,条形码包括一维码和二维码。
实施例三
本发明实施例提供一种条形码的设备,其包括处理器、存储器,以及存储在所述存储器内的计算机程序。所述计算机程序能够被所述处理器执行,以实现如实施例一中所述的检测方法。
实施例四
本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序。其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如实施例一中所述的检测方法。
在本发明实施例所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备100,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (7)

1.一种条形码的检测方法,其特征在于,包含:
获取包含有条形码的待检测图像;
灰度化所述待检测图像,然后进行边缘检测,以获得梯度图像;
对所述梯度图像进行滤波以及二值化,以获得二值化图像;
检测所述二值化图像中的轮廓信息,并根据轮廓的面积进行筛选,以获得条形码区域;
对所述条形码区域进行矩形拟合,以提取包含所述条形码区域的有效区域并获得所述有效区域的旋转角度;
基于所述旋转角度对提取出来的所述有效区域进行旋转,以使所述有效区域处于水平;
当判断所述旋转后的所述有效区域内包含至少两个条形码时,分割所述有效区域,获得多个仅包含一个条形码的子区域;
灰度化所述待检测图像,然后进行边缘检测,以获得梯度图像,具体为:
灰度化所述待检测图像,获得灰度化图像;
计算所述灰度化图像的水平方向和垂直方向的梯度,生成水平方向梯度图Ix和垂直方向梯度图Iy
根据所述水平方向梯度图和所述垂直方向梯度图,生成第一梯度图像;其中,所述第一梯度图像Ixy的表达式为:Ixy=||Ix|-|Iy||;
计算所述灰度化图像的45°方向和135°方向的梯度,生成45°方向梯度图I45°和135°方向梯度图I135°
根据所述45°方向梯度图和所述135°方向梯度图,生成第二梯度图像;其中,所述第二梯度图像ID的表达式为ID=||I45°|-|I135°||;
对所述条形码区域进行矩形拟合,以提取包含所述条形码区域的有效区域并获得所述有效区域的旋转角度,具体为:
根据条形码区域外围轮廓的所有像素点坐标,对所述条形码区域进行最大矩形拟合,以从所述待检测图像中提取包含所述条形码区域的有效区域;
对提取出来的有效区域进行最小矩形拟合,获得所述有效区域的中心点坐标、宽度、高度和倾斜角度;其中,倾斜角度为宽边和横坐标轴的夹角,范围为[-90°,0°];
计算最小矩形的宽高比例值,其中,宽高比例值R的表达式为R=W/H,W为所述宽度,H为所述高度;
根据所述宽高比例值R和预设的比例阈值R1和R2,获得所述有效区域的旋转角度;其中,旋转角度β的表达式为
Figure FDA0003851724700000021
R为所述宽高比例值,R1和R2为预设的比例阈值,θ为所述倾斜角度;
基于所述旋转角度对提取出来的所述有效区域进行旋转,以使所述有效区域处于水平,具体为:
根据所述中心点坐标和所述旋转角度,计算得到旋转矩阵;
根据所述宽度、所述高度和所述旋转角度,计算得到所述有效区域的旋转之后新矩形的尺寸,并根据所述新矩形的尺寸更新所述旋转矩阵的尺寸;
根据更新后的旋转矩阵和仿射变换算法对所述有效区域进行旋转,以使所述有效区域处于水平。
2.根据权利要求1所述的检测方法,其特征在于,对所述梯度图像进行滤波以及二值化,以获得二值化图像,具体为:
对所述梯度图像进行滤波操作;其中,滤波核为39*39的单位矩阵;
根据自适应的OTSU算法,计算滤波后的所述梯度图像的二值化阈值;
根据所述二值化阈值对滤波后的所述梯度图像进行二值化,以获得二值化图像;其中,二值化方程为
Figure FDA0003851724700000031
T为所述二值化阈值,f(x,y)和g(x,y)分别为二值化前后的图像处于(x,y)位置上的某个像素值,x为图像上像素的横坐标,y为图像上像素的纵坐标。
3.根据权利要求1所述的检测方法,其特征在于,
检测所述二值化图像中的轮廓信息之前,还包括:
对所述二值化图像进行闭运算;其中,所述闭运算的结构元素为15*15的单位矩阵;
检测所述二值化图像中的轮廓信息,并根据轮廓的面积进行筛选,以获得条形码区域,具体为:
获取二值化图像中块状图形的外围轮廓的所有像素点坐标;
根据所述外围轮廓的所有像素点坐标,标记块状图形区域并计算所述块状图形区域的面积;
当二值化图像包含多个块状图形时,重复上述步骤,直至标记出所有的块状图形区域并计算对应的面积;
根据预设的面积阈值对块状图形区域的面积进行筛选,以获得条形码区域;其中,面积阈值包括一维码的面积阈值和二维码的面积阈值。
4.根据权利要求1所述的检测方法,其特征在于,
当判断所述旋转后的所述有效区域内包含至少两个条形码时,分割所述有效区域,获得多个仅包含一个条形码的子区域,具体为:
根据预设的宽度阈值和高度阈值,获取所述有效区域内的条形码个数;其中,所述条形码个数包括垂直方向的垂直个数和水平方向的水平个数;
当判断到所述有效区域内包含至少两个条形码时,根据所述条形码个数,分割所述有效区域,获得多个仅包含一个条形码的子区域;
所述检测方法还包含:
根据所述子区域的宽高比例值,判断子区域内条形码的类型;其中,所述条形码包括一维码和二维码。
5.一种条形码的检测装置,其特征在于,包括:
图像获取模块,用于获取包含有条形码的待检测图像;
梯度图像获取模块,用于灰度化所述待检测图像,然后进行边缘检测,以获得梯度图像;
二值化图像获取模块,用于对所述梯度图像进行滤波以及二值化,以获得二值化图像;
条形码区域获取模块,用于检测所述二值化图像中的轮廓信息,并根据轮廓的面积进行筛选,以获得条形码区域;
矩形拟合模块,用于对所述条形码区域进行矩形拟合,以提取包含所述条形码区域的有效区域并获得所述有效区域的旋转角度;
旋转模块,用于基于所述旋转角度对提取出来的所述有效区域进行旋转,以使所述有效区域处于水平;
分割模块,用于当判断所述旋转后的所述有效区域内包含至少两个条形码时,分割所述有效区域,获得多个仅包含一个条形码的子区域;
梯度图像获取模块包括:
图像灰度化单元,用于灰度化待检测图像,获得灰度化图像;
第一梯度图生成单元,用于计算灰度化图像的水平方向和垂直方向的梯度,生成水平方向梯度图Ix和垂直方向梯度图Iy
第一梯度图像生成单元,用于根据水平方向梯度图和垂直方向梯度图,生成第一梯度图像;其中,第一梯度图像Ixy的表达式为:Ixy=||Ix|-|Iy||;
第二梯度图生成单元,用于计算灰度化图像的45°方向和135°方向的梯度,生成45°方向梯度图I45°和135°方向梯度图I135°
第二梯度图像生成单元,用于根据45°方向梯度图和135°方向梯度图,生成第二梯度图像;其中,第二梯度图像的表达式为ID=||I45°|-|I135°||;
矩形拟合模块包括:
最大矩形拟合单元,用于根据条形码区域外围轮廓的所有像素点坐标,对条形码区域进行最大矩形拟合,以从待检测图像中提取包含条形码区域的有效区域;
最小矩形拟合单元,用于对提取出来的有效区域进行最小矩形拟合,获得有效区域的中心点坐标、宽度、高度和倾斜角度;其中,倾斜角度为宽边和横坐标轴的夹角,范围为[-90°,0°];
宽高比例值计算单元,用于计算最小矩形的宽高比例值,其中,宽高比例值R的表达式为R=W/H,W为宽度,H为高度;
旋转角度获取单元,用于根据宽高比例值R和预设的比例阈值R1和R2,获得条形码区域的旋转角度;其中,旋转角度β的表达式为
Figure FDA0003851724700000051
R为宽高比例值,R1和R2为预设的比例阈值,θ为倾斜角度;
旋转模块包括:
旋转矩阵计算单元,用于根据中心点坐标和旋转角度,计算得到旋转矩阵;
尺寸更新单元,用于根据宽高比例值和旋转角度,计算得到有效区域的旋转之后新矩形的尺寸,并根据新矩形的尺寸更新旋转矩阵的尺寸;
旋转单元,用于根据更新后的旋转矩阵和仿射变换算法对有效区域进行旋转,以使有效区域处于水平。
6.一种条形码的设备,其特征在于,包括处理器、存储器,以及存储在所述存储器内的计算机程序;所述计算机程序能够被所述处理器执行,以实现如权利要求1至4任意一项所述的检测方法。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如权利要求1至4任意一项所述的检测方法。
CN202110022112.7A 2021-01-08 2021-01-08 一种条形码的检测方法、装置、设备、存储装置 Active CN112699704B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110022112.7A CN112699704B (zh) 2021-01-08 2021-01-08 一种条形码的检测方法、装置、设备、存储装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110022112.7A CN112699704B (zh) 2021-01-08 2021-01-08 一种条形码的检测方法、装置、设备、存储装置

Publications (2)

Publication Number Publication Date
CN112699704A CN112699704A (zh) 2021-04-23
CN112699704B true CN112699704B (zh) 2022-10-21

Family

ID=75513291

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110022112.7A Active CN112699704B (zh) 2021-01-08 2021-01-08 一种条形码的检测方法、装置、设备、存储装置

Country Status (1)

Country Link
CN (1) CN112699704B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113379681B (zh) * 2021-05-20 2022-11-04 深圳技术大学 Led芯片倾斜角度的获取方法、系统、电子装置及存储介质
CN114339046B (zh) * 2021-12-30 2023-10-03 中元汇吉生物技术股份有限公司 基于自动旋转试管的图像采集方法、装置、设备及介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108040242A (zh) * 2017-12-18 2018-05-15 横琴峰云视觉技术有限公司 一种双摄像头装置的倾斜角度的校正方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106548107B (zh) * 2015-09-23 2019-03-22 株式会社理光 条形码定位装置和条形码定位方法、以及条形码读取装置和条形码读取方法
US10108872B2 (en) * 2016-07-29 2018-10-23 Conduent Business Services, Llc Multi-angle product imaging device
CN111582000B (zh) * 2019-02-19 2023-09-12 中科微至科技股份有限公司 一种条形码定位方法、装置及相关设备
CN110795955A (zh) * 2019-07-30 2020-02-14 广东工业大学 一种快速识别多条码的系统及其方法
CN112037143A (zh) * 2020-08-27 2020-12-04 腾讯音乐娱乐科技(深圳)有限公司 一种图像处理方法及装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108040242A (zh) * 2017-12-18 2018-05-15 横琴峰云视觉技术有限公司 一种双摄像头装置的倾斜角度的校正方法及装置

Also Published As

Publication number Publication date
CN112699704A (zh) 2021-04-23

Similar Documents

Publication Publication Date Title
US8750619B2 (en) Character recognition
CN110309687B (zh) 一种二维码图像的校正方法及校正装置
WO2014160433A2 (en) Systems and methods for classifying objects in digital images captured using mobile devices
JP3251918B2 (ja) 光学式文字認識システムにおける2値化方法
CN109343920B (zh) 一种图像处理方法及其装置、设备和存储介质
CN112699704B (zh) 一种条形码的检测方法、装置、设备、存储装置
CN111680690B (zh) 一种文字识别方法及装置
CN110009615B (zh) 图像角点的检测方法及检测装置
CN110598566A (zh) 图像处理方法、装置、终端和计算机可读存储介质
CN112507782A (zh) 文本图像的识别方法及装置
CN110443184B (zh) 身份证信息提取方法、装置及计算机存储介质
CN111222507A (zh) 数字式仪表读数的自动识别方法、计算机可读存储介质
CN108256518B (zh) 文字区域检测方法及装置
CN113688846A (zh) 物体尺寸识别方法、可读存储介质及物体尺寸识别系统
CN107368826B (zh) 用于文本检测的方法和装置
Bodnár et al. A novel method for barcode localization in image domain
US7386172B2 (en) Image recognition method
CN112818983A (zh) 一种利用图片相识度判断字符倒置的方法
CN116469090A (zh) 喷码图案的检测方法、装置、电子设备和存储介质
CN113095102B (zh) 一种条形码区域的定位方法
CN102682308B (zh) 图像处理方法和图像处理设备
CN114241463A (zh) 签名验证方法、装置、计算机设备和存储介质
JP2005250786A (ja) 画像認識方法
El Makhfi et al. Scale-space approach for character segmentation in scanned images of Arabic documents
Trubitsyn et al. Localization of image fragments with high frequency intensity oscillation

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