CN103034834A - 条码检测方法及装置 - Google Patents

条码检测方法及装置 Download PDF

Info

Publication number
CN103034834A
CN103034834A CN201110375476XA CN201110375476A CN103034834A CN 103034834 A CN103034834 A CN 103034834A CN 201110375476X A CN201110375476X A CN 201110375476XA CN 201110375476 A CN201110375476 A CN 201110375476A CN 103034834 A CN103034834 A CN 103034834A
Authority
CN
China
Prior art keywords
bar
shaped zone
pixel point
end points
curve
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
Application number
CN201110375476XA
Other languages
English (en)
Other versions
CN103034834B (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.)
WUXI AIDINGGE INFORMATION TECHNOLOGY Co Ltd
Original Assignee
WUXI AIDINGGE INFORMATION TECHNOLOGY 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 WUXI AIDINGGE INFORMATION TECHNOLOGY Co Ltd filed Critical WUXI AIDINGGE INFORMATION TECHNOLOGY Co Ltd
Priority to CN201110375476.XA priority Critical patent/CN103034834B/zh
Publication of CN103034834A publication Critical patent/CN103034834A/zh
Application granted granted Critical
Publication of CN103034834B publication Critical patent/CN103034834B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种条码检测方法和装置,所述方法包括:在图像中搜索至少两个条形区域,并确定每个条形区域的端点;基于搜索到的各个条形区域的端点确定搜索到的各个条形区域是否属于一个条码,如果搜索到的各个条形区域属于一个条码,则判定所述图像中包含有条码。通过搜索图像中的条形区域及其端点来判定图像中是否有条码,这样可以判定较为准确,受图像清晰度的影响较小。

Description

