CN109902529B - 一种基于波形匹配的一维条码识别方法及系统 - Google Patents
一种基于波形匹配的一维条码识别方法及系统 Download PDFInfo
- Publication number
- CN109902529B CN109902529B CN201910155165.9A CN201910155165A CN109902529B CN 109902529 B CN109902529 B CN 109902529B CN 201910155165 A CN201910155165 A CN 201910155165A CN 109902529 B CN109902529 B CN 109902529B
- Authority
- CN
- China
- Prior art keywords
- bar code
- waveform
- end point
- fuzzified
- starting point
- 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
Links
Images
Landscapes
- Image Analysis (AREA)
Abstract
本发明公开了一种基于波形匹配的一维条码识别方法及系统,其主要包括:获取条码图片的一行数据并搜索条码波形的起点和终点,并判断是否搜索成功,是则获取所述条码波形的波峰以及波谷,否则确认搜索失败并结束本次识别;基于所述起点和终点的位置和灰度进行局部照度均衡以及灰度归一化处理;基于粗筛选峰谷位置库、模糊化的条码波形库以及所述的起点、终点、波峰以及波谷,对各个模糊化的条码波形进行基于峰谷位置的筛选以获取若干模糊化的条码波形;逐一对采样点的差分绝对值累积计算,并确认累积值最小的模糊化的条码波形为所要匹配的条码。本发明能有效针对离焦模糊情况下获得的条码图片的识别,能有效地提高生产工作效率。
Description
技术领域
本发明属于数据处理技术领域,具体的说是涉及基于波形匹配的一维条码识别方法及系统。
背景技术
条形码技术是集通信技术、计算机技术和广电技术为一体的新兴技术。它的优势就是可靠性高、不可更改性、输入速度快、采集信息量大;社会信息化的发展,促进了条码技术的发展,广泛应用于医疗卫生、商品流通、物流仓储、票证管理及邮电通讯等生产生活中的各个领域,极大地提高了生产工作效率。
随着计算机的应用与发展,条码技术应运而生;它主要研究如何使用条码的标识信息和如何将条形码标识的信息转换成计算机可识别的语言,以实现自动输入、自动统计、自动识别的功能。条码技术具有可靠性高、方法简单、信息采集量大及灵活性高等优点。正因为它的这些优点,已在各行各业中被广泛应用。条形码的应用范围广泛,不仅应用在生产中还用在管理中。在我国条形码技术已被广泛应用于商业、工业、医疗卫生事业、图书出版。随着全球经济贸易体系的形成。它将在国内外更广泛地应用于其他领域。但是,由我国目前现状来看条形码在印刷中存在许多严重的质量问题,据条码工作会议统计,我国商品条码印刷不合格率高达30%,条码印刷质量是影响其正确识读的重要因素。若因质量低劣出现扫描误读,不仅会造成不必要的经济损失而且将大大影响工作效率。印刷质量不合格主要表现有条码展宽或漏印,再加上运输过程中造成的脏污、断裂和磨损。所以这些因素将不可避免地对条形码的识读造成一定的影响,使得条形码识别率大大降低了,严重地影响了条形码的正确识读。
因此为了排除以上各种因素的干扰,有必要研究一种不但能提高条码的识读率,而且能有效地提高生产工作效率条码的波形识别技术。
发明内容
鉴于已有技术存在的缺陷,本发明的目的是要提供一种基于波形匹配的一维条码识别方法,应对离焦模糊情况下的识别率偏低的问题,以提高条码的识读率。
为了实现上述目的,本发明的技术方案:
一种基于波形匹配的一维条码识别方法,所述方法包括离线预处理过程和在线识别过程,其特征在于,所述离线预处理过程包括如下步骤:步骤1-1、形成以数字码形式表示全部条码库;步骤1-2、根据步骤1-1中的条码库的数字码生成条码的一维理想波形;步骤1-3、对步骤1-2的一维波形进行模糊化;步骤1-4、搜索步骤1-3的模糊化的一维波形中对应的起点-波峰-波谷-终点位置,并切取起点-终点间的波形作为有效波形区域;步骤1-5、将步骤1-4得到的有效波形区域进行灰度归一化,得到模糊化的条码波形库;步骤1-6、将步骤1-4的所有波形的起点-波峰-波谷-终点位置汇总得到粗筛选峰谷位置库;所述在线识别过程包括如下步骤:步骤2-1、获取待处理的条码单帧图像;步骤2-2、对所获取的条码单帧图像进行灰度化处理以获取对应的灰度图像;步骤2-3、提取所述灰度图像中的1/2高度位置那一行的全部像素作为一维波形,搜索条码波形的起点和终点,如果找到则切取起点-终点之间的有效波形区域则进行步骤2-4,否则确认搜索失败并结束本次识别算法;步骤2-4、根据起点和终点的像素的灰度值对步骤2-3获取的起点和终点之间的一维波形进行局部照度均衡处理、灰度归一化处理,以形成归一化待识别波形;步骤2-5、搜索步骤2-4获取的所述归一化待识别波形的波峰以及波谷;步骤2-6、获取离线预处理过程的模糊化的条码波形库中的各个模糊化的条码波形的比对数据,所述比对数据包括模糊化的条码波形的起点、终点、波峰以及波谷,所述模糊化的条码波形是通过对条码库中的条码波形进行预模糊处理获取的;步骤2-7、基于步骤2-5所获取的所述归一化待识别波形的起点、终点、波峰以及波谷,对步骤2-6中各个比对数据进行筛选,以获取与所述归一化待识别波形的起点、终点、波峰以及波谷一致的若干模糊化的条码波形,作为粗选条码;步骤2-8、逐一对步骤2-7中所获取的粗选条码的模糊条码波形与步骤2-4所获取的所述归一化待识别波形进行相应波形的采样点的绝对值差分累积计算,并确认累积值最小的模糊化的条码波形为所要匹配的条码。
进一步的,所述局部照度均衡处理是指对起点和终点之间的像素的灰度值的等比例变换的均衡方法。
进一步的,所述局部照度均衡处理是指若求得起点和终点的灰度值,则所述局部照度均衡处理的步骤为:在获得起点和终点后,获得对应的灰度值,并计算两者灰度差值,并将起点和终点之间的各个像素的灰度值按照前面的灰度差值进行等比例减少,以达到照度均衡的目的。
进一步的,灰度归一化方法的步骤为:将起点和终点之间的像素的灰度值归一化到[0,1]之间。
进一步的,离线预处理过程中所述以数字串形式表示全部条码库即全部的条码都表现为纯数字形式。
进一步的,离线预处理过程中所述模糊化处理即用低通滤波器对波形进行滤波处理。
进一步的,所述离线处理过程和所述在线处理过程中所述起点和终点是通过对一维波形进行均值、方差计算并比较处理获得的。
本发的另一目的是要提供一种基于波形匹配的一维条码识别系统,所述系统包括离线预处理模块以及在线识别模块;其特征在于,所述离线预处理模块包括:条码库,所述条码库以数字码形式表示;条码生成单元,其能够根据所述条码库中的数字码生成条码的一维理想波形;第一处理单元,其能够对一维理想波形进行模糊化;第二处理单元,其能够搜索第一处理单元中的模糊化的一维波形中对应的起点-波峰-波谷-终点位置,并切取起点-终点间的波形作为有效波形区域;灰度化处理单元,其能够将所得到的有效波形区域进行灰度归一化,得到模糊化的条码波形库;预处理单元,其能够将所有波形的起点-波峰-波谷-终点位置汇总得到粗筛选峰谷位置库,;所述在线识别模块包括:采集单元,其能够获取待处理的条码单帧图像;灰度化处理单元,其能够对所获取的条码单帧图像进行灰度化处理以获取对应的灰度图像;第一提取单元,其能够提取所述灰度图像中的1/2高度位置那一行的全部像素作为一维波形,并搜索条码的起点和终点,判断是否搜索成功,是则由第二提取单元进行处理,否则确认查找失败并结束本次识别,所述搜索成功的判断依据为搜索出所述条码波形的起点和终点;局部照度均衡处理单元,其能够获取条码起点和终点的灰度值,并进行起点-终点灰度均衡化处理以形成归一化待识别波形;第二提取单元,其能够获取所述条码波形的波峰以及波谷;筛选单元,其能够基于局部照度均衡处理单元所获取的所述归一化待识别波形的起点、终点、波峰以及波谷,对第二提取单元中各个比对数据进行筛选,以获取与所述归一化待识别波形的起点、终点、波峰以及波谷一致的若干模糊化的条码波形,作为粗选条码;匹配单元,其能够逐一对候选条码中所获取的模糊化的条码波形与第一提取单元所获取的所述条码波形进行相应波形的采样点的绝对值差分计算并确认差值最小的模糊化的条码波形为所要匹配的条码;所述粗筛选峰谷位置包括模糊化的条码波形的起点、终点、波峰以及波谷,所述模糊化的条码波形是通过对条码库中的条码波形进行预模糊处理获取的。
进一步的,所述均衡化处理是指对起点和终点之间的像素的灰度值的等比例变换的均衡方法。
进一步的,所述均衡化处理是指若求得起点和终点的灰度值,则所述局部照度均衡处理的步骤为:在获得起点和终点后,获得对应的灰度值,并计算两者灰度差值,并将起点和终点之间的各个像素的灰度值按照前面的灰度差值进行等比例减少,以达到照度均衡的目的。
进一步的,灰度归一化方法的步骤为:将起点和终点之间的像素的灰度值归一化到[0,1]之间。
进一步的,离线预处理模块中所述以数字串形式表示全部条码库即全部的条码都表现为纯数字形式。
进一步的,离线预处理模块中所述模糊化处理即用低通滤波器对波形进行滤波处理。
进一步的,所述离线处理模块和所述在线处理模块中所述起点和终点是通过对一维波形进行均值、方差计算并比较处理获得的。
与现有技术相比,本发明的有益效果:
现有技术多采用去模糊方法进行图像复原,再用传统方法进行条码识别,核心在于去模糊算法。本发明不同于传统条码识别过程,不做去模糊的图像复原,具体是基于波形匹配的一维条码的识别算法,即首先可通过采用摄像头采集条码图像;然后通过数字图像处理算法对其进行处理得到条码的波形;所述数字图像处理算法包括首先通过码字库中的码字数字生成理想的条码图像,再对该图像进行预模糊处理即滤波处理,以方便进行波形的比较;然后将库存码字的波形逐一与带识别波形进行波形比对匹配识别,得到最终的识别结果;本发明不但能提高条码的识读率,而且能有效地提高生产工作效率。
附图说明
图1为本发明所述的一种基于波形匹配的一维条码识别方法对应的核心步骤流程图;
图2为本发明所述的实施例数字码9237199053894生成的一维条码波形图;
图3为本发明所述的实施例对应的条码的数字码9237199053894的一维理想波形;
图4为本发明所述的实施例一维理想波形进行模糊化处理后的图;
图5为本发明所述的实施例对应起点-波峰-波谷-终点位置的搜索结果图;
图6为本发明所述的实施例对应有效波形区域;
图7为本发明所述的实施例对应条码的归一化结果;
图8-1为本发明所述的实施例对应数字码9237199053894的一维理想波形;
图8-2为本发明所述的实施例对应数字码9787302321866的一维理想波形;
图8-3为本发明所述的实施例对应数字码6901234567892的一维理想波形;
图8-4为本发明所述的实施例对应数字码6927033131089的一维理想波形;
图8-5为本发明所述的实施例对应数字码6942074242914的一维理想波形;
图9-1为本发明所述的实施例对应数字码9237199053894的模糊化处理后的图;
图9-2为本发明所述的实施例对应数字码9787302321866的模糊化处理后的图;
图9-3为本发明所述的实施例对应数字码6901234567892的模糊化处理后的图;
图9-4为本发明所述的实施例对应数字码6927033131089的模糊化处理后的图;
图9-5为本发明所述的实施例对应数字码6942074242914的模糊化处理后的图;
图10-1为本发明所述的实施例对应数字码9237199053894的有效波形区域图;
图10-2为本发明所述的实施例对应数字码9787302321866的有效波形区域图;
图10-3为本发明所述的实施例对应数字码6901234567892的有效波形区域图;
图10-4为本发明所述的实施例对应数字码6927033131089的有效波形区域图;
图10-5为本发明所述的实施例对应数字码6942074242914的有效波形区域图;
图11为本发明所述的实施例对应待处理的条码单帧图像图;
图12为本发明所述的实施例对应图片转换的灰度图;
图13为本发明所述的实施例对应图片提取1/2高度位置的一整行波形图;
图14为本发明所述的实施例对应起点-终点之间的有效波形区域;
图15为本发明所述的实施例对应归一化待识别波形图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
技术背景以及主要设计原理:针对使用普通摄像头拍摄的条码图像的识别时,由于离焦原因,拍摄所得的条码图像会变得模糊。因此很难直接读取条码的信息。需要通过图像处理才能进行识别。本发明提供了一种基于波形匹配的条码识别方法,即首先对拍照的条形码图像进行图像处理及库中条码的预处理;然后利用波形的提取得到一维波形;再对一维波形进行均值、方差的运算得到波形的起点及终点,这样就会再次得到一个新的波形;再通过求取波峰、波谷搜索并进行粗筛选,再进行差分运算进行精细匹配,以达到波形匹配的过程。上述方法综合运用了图像处理中的灰度处理、低通滤波、波形差分、归一化、照度均衡等技术对模糊的条码进行处理,实现了对符合FAN-13标准的条码的模糊条码波形的匹配识别过程,对其他的一维条码是通用的。
基于上述原理,如图1,本发明所述的一种基于波形匹配的一维条码识别方法,其特征在于,包括离线预处理过程和在线识别过程;
所述离线预处理过程包括如下步骤:
步骤1-1、形成以数字码形式表示全部条码库;如下表
步骤1-2、根据步骤1-1的数字码依次生成条码的一维理想波形,每一个数字码生成的一维条码波形的形状。图2为9237199053894数字码生成的一维条码波形。第三方的库函数一般生成的是一幅图片(对应一个数字码),如图3,此时只需要取正中间那一行就可以得到如上图的该数字码的一维理想波形。
步骤1-3、对步骤1-2的一维理想波形进行模糊化处理,得到模糊化波形;
所述模糊化是用高斯函数或其他低通滤波器对原始信号进行线性卷积操作
其中σ为标准差。其中某个条码的一维理想波形进行模糊化处理后如图4所示
步骤1-4、对步骤1-3的模糊化的条码波形库中的一维波形,使用起点-终点搜索算法搜索起点-波峰-波谷-终点位置,搜索结果示例如图5所示,
起点-终点搜索算法如下所述:
设波形信号为x(1),x(2),…x(w),如下图所示,
x(1) | x(2) | … | x(w/2)… | … | x(w) |
其中Th1为根据经验值设定的一个方差阈值,在本例中取Th1=0.01;Th2L为x(n)左半部分的整体灰度均值有关的一个动态阈值,取
λ为比例系数,本例中取0.1~0.3之间;ImaxL是指左半部分的灰度最大值,L指的是左边(Left)。
其中Th1为根据经验值设定的一个方差阈值,在本例中取Th1=0.01;Th2R为x(n)右半部分的整体灰度均值有关的一个动态阈值,取
λ为比例系数,本例中取0.1~0.3之间。ImaxR是指右半部分的灰度最大值,R指的是右边(Right)。
上述起点-终点算法搜索得到的起点Ps和终点Pe,搜索算法结束。
接下,切取起点-终点间的波形作为有效波形区域,如图6所示。
步骤1-5、将步骤1-4得到的有效波形区域进行灰度归一化,灰度值归一化到[0,1]之间,得到模糊化的条码波形库,库中某个条码的归一化结果如图7所示。
步骤1-6、将步骤1-4的所有波形的起点-波峰-波谷-终点位置汇总得到粗筛选峰谷位置库;
所述在线识别过程步骤为:
步骤2-1、通过摄像头获取待处理的条码单帧图像;
步骤2-2、对所获取的条码单帧图像进行灰度化处理以获取对应的灰度图像;由于几乎所有种类的条码都是由黑、白模块组成,因此颜色信息对条码的识别并没有意义。所以可将彩色图像转变为只有亮度信息的灰度图像,以提高运算效率。又由于灰度图像中只含亮度信息,而不含任何色彩信息,因此使用1个数据矩阵即可存储一幅灰度图像,矩阵元素的值表示灰度图像上对应位置的像素的灰度值,以描述该像素的明暗程度;当像素灰度值用8bit量化表示时,灰度值的取值范围为0~255;通常在灰度图中,灰度Y与RGB值的对应关系如下式所示:
Y=0.299R+0.587G+0.114B
这种由彩色转化为灰度的过程被称为灰度化处理。有的采集设备获取的是RGB通道,可以用上式转换为亮度Y。有的采集设备获取的是YUV通道,可以直接提取Y通道。
步骤2-3、提取灰度图像中的1/2高度位置那一行的全部像素作为一维波形。这里假设图片I中的I(x,y)为第x行第y列的像素的灰度值,图片I的高度为h,宽度为w,则提取
x(n)=I(h/2,n),0<n≤w
得到的一维波形x(n)代替原始整幅灰度图片I进行后续处理;然后,使用条码起点-终点搜索算法判断是否找到条码区域,如前所述;如果起点-终点都找到,则进行步骤2-4,否则视为搜索失败且结束本次识别。
步骤2-4、根据起点和终点的像素的灰度值对步骤2-3获取的起点和终点之间的一维波形进行局部照度均衡处理;
所述局部照度均衡处理包括:在获得起点和终点后,获得对应的灰度值,并计算灰度修正比例系数,即
Δ=[x(Pe)-x(Ps)]/((Pe-Ps))
按照下式将起点和终点之间的各个像素的灰度值进行均衡处理,即
然后,将起点和终点之间的各个像素的灰度值进行归一化处理到[0,1]之间,即
xmax=max{x(k)},xmin=min{x(k)},Ps≤k≤Pe
其中,δ指的是起点和终点之间的最大灰度与最小灰度的差值。
步骤2-5、获取所述条码波形的波峰以及波谷;
步骤2-6、获取离线预处理过程的模糊化的条码波形库中的各个模糊化的条码波形的比对数据,所述比对数据包括模糊化的条码波形的起点、终点、波峰以及波谷,所述模糊化的条码波形是通过对条码库中的条码波形进行预模糊处理获取的;
步骤2-7、基于所获取的所述条码波形的起点、终点、波峰以及波谷,对各个比对数据进行筛选,以获取与所述条码波形的起点、终点、波峰以及波谷一致的若干模糊化的条码波形,记为{pk(n)};在进行条码波形的识别匹配前,先对库中的条码波形进行一个筛选(即对波形的波峰、波谷的匹配)得到一些候选条码波形,这样可以减少一定的时间及运行速度。
步骤2-8、逐一对步骤2-7中所获取的模糊化的条码波形与步骤2-4所获取的所述条码波形进行相应波形的采样点的差分绝对值累积计算
其中pk(n)为步骤7筛选出的第k个库存波形。
得到的k对应的库存条码波形为所要匹配的条码,对应的波形数字即为识别的数字结果。最后通过对波形进行差分运算(两者之差绝对值求和)在候选条码的波形中得到和拍照条码一致的条码。图像的减法运算也称为差分运算,在本发明中,对条码的波形进行差分,即将拍照条码的波形与库中候选条码的波形进行相应采样点的减法运算,逐一得到一些差值;然后再将其绝对值进行相加,最后得到一个累积值,经比较哪一个波形条码差分累积值最小,那么该条码就是所要匹配的条码。
进一步的,所述预模糊处理即对条码库中的条码波形进行低通滤波处理,其目的就是为能将库中清晰的条码变成模糊的条码,使其形成一个模糊的条码库。图像在拍摄时,由于调焦不准确或者设备不具有自动调焦功能,可能造成离焦模糊。传统的离焦模糊图像复原方法耗时较高,不适合条码识别的实时性需求。将理想的条码波形进行模糊化处理后再与拍摄图像进行比对,是本专利提出的一种新颖的方法。
本发明的另一目的是要提供一种基于波形匹配的一维条码识别系统,其特征在于,包括:
本发的另一目的是要提供一种基于波形匹配的一维条码识别系统,所述系统包括离线预处理模块以及在线识别模块;其特征在于,所述离线预处理模块包括:条码库,所述条码库以数字码形式表示;条码生成单元,其能够根据所述条码库中的数字码生成条码的一维理想波形;第一处理单元,其能够对一维理想波形进行模糊化;第二处理单元,其能够搜索第一处理单元中的模糊化的一维波形中对应的起点-波峰-波谷-终点位置,并切取起点-终点间的波形作为有效波形区域;灰度化处理单元,其能够将所得到的有效波形区域进行灰度归一化,得到模糊化的条码波形库;预处理单元,其能够将所有波形的起点-波峰-波谷-终点位置汇总得到粗筛选峰谷位置库,;所述在线识别模块包括:采集单元,其能够获取待处理的条码单帧图像;灰度化处理单元,其能够对所获取的条码单帧图像进行灰度化处理以获取对应的灰度图像;第一提取单元,其能够提取所述灰度图像中的1/2高度位置那一行的全部像素作为一维波形,并搜索条码的起点和终点,判断是否搜索成功,是则由第二提取单元进行处理,否则确认查找失败并结束本次识别,所述搜索成功的判断依据为搜索出所述条码波形的起点和终点;局部照度均衡处理单元,其能够获取条码起点和终点的灰度值,并进行起点-终点灰度均衡化处理以形成归一化待识别波形;第二提取单元,其能够获取所述条码波形的波峰以及波谷;筛选单元,其能够基于局部照度均衡处理单元所获取的所述归一化待识别波形的起点、终点、波峰以及波谷,对第二提取单元中各个比对数据进行筛选,以获取与所述归一化待识别波形的起点、终点、波峰以及波谷一致的若干模糊化的条码波形,作为粗选条码;匹配单元,其能够逐一对候选条码中所获取的模糊化的条码波形与第一提取单元所获取的所述条码波形进行相应波形的采样点的绝对值差分计算并确认差值最小的模糊化的条码波形为所要匹配的条码;所述粗筛选峰谷位置包括模糊化的条码波形的起点、终点、波峰以及波谷,所述模糊化的条码波形是通过对条码库中的条码波形进行预模糊处理获取的。
下面以具体实施例为例进行具体说明本实例是对一个条码号为6927033131089的模糊条码进行的实验;其与库中的5个库存条码进行波形的匹配的过程。
对条码库的离线预处理过程:
步骤1-1、形成以数字码形式表示全部条码库。
序号 | 数字码 |
1 | 9237199053894 |
2 | 9787302321866 |
3 | 6901234567892 |
4 | 6927033131089 |
5 | 6942074242914 |
步骤1-2、根据步骤1-1的数字码生成条码的一维理想波形;通过标准的条码生成函数,生成EAN13条码图像,如图8-1--图8-5;
步骤1-13、一维波形进行模糊化,形成模糊化的条码波形库,如图9-1--图9-5;
步骤1-4、对步骤1-3的模糊化的条码波形库中的一维波形,搜索起点-波峰-波谷-终点位置,并切取起点-终点间的波形作为有效波形区域,如图10-1--图10-5;
步骤1-5、将步骤1-4得到的有效波形区域进行灰度归一化;
步骤1-6、将步骤1-4的所有波形的起点-波峰-波谷-终点位置汇总得到粗筛选峰谷位置库;
在线识别过程:
步骤2-1、从摄像头获得一张图片,如图11;
步骤2-2、将所述图片转换为灰度图,如图12;
步骤2-3、提取1/2高度位置的一整行,如图13,从w/2开始往前、往后分别搜索,得到起点-终点,并切取起点-终点之间的有效波形区域,如图14,
步骤2-4、根据起点和终点的像素的灰度值对步骤2-3获取的起点和终点之间的一维波形进行局部照度均衡处理、灰度归一化处理,形成归一化待识别波形。
步骤2-5、搜索步骤2-4获取的所述归一化待识别波形的波峰以及波谷;
步骤2-5、从粗筛选峰谷位置库中提取各个模糊化的条码波形的粗筛选数据,所述粗筛选数据包括起点、终点、波峰以及波谷,所述模糊化的条码波形是通过对条码库中的条码波形进行预模糊处理获取的;为了能更好的进行条码的波形比较,在前述的预处理阶段先将库中的条码进行模糊化处理。
步骤2-6、基于所获取的所述条码波形的起点、终点、波峰以及波谷,对各个粗筛选数据进行逐一比对,以获取与所述条码波形的起点、终点、波峰以及波谷位置及分布一致的若干模糊化的条码波形,得到多个候选条码;如下表所示,其中序号为2、3、4的条码入选为候选条码。
条码序号 | 库存条码号数字 | 候选 |
1 | 9237199053894 | N |
2 | 9787302321866 | Y |
3 | 6901234567892 | Y |
4 | 6927033131089 | Y |
5 | 6942074242914 | N |
步骤2-7、逐一对上述步骤2-6中所获取的候选条码的模糊化波形与步骤2-4所获取的所述条码波形进行相应波形的采样点的差分绝对值累积计算,并确认差值最小的模糊化的条码波形为所要匹配的条码。
本例所述波形的差分是让拍照条码与库中的条码进行绝对值差分,然后进行求和所得的值中最小的就是本次所匹配的条码。求和结果如下表所示:
表4-1差分和结果表
条码序号 | 库存条码号数字 | 候选 | 差分绝对值累积和 |
2 | 9787302321866 | Y | 171.7341 |
3 | 6901234567892 | Y | 187.6998 |
4 | 6927033131089 | Y | 163.6659 |
从上表中可以看出条码序号4的差分绝对值和是最小的。所以该条码号6927033131089即为识别结果。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
Claims (8)
1.一种基于波形匹配的一维条码识别方法,所述方法包括离线预处理过程和在线识别过程,其特征在于,所述离线预处理过程包括如下步骤:步骤1-1、形成以数字码形式表示的全部条码库;步骤1-2、根据步骤1-1中的条码库的数字码生成条码的一维理想波形;步骤1-3、对步骤1-2的一维波形进行模糊化;步骤1-4、搜索步骤1-3的模糊化的一维波形中对应的起点-波峰-波谷-终点位置,并切取起点-终点间的波形作为有效波形区域;步骤1-5、将步骤1-4得到的有效波形区域进行灰度归一化,得到模糊化的条码波形库;步骤1-6、将步骤1-4的所有波形的起点-波峰-波谷-终点位置汇总得到粗筛选峰谷位置库;所述在线识别过程包括如下步骤:步骤2-1、获取待处理的条码单帧图像;步骤2-2、对所获取的条码单帧图像进行灰度化处理以获取对应的灰度图像;步骤2-3、提取所述灰度图像中的1/2高度位置那一行的全部像素作为一维波形,搜索条码波形的起点和终点,如果找到则切取起点-终点之间的有效波形区域则进行步骤2-4,否则确认搜索失败并结束本次识别算法;步骤2-4、根据起点和终点的像素的灰度值对步骤2-3获取的起点和终点之间的一维波形进行局部照度均衡处理、灰度归一化处理,以形成归一化待识别波形;步骤2-5、搜索步骤2-4获取的所述归一化待识别波形的波峰以及波谷;步骤2-6、获取离线预处理过程的模糊化的条码波形库中的各个模糊化的条码波形的比对数据,所述比对数据包括模糊化的条码波形的起点、终点、波峰以及波谷,所述模糊化的条码波形是通过对条码库中的条码波形进行预模糊处理获取的;步骤2-7、基于步骤2-5所获取的所述归一化待识别波形的起点、终点、波峰以及波谷,对步骤2-6中各个比对数据进行筛选,以获取与所述归一化待识别波形的起点、终点、波峰以及波谷一致的若干模糊化的条码波形,作为粗选条码;步骤2-8、逐一对步骤2-7中所获取的粗选条码的模糊条码波形与步骤2-4所获取的所述归一化待识别波形进行相应波形的采样点的绝对值差分累积计算,并确认累积值最小的模糊化的条码波形为所要匹配的条码。
2.根据权利要求1所述的一维条码识别方法,其特征在于:所述局部照度均衡处理是指对起点和终点之间的像素的灰度值的等比例变换的均衡方法。
3.根据权利要求2所述的一维条码识别方法,其特征在于:所述局部照度均衡处理是指若求得起点和终点的灰度值,则所述局部照度均衡处理的步骤为:在获得起点和终点后,获得对应的灰度值,并计算两者灰度差值,并将起点和终点之间的各个像素的灰度值按照前面的灰度差值进行等比例减少,以达到照度均衡的目的。
4.根据权利要求1所述的一维条码识别方法,其特征在于:灰度归一化方法的步骤为:将起点和终点之间的像素的灰度值归一化到[0,1]之间。
5.根据权利要求1所述的一维条码识别方法,其特征在于:离线预处理过程中以数字串形式表示全部条码库即全部的条码都表现为纯数字形式。
6.根据权利要求1所述的一维条码识别方法,其特征在于:离线预处理过程中所述模糊化处理即用低通滤波器对波形进行滤波处理。
7.根据权利要求1所述的一维条码识别方法,离线处理过程和在线处理过程中起点和终点是通过对一维波形进行均值、方差计算并比较处理获得的。
8.一种基于波形匹配的一维条码识别系统,所述系统包括离线预处理模块以及在线识别模块;其特征在于,所述离线预处理模块包括:条码库,所述条码库以数字码形式表示;条码生成单元,其能够根据所述条码库中的数字码生成条码的一维理想波形;第一处理单元,其能够对一维理想波形进行模糊化;第二处理单元,其能够搜索第一处理单元中的模糊化的一维波形中对应的起点-波峰-波谷-终点位置,并切取起点-终点间的波形作为有效波形区域;灰度化处理单元,其能够将所得到的有效波形区域进行灰度归一化,得到模糊化的条码波形库;预处理单元,其能够将所有波形的起点-波峰-波谷-终点位置汇总得到粗筛选峰谷位置库;所述在线识别模块包括:采集单元,其能够获取待处理的条码单帧图像;灰度化处理单元,其能够对所获取的条码单帧图像进行灰度化处理以获取对应的灰度图像;第一提取单元,其能够提取所述灰度图像中的1/2高度位置那一行的全部像素作为一维波形,并搜索条码的起点和终点,判断是否搜索成功,是则由第二提取单元进行处理,否则确认查找失败并结束本次识别,所述搜索成功的判断依据为搜索出条码波形的起点和终点;局部照度均衡处理单元,其能够获取条码起点和终点的灰度值,并进行起点-终点灰度均衡化处理以形成归一化待识别波形;第二提取单元,其能够获取条码波形的波峰以及波谷;筛选单元,其能够基于局部照度均衡处理单元所获取的所述归一化待识别波形的起点、终点、波峰以及波谷,对第二提取单元中各个比对数据进行筛选,以获取与所述归一化待识别波形的起点、终点、波峰以及波谷一致的若干模糊化的条码波形,作为粗选条码;匹配单元,其能够逐一对候选条码中所获取的模糊化的条码波形与第一提取单元所获取的条码波形进行相应波形的采样点的绝对值差分计算并确认差值最小的模糊化的条码波形为所要匹配的条码;所述粗筛选峰谷位置包括模糊化的条码波形的起点、终点、波峰以及波谷,所述模糊化的条码波形是通过对条码库中的条码波形进行预模糊处理获取的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910155165.9A CN109902529B (zh) | 2019-03-01 | 2019-03-01 | 一种基于波形匹配的一维条码识别方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910155165.9A CN109902529B (zh) | 2019-03-01 | 2019-03-01 | 一种基于波形匹配的一维条码识别方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109902529A CN109902529A (zh) | 2019-06-18 |
CN109902529B true CN109902529B (zh) | 2022-05-03 |
Family
ID=66945962
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910155165.9A Active CN109902529B (zh) | 2019-03-01 | 2019-03-01 | 一种基于波形匹配的一维条码识别方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109902529B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111368576B (zh) * | 2020-03-12 | 2023-04-21 | 成都信息工程大学 | 一种基于全局优化的Code128条码自动识读方法 |
CN112836530B (zh) * | 2021-01-27 | 2023-06-27 | 迅镭智能(广州)科技有限公司 | 扫描枪的检测方法、装置、设备及介质 |
CN115204341B (zh) * | 2022-09-15 | 2022-11-29 | 深圳永贵技术有限公司 | 智能化物料识别方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102194275A (zh) * | 2010-03-15 | 2011-09-21 | 党力 | 一种车票自动检票方法 |
CN102521558A (zh) * | 2011-11-18 | 2012-06-27 | 深圳市宝捷信科技有限公司 | 一种条码识别方法及装置 |
CN104732183A (zh) * | 2015-03-20 | 2015-06-24 | 杭州晟元芯片技术有限公司 | 一种基于图像采样线灰度信息分析的一维条码识别方法 |
CN205139932U (zh) * | 2015-11-30 | 2016-04-06 | 成都信息工程大学 | 一种物流货物的识别装置及物流货物的快速识别系统 |
CN108073848A (zh) * | 2016-11-07 | 2018-05-25 | 阿里巴巴集团控股有限公司 | 一种条码识别方法、设备和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI507909B (zh) * | 2014-09-23 | 2015-11-11 | Univ Nat Taipei Technology | 資料隱寫編碼系統及資料隱寫解碼系統 |
-
2019
- 2019-03-01 CN CN201910155165.9A patent/CN109902529B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102194275A (zh) * | 2010-03-15 | 2011-09-21 | 党力 | 一种车票自动检票方法 |
CN102521558A (zh) * | 2011-11-18 | 2012-06-27 | 深圳市宝捷信科技有限公司 | 一种条码识别方法及装置 |
CN104732183A (zh) * | 2015-03-20 | 2015-06-24 | 杭州晟元芯片技术有限公司 | 一种基于图像采样线灰度信息分析的一维条码识别方法 |
CN205139932U (zh) * | 2015-11-30 | 2016-04-06 | 成都信息工程大学 | 一种物流货物的识别装置及物流货物的快速识别系统 |
CN108073848A (zh) * | 2016-11-07 | 2018-05-25 | 阿里巴巴集团控股有限公司 | 一种条码识别方法、设备和装置 |
Non-Patent Citations (2)
Title |
---|
Research on information recognition method of image for PDF417 two-dimension bar code;Zhang Peng;《Proceedings of the World Congress on Intelligent Control and Automation》;20081230;全文 * |
条码识别技术;姬飞飞;《哈尔滨工程大学》;20121230;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109902529A (zh) | 2019-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109902529B (zh) | 一种基于波形匹配的一维条码识别方法及系统 | |
EP2645305A2 (en) | A system and method for processing image for identifying alphanumeric characters present in a series | |
CN108280829A (zh) | 焊缝图像识别方法、计算机装置及计算机可读存储介质 | |
EP2605186B1 (en) | Method and apparatus for recognizing a character based on a photographed image | |
Singh et al. | Adaptive binarization of severely degraded and non-uniformly illuminated documents | |
CN109214229B (zh) | 一种条码扫描方法、装置及电子设备 | |
CN113012059A (zh) | 一种文字图像的阴影消除方法、装置及电子设备 | |
CN107977648B (zh) | 一种基于人脸识别的身份证清晰度的判别方法和系统 | |
CN109508571B (zh) | 一种条空定位方法、装置、电子设备及存储介质 | |
He et al. | A new automatic extraction method of container identity codes | |
JP2903923B2 (ja) | 車番認識装置 | |
CN113012068A (zh) | 图像去噪方法、装置、电子设备及计算机可读存储介质 | |
US20140086473A1 (en) | Image processing device, an image processing method and a program to be used to implement the image processing | |
Bodnár et al. | A novel method for barcode localization in image domain | |
CN112926695A (zh) | 基于模板匹配的图像识别方法和系统 | |
Gaceb et al. | Adaptative smart-binarization method: For images of business documents | |
Das | A statistical tool based binarization method for document images | |
JP3906221B2 (ja) | 画像処理方法及び画像処理装置 | |
CN116229098A (zh) | 一种基于掩模轮廓跟踪的图像识别方法及相关产品 | |
Lin et al. | Multi-symbology and multiple 1d/2d barcodes extraction framework | |
CN111986176B (zh) | 一种裂纹图像识别方法、系统、终端及可读存储介质 | |
CN111753842B (zh) | 票据文本区域检测方法及装置 | |
CN109389000B (zh) | 一种条形码识别方法及应用该方法的计算机 | |
CN112435186A (zh) | 一种基于双规则矩阵方向场的指纹图像增强方法 | |
CN111241862A (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 |