条码检测方法及装置
【技术领域】
本发明涉及线性条码(linear barcode)识别领域,尤其涉及一种确定图像中是否包含有条码的条码检测方法及装置。
【背景技术】
线性条码也常被称为一维条码(1D barcode),其是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符。目前在工业和民用领域应用得非常广泛。常见的线性条码包括统一商品码(Universal Product Code,简称UPC码)、欧洲商品编码(European ArticleNumber,简称EAN码)、日本商品编码(Japanese Article Number,简称JAN码)、Code 25、Code 39,Code 128等等。
常用的条码扫描设备通常由光源(比如激光)、光学透镜、感光器件(例如CCD,CMOS等)、解码逻辑电路和I/O接口等组件构成。简单来讲,所述光源投射光至条码上,从条码处反射的光透过所述光学透镜进入感光器件表面,经过光电转换、模数转换等一系列处理后形成条码的数字图像,然后解码逻辑电路对摄取的图像进行分析和解码。
目前的条码扫描设备一般都是专用的条码扫描设备,比如商场内的与零售系统连接的条码扫描器、图书馆内的与图书管理系统连接的条码扫描器或医院内的与电脑系统连接的条码扫描器,其可以采集到高质量的条码图像,这样可以较为容易的实现条码的解码。
很多便携式电子设备比如手机、PDA(个人数字助理)等都配置有摄像头装置,利用所述摄像头装置用户可以进行拍摄照片和视频等应用。对于较低配置的摄像头模组,比如存在于大量中低端手机中的摄像头模组,由于是采用定焦镜头(fixed-focus lens),导致拍摄的图像经常由于对焦不准而处于模糊状态。这样,通常的条码检测方法难以在该类条码图像中确定是否包含有条码。
因此,有必要提出一种改进的确定图像中是否包含有条码的条码检测方法和装置。
【发明内容】
本发明要解决的技术问题之一在于提供一种条码检测方法,其可以准确的确定图像中是否包含有条码。
本发明要解决的技术问题之二在于提供一种条码检测装置,其可以准确的确定图像中是否包含有条码。
为了解决上述问题,根据本发明的一个方面,本发明提供了一种条码检测方法,其包括:在图像中搜索至少两个条形区域,并确定每个条形区域的端点;和基于搜索到的各个条形区域的端点确定搜索到的各个条形区域是否属于一个条码,如果搜索到的各个条形区域属于一个条码,则判定所述图像中包含有条码。
进一步的,所述在图像中搜索至少两个条形区域,并确定每个条形区域的端点包括:选定一行像素点;在选定的一行像素点中选定一个黑色像素点作为初始像素点;从初始像素点开始搜索所述初始像素点所在的黑色区域的端点;和根据初始像素点和其所在的黑色区域的端点的位置确定所述黑色区域是否为条形区域。
更进一步的,所述从初始像素点开始搜索所述初始像素点所在的黑色区域的端点包括:从初始像素点开始依次向下或/和向上搜索临近最低灰度值的像素点,并判断搜索到的像素点是否为黑色像素点,如果是黑色像素点,则依次记录其坐标,如果不是黑色像素点,则确定前一个黑色像素点为所述黑色区域的端点。
再进一步的,所述根据初始像素点和其所在的黑色区域的端点的位置确定所述黑色区域是否为条形区域包括:将所记录的黑色像素点的坐标进行曲线拟合得到一曲线;和基于该曲线确定所述黑色区域是否为条形区域。
再进步一步的,所述基于该曲线确定所述黑色区域是否为条形区域包括:统计该曲线在各黑色像素点附近的曲率以及各黑色像素点到该曲线的距离;如果所述曲率小于一个曲率门限值且所有的距离不超过一个距离门限值,则认为该黑色区域是一个条形区域,否则认为该黑色区域不是一个条形区域。
进一步的,在图像中设定查找区域和停止区域,所述查找区域的范围小于等于所述停止区域,所述停止区域的范围大于等于所述查找区域而小于等于所述图像,所述选定一行像素点是在所述查找区域内选定的;在从初始像素点开始搜索所述初始像素点所在的黑色区域的端点时,如果搜索到的黑色像素点在所述停止区域之内,则继续搜索,如果在所述停止区域之外,则停止搜索。
进一步的,所述基于搜索到的各个条形区域的端点确定搜索到的各个条形区域是否属于一个条码包括:计算搜索到的各条形区域的方向的差异;将搜索到的各条形区域的同侧的端点的坐标进行曲线拟合得到一曲线;基于各条形区域的方向的差异和/或所述曲线确定搜索到的各个条形区域是否属于一个条码。
进一步的,所述基于各条形区域的方向的差异和/或所述曲线确定搜索到的各个条形区域是否属于一个条码包括:统计该曲线在这些同侧端点附近的曲率,以及统计这些同侧端点到该曲线的距离;和如果该曲率小于一个曲率门限值,各条形区域的方向的差异不超过一个角度门限值,各条形区域的同侧的端点和利用该侧端点拟合的曲线之间的距离不超过一个距离门限值,则认定各个条形区域属于一个条码,否则认定各个条形区域不属于一个条码。
根据本发明的另一个方面,本发明提供了一种条码检测装置,其包括:条形区域探测模块,其在图像中搜索至少两个条形区域,并确定每个条形区域的端点;和条码探测模块,其基于搜索到的各个条形区域的端点确定搜索到的各个条形区域是否属于一个条码。
进一步的,所述条形区域探测模块在图像中搜索一个条形区域的过程包括:选定一行像素点;在选定的一行像素点中选定一个黑色像素点作为初始像素点,并记录其坐标;从初始像素点开始依次向下或/和向上搜索临近最低灰度值的像素点,并判断搜索到的像素点是否为黑色像素点,如果是黑色像素点,则依次记录其坐标,如果不是黑色像素点,则确定前一个黑色像素点为所述黑色区域的端点;将所记录的黑色像素点的坐标进行曲线拟合得到一曲线;和基于该曲线确定所述黑色区域是否为条形区域。
再进一步的,所述条形区域探测模块统计该曲线在各黑色像素点附近的曲率以及各黑色像素点到该曲线的距离;如果所述曲率小于一个曲率门限值且所有的距离不超过一个距离门限值,则认为该黑色区域是一个条形区域,否则认为该黑色区域不是一个条形区域。
更进一步的,在图像中设定查找区域和停止区域,所述查找区域的范围小于等于所述停止区域,所述停止区域的范围大于等于所述查找区域而小于等于所述图像,所述条形区域探测模块选定的一行像素点是在所述查找区域内选定的;所述条形区域探测模块在从初始像素点开始搜索所述初始像素点所在的黑色区域的端点时,如果搜索到的黑色像素点在所述停止区域之内,则继续搜索,如果在所述停止区域之外,则停止搜索。
进一步的,所述条码探测模块计算搜索到的各条形区域的方向的差异;将搜索到的各条形区域的同侧的端点的坐标进行曲线拟合得到一曲线;基于各条形区域的方向的差异和/或所述曲线确定搜索到的各个条形区域是否属于一个条码。
更进一步的,所述条码探测模块统计该曲线在这些同侧端点附近的曲率,以及统计这些同侧端点到该曲线的距离;如果该曲率小于一个曲率门限值,各条形区域的方向的差异不超过一个角度门限值,各条形区域的同侧的端点和利用该侧端点拟合的曲线之间的距离不超过一个距离门限值,则认定各个条形区域属于一个条码,否则认定各个条形区域不属于一个条码。
与现有技术相比,在本发明中通过搜索图像中的条形区域及其端点来判定图像中是否有条码,这样可以判定较为准确,受图像清晰度的影响较小。
关于本发明的其他目的,特征以及优点,下面将结合附图在具体实施方式中详细描述。
【附图说明】
结合参考附图及接下来的详细描述,本发明将更容易理解,其中同样的附图标记对应同样的结构部件,其中:
图1为本发明中的条码检测方法在一个实施例中的流程示意图;
图2示出了一个条码示例;
图3示出了本发明中的在图像中搜索条形区域并确定所述条形区域的端点的方法在一个实施例中的流程示意图;
图4示出了图像中的查找区域和停止区域的位置关系的一种示例;和
图5为本发明中的条码检测装置在一个实施例中的结构示意图。
【具体实施方式】
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明的详细描述主要通过程序、步骤、逻辑块、过程或其他象征性的描述来呈现,其直接或间接地模拟本发明中的技术方案的运作。所属领域内的技术人员使用此处的这些描述和陈述向所属领域内的其他技术人员有效的介绍他们的工作本质。
此处所称的“一个实施例”或“实施例”是指与所述实施例相关的特定特征、结构或特性至少可包含于本发明至少一个实现方式中。在本说明书中不同地方出现的“在一个实施例中”并非必须都指同一个实施例,也不必须是与其他实施例互相排斥的单独或选择实施例。此外,表示一个或多个实施例的方法、流程图或功能框图中的模块顺序并非固定的指代任何特定顺序,也不构成对本发明的限制。
在进行条码检测前,通常需要获取连续的视频图像帧,之后根据应用场景对每帧视频图像进行裁剪、尺寸变换以及彩色图像转灰度图像等操作,从而生成固定尺寸的灰度图像。本发明并不对图像的获取和预处理进行特别的限定,只要能够获得一定尺寸的灰度图像以便于后续在灰度图像上进行条码检测即可。
图1为本发明中的条码检测方法100在一个实施例中的流程示意图。如图1所示,所述条码检测方法包括:步骤110,在图像中搜索至少两个条形区域,并确定每个条形区域的端点,如果未搜索到至少两个条形区域,则判定所述图像中不包含有条码,如果搜索到了至少两个条形区域,则进入下一个步骤;步骤120,基于搜索到的各个条形区域的端点确定搜索到的各个条形区域是否属于一个条码,如果搜索到的各个条形区域属于同一个条码,则可以判定所述图像中包含有条码,如果不属于同一个条码,则可以判定所述图像中不包括条码。需要指明的是,所述图像中不包括条码包括两种情况,一种是真的不包括条码,另一种是包括两个或多个条码。对于包括两个或多个条码的情况,在本发明中被视为不包括条码。
如图2所示,其示出了一个条码示例,其包括有多个大致平行的条形区域,每个条形区域包括有位于两端的端点。
在一个实施例中,步骤110可以先在图像中搜索一个条形区域,之后在搜索到的条形区域的临近区域中搜索一定数量的其它条形区域。
图3示出了本发明中的在图像中搜索条形区域并确定所述条形区域的端点的方法300在一个实施例中的流程示意图,其可以用于所述条码检测方法100的步骤110中。如图3所示,所述方法300包括如下步骤。
步骤310,在图像中设定查找区域和停止区域。
如图4所示,所述查找区域(查找区域边界所围绕的区域)的范围小于等于所述停止区域(停止区域边界所围绕的区域),所述停止区域的范围大于等于所述查找区域而小于等于图像(图像边界所围绕的区域)。所述查找区域可以是整个图像,也可以是在图像中事先选定的一定宽和高的矩形区域。
在一个特别的示例中,所述查找区域等于所述停止区域,也等于所述图像,这样就相当于未设置查找区域和停止区域,直接在整个图像上进行查找或搜索。换句话说,在此种情况下,相当于未设置查找区域和停止区域。类似的,在所述停止区域等于所述图像时,相当于未设置停止区域。
查找区域和停止区域可以根据具体条码识别应用的背景或者系统硬件的处理能力等因素来确定。比如在一些应用中,条码所在的大致位置是确定的,则查找区域只需要将该大致位置包含在内即可。再比如在一些应用中,由于硬件设备处理能力有限,无法对整幅图像进行全图像搜索,则可以设定在图像的一个固定区域作为查找区域。
步骤320,在所述查找区域内选定一行像素点。
在一个实施例中,可以选定所述查找区域的任意一行像素点,比如所述查找区域的中间一个像素点或第一行像素点。
步骤330,在选定的一行像素点中选定一个黑色像素点作为初始像素点。
在一个实施例中,黑色像素点的判定可以是比较选定的像素点和临近像素点的灰度差异,当灰度差异达到预先设定的一个灰度差异门限值的时候即可认定该像素点是一个黑色像素点,否则认为是背景像素点(或称为白色像素点),继续选定另一个像素点,记录选定的黑色像素点的坐标。
在另一个实施例中,也可以直接将像素点的灰度值与一个灰度阈值进行比较,在其灰度值小于所述灰度阈值时被确定为黑色像素点。
如果在选定的一行像素点中没有找到黑色像素点,则在查找区域内另选一行像素点重复步骤330,直到找到一个黑色像素点或在查找区域内查找完所有行像素。
步骤340,从初始搜索像素点开始搜索所述初始像素点所在的黑色区域的端点。
将所述初始像素点所在的黑色区域作为一个条形区域的候选,所在的黑色区域的端点作为候选条形区域的条形方向的端点。所述条形区域的端点可以是在该条形区域的条形方向的最后一个黑色像素点,超出其外的则是背景像素点。
在一个实施例中,从初始像素点开始依次向上和/或向下搜索临近最低灰度值的像素点,并判断搜索到的像素点是否为黑色像素点,如果是黑色像素点,则依次记录其坐标,如果不是黑色像素点,则确定前一个黑色像素点为所述黑色区域的端点。如果搜索到的黑色像素点在停止区域之内,则可以继续搜索,如果在停止区域之外,则停止搜索,这样可以节省计算量。
所述向上或向下是指整体向上或向下,比如可以是倾斜向上或向下,也可以是垂直向上或向下。由于搜索的是临近最低灰度值的像素点,因此即使所述条码发生很大的倾斜,利用本发明中的条码检测方法仍能对其条形区域检测,进而可以实现条码的检测,这样使得条码检测可以不受拍摄方向或角度的影响。
在搜索条形区域的端点过程中,由于是从黑色像素点开搜索另外的黑色像素点,因此可以是比较搜索到的像素点和上一像素点的灰度差异,当灰度差异小于预先设定的一个灰度差异门限值的时候即可认定该像素点是一个黑色像素点,否则可以认为是背景像素点(或称为白色像素点)。在条形区域的端点的搜索过程中,一直是在灰度图像上进行搜索的,这样做比较合适在模糊图像中搜索条形区域的端点。
如果在步骤340中查找端点失败,则在查找区域内另选一行像素点重复上述步骤330和340,直到找到端点或者在查找区域内查找完毕而未找到端点。
步骤350,根据初始像素点和其所在的黑色区域的端点的位置确定所述黑色区域是否为条形区域。
在一个实施例中,将所记录的黑色像素点(包括初始像素点、所述黑色区域的端点以及其他记录的黑色像素点)的坐标进行曲线拟合(curve fitting)得到一第一曲线,之后基于该第一曲线确定所述黑色区域是否为条形区域。
具体的,统计该第一曲线在各黑色像素点附近的曲率(curvature)以及各黑色像素点到该第一曲线的距离。如果所述第一曲率小于事先规定的第一曲率门限值而且所有的距离不超过事先规定的第一距离门限值,则认为该黑色区域是一个条形区域;否则认为该黑色区域不是一个条形区域。
在一个实施例中,在步骤120中可以根据下述方法来确定搜索到的各个条形区域是否属于一个条码:计算搜索到的各条形区域的方向的差异;将搜索到的各条形区域的同侧的端点的坐标进行曲线拟合得到一第二曲线;基于各条形区域的方向的差异和/或所述第二曲线确定各个条形区域是否属于一个条码。
具体的,统计该第二曲线在这些同侧端点附近的曲率以及这些同侧端点到该第二曲线的距离;如果该曲率小于事先规定的第二曲率门限值,各条形区域方向上的差异不超过事先规定的第二角度门限值,各条形区域的同侧的端点和利用该侧端点拟合的第二曲线之间的距离不超过事先规定的第二距离门限值,则认定各个条形区域属于一个条码,否则认定各个条形区域不属于一个条码。
这样就可以在图像中确定是否有条码,为后续的条码定位和识别提供基础。
在本发明中通过搜索图像中的条形区域及其端点来判定图像中是否有条码,这样可以较为准确,受图像清晰度的影响较小。
本发明中的条码检测方案还可以实现为一种装置,图5为本发明中的条码检测装置500在一个实施例中的结构示意图。如图5所示,所述条码检测装置500包括条形区域探测模块510和条码探测模块520。
所述条形区域探测模块510在图像中搜索至少两个条形区域,并确定每个条形区域的端点。所述条码探测模块520基于搜索到的各个条形区域的端点确定搜索到的各个条形区域是否属于一个条码。
在一个实施例中,所述条形区域探测模块510在图像中搜索一个条形区域的过程包括:选定一行像素点;在选定的一行像素点中选定一个黑色像素点作为初始像素点,并记录其坐标;从初始像素点开始依次向下或/和向上搜索临近最低灰度值的像素点,并判断搜索到的像素点是否为黑色像素点,如果是黑色像素点,则依次记录其坐标,如果不是黑色像素点,则确定前一个黑色像素点为所述黑色区域的端点;将所记录的黑色像素点(包括初始像素点、所述黑色区域的端点以及其他记录的黑色像素点)的坐标进行曲线拟合得到第一曲线;基于该第一曲线确定所述黑色区域是否为条形区域。优选的,所述条形区域探测模块510统计该第一曲线在各黑色像素点附近的曲率以及各黑色像素点到该第一曲线的距离;如果所述曲率小于第一曲率门限值且所有的距离不超过第一距离门限值,则认为该黑色区域是一个条形区域,否则认为该黑色区域不是一个条形区域。
在一个实施例中,在图像中设定查找区域和停止区域,所述查找区域的范围小于等于所述停止区域,所述停止区域的范围大于等于所述查找区域而小于等于所述图像。所述条形区域探测模块510选定的一行像素点是在所述查找区域内选定的;所述条形区域探测模块510在从初始像素点开始搜索所述初始像素点所在的黑色区域的端点时,如果搜索到的黑色像素点在所述停止区域之内,则继续搜索,如果在所述停止区域之外,则停止搜索。
所述条码探测模块520计算搜索到的各条形区域的方向的差异;将搜索到的各条形区域的同侧的端点的坐标进行曲线拟合得到第二曲线;基于各条形区域的方向的差异和/或所述第二曲线确定搜索到的各个条形区域是否属于一个条码。优选的,所述条码探测模块520统计该第二曲线在这些同侧端点附近的曲率,以及统计这些同侧端点到该第二曲线的距离;如果该曲率小于一个第二曲率门限值,各条形区域的方向的差异不超过一个第二角度门限值,各条形区域的同侧的端点和利用该侧端点拟合的第二曲线之间的距离不超过一个第二距离门限值,则认定各个条形区域属于一个条码,否则认定各个条形区域不属于一个条码。
本文中的“和/或”表示和或者或,比如A、B和/或C,包括A、B、C、AB、AC、BC、ABC几种情况。
上文对本发明进行了足够详细的具有一定特殊性的描述。所属领域内的普通技术人员应该理解,实施例中的描述仅仅是示例性的,在不偏离本发明的真实精神和范围的前提下做出所有改变都应该属于本发明的保护范围。本发明所要求保护的范围是由所述的权利要求书进行限定的,而不是由实施例中的上述描述来限定的。

Claims (14)

1.一种条码检测方法,其特征在于,其包括:
在图像中搜索至少两个条形区域,并确定每个条形区域的端点;和
基于搜索到的各个条形区域的端点确定搜索到的各个条形区域是否属于一个条码,如果搜索到的各个条形区域属于一个条码,则判定所述图像中包含有条码。
2.根据权利要求1所述的条码检测方法,其特征在于,所述在图像中搜索至少两个条形区域,并确定每个条形区域的端点包括:
选定一行像素点;
在选定的一行像素点中选定一个黑色像素点作为初始像素点;
从初始像素点开始搜索所述初始像素点所在的黑色区域的端点;和
根据初始像素点和其所在的黑色区域的端点的位置确定所述黑色区域是否为条形区域。
3.根据权利要求2所述的条码检测方法,其特征在于,所述从初始像素点开始搜索所述初始像素点所在的黑色区域的端点包括:
从初始像素点开始依次向下或/和向上搜索临近最低灰度值的像素点,并判断搜索到的像素点是否为黑色像素点,如果是黑色像素点,则依次记录其坐标,如果不是黑色像素点,则确定前一个黑色像素点为所述黑色区域的端点。
4.根据权利要求3所述的条码检测方法,其特征在于,所述根据初始像素点和其所在的黑色区域的端点的位置确定所述黑色区域是否为条形区域包括:
将所记录的黑色像素点的坐标进行曲线拟合得到一曲线;和
基于该曲线确定所述黑色区域是否为条形区域。
5.根据权利要求4所述的条码检测方法,其特征在于,所述基于该曲线确定所述黑色区域是否为条形区域包括:
统计该曲线在各黑色像素点附近的曲率以及各黑色像素点到该曲线的距离;如果所述曲率小于一个曲率门限值且所有的距离不超过一个距离门限值,则认为该黑色区域是一个条形区域,否则认为该黑色区域不是一个条形区域。
6.根据权利要求3-5任一所述的条码检测方法,其特征在于,在图像中设定查找区域和停止区域,所述查找区域的范围小于等于所述停止区域,所述停止区域的范围大于等于所述查找区域而小于等于所述图像,
所述选定一行像素点是在所述查找区域内选定的;
在从初始像素点开始搜索所述初始像素点所在的黑色区域的端点时,如果搜索到的黑色像素点在所述停止区域之内,则继续搜索,如果在所述停止区域之外,则停止搜索。
7.根据权利要求1所述的条码检测方法,其特征在于,所述基于搜索到的各个条形区域的端点确定搜索到的各个条形区域是否属于一个条码包括:
计算搜索到的各条形区域的方向的差异;
将搜索到的各条形区域的同侧的端点的坐标进行曲线拟合得到一曲线;
基于各条形区域的方向的差异和/或所述曲线确定搜索到的各个条形区域是否属于一个条码。
8.根据权利要求7所述的条码检测方法,其特征在于,所述基于各条形区域的方向的差异和/或所述曲线确定搜索到的各个条形区域是否属于一个条码包括:
统计该曲线在这些同侧端点附近的曲率,以及统计这些同侧端点到该曲线的距离;和
如果该曲率小于一个曲率门限值,各条形区域的方向的差异不超过一个角度门限值,各条形区域的同侧的端点和利用该侧端点拟合的曲线之间的距离不超过一个距离门限值,则认定各个条形区域属于一个条码,否则认定各个条形区域不属于一个条码。
9.一种条码检测装置,其特征在于,其包括:
条形区域探测模块,其在图像中搜索至少两个条形区域,并确定每个条形区域的端点;和
条码探测模块,其基于搜索到的各个条形区域的端点确定搜索到的各个条形区域是否属于一个条码。
10.根据权利要求9所述的条码检测装置,其特征在于,所述条形区域探测模块在图像中搜索一个条形区域的过程包括:
选定一行像素点;
在选定的一行像素点中选定一个黑色像素点作为初始像素点,并记录其坐标;
从初始像素点开始依次向下或/和向上搜索临近最低灰度值的像素点,并判断搜索到的像素点是否为黑色像素点,如果是黑色像素点,则依次记录其坐标,如果不是黑色像素点,则确定前一个黑色像素点为所述黑色区域的端点;
将所记录的黑色像素点的坐标进行曲线拟合得到一曲线;和
基于该曲线确定所述黑色区域是否为条形区域。
11.根据权利要求10所述的条码检测装置,其特征在于,所述条形区域探测模块统计该曲线在各黑色像素点附近的曲率以及各黑色像素点到该曲线的距离;如果所述曲率小于一个曲率门限值且所有的距离不超过一个距离门限值,则认为该黑色区域是一个条形区域,否则认为该黑色区域不是一个条形区域。
12.根据权利要求10所述的条码检测装置,其特征在于,在图像中设定查找区域和停止区域,所述查找区域的范围小于等于所述停止区域,所述停止区域的范围大于等于所述查找区域而小于等于所述图像,
所述条形区域探测模块选定的一行像素点是在所述查找区域内选定的;
所述条形区域探测模块在从初始像素点开始搜索所述初始像素点所在的黑色区域的端点时,如果搜索到的黑色像素点在所述停止区域之内,则继续搜索,如果在所述停止区域之外,则停止搜索。
13.根据权利要求9所述的条码检测装置,其特征在于,所述条码探测模块计算搜索到的各条形区域的方向的差异;将搜索到的各条形区域的同侧的端点的坐标进行曲线拟合得到一曲线;基于各条形区域的方向的差异和/或所述曲线确定搜索到的各个条形区域是否属于一个条码。
14.根据权利要求13所述的条码检测装置,其特征在于,所述条码探测模块统计该曲线在这些同侧端点附近的曲率,以及统计这些同侧端点到该曲线的距离;如果该曲率小于一个曲率门限值,各条形区域的方向的差异不超过一个角度门限值,各条形区域的同侧的端点和利用该侧端点拟合的曲线之间的距离不超过一个距离门限值,则认定各个条形区域属于一个条码,否则认定各个条形区域不属于一个条码。
CN201110375476.XA 2011-09-29 2011-11-23 条码检测方法及装置 Expired - Fee Related CN103034834B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110375476.XA CN103034834B (zh) 2011-09-29 2011-11-23 条码检测方法及装置

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN201110301652.5 2011-09-29
CN201110301652 2011-09-29
CN2011103016525 2011-09-29
CN201110375476.XA CN103034834B (zh) 2011-09-29 2011-11-23 条码检测方法及装置

Publications (2)

Publication Number Publication Date
CN103034834A true CN103034834A (zh) 2013-04-10
CN103034834B CN103034834B (zh) 2015-07-29

Family

ID=48021714

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110375476.XA Expired - Fee Related CN103034834B (zh) 2011-09-29 2011-11-23 条码检测方法及装置

Country Status (1)

Country Link
CN (1) CN103034834B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108073847A (zh) * 2016-11-07 2018-05-25 阿里巴巴集团控股有限公司 对条码进行定位的方法、设备和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1742279A (zh) * 2002-12-17 2006-03-01 夏普株式会社 条形码识别装置
US7147161B2 (en) * 1998-06-12 2006-12-12 Symbol Technologies, Inc. Digitizing bar code symbol data
CN101833640A (zh) * 2010-06-01 2010-09-15 福建新大陆电脑股份有限公司 条空边界像素点计算模块及其计算方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7147161B2 (en) * 1998-06-12 2006-12-12 Symbol Technologies, Inc. Digitizing bar code symbol data
CN1742279A (zh) * 2002-12-17 2006-03-01 夏普株式会社 条形码识别装置
CN101833640A (zh) * 2010-06-01 2010-09-15 福建新大陆电脑股份有限公司 条空边界像素点计算模块及其计算方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
YING-HONG LIANG,ZHI-YAN WANG: "《Proceedings of the Fifth International Conference on Machine Learning and Cybernetics》", 16 August 2006 *
吴忻生,邓军: "利用提取边缘线的方法定位条形码", 《计算机应用》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108073847A (zh) * 2016-11-07 2018-05-25 阿里巴巴集团控股有限公司 对条码进行定位的方法、设备和装置

Also Published As

Publication number Publication date
CN103034834B (zh) 2015-07-29

Similar Documents

Publication Publication Date Title
CN103034831B (zh) 线性条码识别方法和系统
CN103034833B (zh) 条码定位方法及装置
JP2007317184A (ja) 二次元バーコード、その符号化方法及び復号化方法
EP2715278B1 (en) 3d scanner using structured lighting
US9934444B2 (en) Image processing apparatus, image processing method and computer-readable storage medium
CN104978576B (zh) 一种文字识别方法及装置
WO2014044159A1 (en) Method and device for batch scanning 2d barcodes
US10459966B2 (en) Method, electronic device, and computer readable medium for photo organization
JP2008250949A5 (zh)
CN109344676A (zh) 一种基于哈希算法的自动感应触发方法及其系统
US9070033B2 (en) Stack barcode reader and stack barcode reading method
CN103034830B (zh) 条码解码方法及装置
CN102231187A (zh) 一种基于计算机视觉检测技术的qr码检测识别方法
US20110110595A1 (en) Image correction apparatus and method for eliminating lighting component
US9286217B2 (en) Systems and methods for memory utilization for object detection
CN102521559B (zh) 一种基于亚像素边缘检测的四一七条码识别方法
JP2012058776A (ja) バーコード読取装置およびバーコード読取方法
US8655024B2 (en) Displacement detection device and displacement detection method thereof
CN104346596A (zh) 一种qr码的识别方法及识别装置
CN103034834B (zh) 条码检测方法及装置
US20020021835A1 (en) Method and device for recording of information
US20150227772A1 (en) Detection and decoding method
CN104349058B (zh) 图像处理装置、图像处理方法以及记录介质
CN103778398A (zh) 图像模糊度估计方法
CN102193164A (zh) 对焦方法及摄像装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150729

Termination date: 20181123

CF01 Termination of patent right due to non-payment of annual fee