基于边缘特性的条形码定位方法与流程

专利2022-06-29  61


本发明属于图像识别技术领域,具体涉及到视频图像中条形码区域的定位。



背景技术:

目前,基于图像处理进行条形码区域识别的方法主要有以下几种:

基于统计模式识别技术,该类方法的识别率较高,可在高卷积失真环境下工作,但需要大量匹配条形码模板进行匹配,对背景较为复杂或倾斜的条形码效果不理想。

基于神经网络的条形码识别方法,存在的缺点是如果在训练过程中神经元过多会导致运算时间过长,有时往往需要调整相关参数来达到较高识别率。

基于频域获取条码区域的纹理信息,如离散余弦变换,小波变换,如果原始图像的背景区域存在文字或者图案时,或条形码图像由于受到光照,对焦不准等影响导致条纹的区域不清晰时,也很难精确定位每条条纹的边缘。

基于边缘信息对条形码区域进行检测的方法有很多种,但是受原始图像背景或条码类型的影响,该类方法的鲁棒性不高。



技术实现要素:

本发明所要解决的技术问题在于克服上述现有技术的缺点,提供一种对条形码区域的识别准确率高、使用范围广的基于边缘特性的条形码定位方法。

解决上述技术问题所采用的技术方案由下述步骤组成:

(1)采集灰度图像

从图像库中任取一张图像,其尺寸为640×480,将彩色图像转为灰度图像。

(2)确定sobel边缘图像

使用sobel算子提取灰度图像边缘:

isobel=|dx| |dy|(3)

式中,igray(x,y)为灰度图像中像素点的像素值,dx是水平方向与sobel算子与灰度图进行卷积的结果,dy是垂直方向的sobel算子与灰度图进行卷积的结果,isobel为灰度图像的边缘图像。

使用最大类间差方法得到边缘图像二值化的阈值t,对图像isobel(x,y)进行如下处理:

式中,isobel(i,j)代表边缘图像中像素点的像素值。

(3)扩展边缘区域

确定isobel邻域内的像素值的均值,比较邻域内像素值与均值的大小,对图像isobel(i,j)的边缘区域进行扩展,得到像素矩阵a(u,v)。

(4)中值滤波与形态学滤波闭操作

使用中值滤波法,再使用形态学滤波法中的闭操作对像素矩阵a(u,v)进行滤波,得到图像的连通区域s′c,c为有限的正整数。

(5)滤除图像背景区域

对图像矩阵a(u,v)中的连通区域s′c的大小进行筛选,滤除图像中占像素点个数较少的连通区域。

(6)确定条形码位置

使用投影定位法对第5步得到的图像分别统计图像水平方向与垂直方向灰度值的一维投影,投影曲线波动位置为条形码的位置,根据波动的起始位置确定条形码在图像中水平与垂直的起始位置,完成条形码区域的识别。

在本发明的扩展边缘区域额步骤(3)中,对图像isobel(i,j)的边缘区域进行扩展方法如下:

对图像isobel(i,j)进行遍历,isobel(p,q)≠0,按下式得到图像中像素点邻域内的像素均值:

式中,u为p-1,p,p 1;v为q-1,1,q 1;p为2,3…639,q为2,3…749,p、q为正整数,c(p,q)表示以像素点(p,q)为中心的3×3邻域内像素点的像素均值:

在本发明的滤除图像背景区域步骤(5)中,对图像矩阵a(u,v)中的连通区域大小进行筛选方法为:对图像矩阵a(u,v)中各个连通区域的所占像素点个数进行计数,分别记为s′1,s′2,s′3…s′c,其中c表示连通区域的个数、为有限的正整数,s′c表示该连通区域内的像素点个数;在区间内按等间隔分为5份,按下式确定间隔δ以及每个间隔中心di:

δ=(s′max-s′min)/4(7)

di=s′min k·δ/2(8)

其中s′min为连通区域最小值,s′max为连通区域最大值,k为1,2,3,4;保留连通区域像素个数大于d1的区域,记为s1,s2…sm,其中m为有限正整数、且m≤c。

由于本发明采用了扩展边缘区域、滤除图像背景区域,对图像中复杂的背景进行有效的滤除,并采用发明实施例1的方法与《一种基于图像处理的一维条码快速定位技术》公开的条形码定位方法进行对比实验,实验结果表明本发明方法准确率有明显提高,其中自动对焦图像的识别率提高了6.05%,对未自动对焦图像的识别率为91.63%,本发明方法具有对条形码区域的识别准确率高、使用范围广等优点,可用于各种产品的条形码识别。

附图说明

图1是本发明实施例1的流程图。

图2是本发明实施例1的灰度图。

图3是本发明实施例1的结果图。

图4是本发明实施例1垂直方向的灰度值一维投影图。

图5是本发明实施例1水平方向的灰度值一维投影图。

具体实施方式

下面结合附图和实施例对本发明进行进一步详细说明,但本发明不限于下述的实施方式:

实施例1

在图1中,本实施例的基于边缘特性的条形码定位方法由下述步骤组成:

(1)采集灰度图像

在图像库medium1dbarcodescollection中取一张图像,尺寸为640×480,将彩色图像转为灰度图像,如图2所示。

(2)确定sobel边缘图像

使用sobel算子提取灰度图像边缘:

isobel=|dx| |dy|(3)

式中,igray(x,y)为灰度图像中像素点的像素值,dx是水平方向与sobel算子与灰度图进行卷积的结果,dy是垂直方向的sobel算子与灰度图进行卷积的结果,isobel为灰度图像的边缘图像。

使用最大类间差方法得到边缘图像二值化的阈值t,对图像isobel(x,y)进行如下处理:

式中,isobel(i,j)代表边缘图像中像素点的像素值;

(3)扩展边缘区域

确定isobel邻域内的像素值的均值,比较邻域内像素值与均值的大小,对图像isobel(i,j)的边缘区域进行扩展,得到像素矩阵a(u,v),对图像isobel(i,j)的边缘区域进行扩展方法如下:

对图像isobel(i,j)进行遍历,isobel(p,q)≠0,按下式得到图像中像素点邻域内的像素均值:

式中,u为p-1,p,p 1;v为q-1,1,q 1;p为2,3…639,q为2,3…749,p、q为正整数,c(p,q)表示以像素点(p,q)为中心的3×3邻域内像素点的像素均值:

通过上述步骤,图像a(u,v)中的线条会向周围扩展,图像中线条集中的区域形成连通区域。

(4)中值滤波与形态学滤波闭操作

使用中值滤波法,再使用形态学滤波法中的闭操作对像素矩阵a(u,v)进行滤波,得到图像的连通区域s′c,c为有限的正整数。该步骤使得步骤(3)图像a(u,v)中的连通区域进一步扩大。

(5)滤除图像背景区域

对图像矩阵a(u,v)中的连通区域s′c的大小进行筛选,滤除图像中占像素点个数较少的连通区域,对图像矩阵a(u,v)中的连通区域大小进行筛选方法如下:

对图像矩阵a(u,v)中各个连通区域的所占像素点个数进行计数,分别记为s′1,s′2,s′3…s′c,其中c表示连通区域的个数、为有限的正整数,s′c表示该连通区域内的像素点个数;在区间内按等间隔分为5份,按下式确定间隔δ以及每个间隔中心di:

δ=(s′max-s′min)/4(7)

di=s′min k·δ/2(8)

其中s′min为连通区域最小值,s′max为连通区域最大值,k为1,2,3,4;保留连通区域像素个数大于d1的区域,记为s1,s2…sm,其中m为有限正整数、且m≤c。条形码图像中由文字,背景图案等所构成的连通区域要远小于条形码所构成的连通区域,图像中的文字,背景图案所形成的干扰被滤除。

(6)确定条形码位置

使用投影定位法对第5步得到的图像分别统计图像水平方向与垂直方向灰度值的一维投影,投影曲线波动位置为条形码的位置,如图4,5所示。根据波动的起始位置确定条形码在图像中水平与垂直的起始位置,完成条形码区域的识别,如图3所示。由图3可见,从文字,图案背景干扰的图像中将条形码区域提取出来。

为了验证本发明的有益效果,发明人在图像库中选取430张图像,其中自动对焦图像215张,未自动对焦图像215张,采用本发明实施例1的方法与《一种基于图像处理的一维条码快速定位技术》公开的条形码定位方法(纪琴琴,黄鲁.中国科学院大学学报,2019,36(05):716-720),以下简称对比文件1,进行了对比实验,实验结果如表1所示。

表1条形码位置识别效果表

由表1可见,本发明方法与对比文件1的方法相比,本发明方法准确率有明显提高,其中自动对焦图像的识别率提高了6.05%,对未自动对焦图像的识别率为91.63%。


技术特征:

1.基于边缘特性的条形码定位方法,其特征在于由下述步骤组成:

(1)采集灰度图像

从图像库中任取一张图像,其尺寸为640×480,将彩色图像转为灰度图像;

(2)确定sobel边缘图像

使用sobel算子提取灰度图像边缘:

isobel=|dx| |dy|(3)

式中,igray(x,y)为灰度图像中像素点的像素值,dx是水平方向与sobel算子与灰度图进行卷积的结果,dy是垂直方向的sobel算子与灰度图进行卷积的结果,isobel为灰度图像的边缘图像;

使用最大类间差方法得到边缘图像二值化的阈值t,对图像isobel(x,y)进行如下处理:

式中,isobel(i,j)代表边缘图像中像素点的像素值;

(3)扩展边缘区域

确定isobel邻域内的像素值的均值,比较邻域内像素值与均值的大小,对图像isobel(i,j)的边缘区域进行扩展,得到像素矩阵a(u,v);

(4)中值滤波与形态学滤波闭操作

使用中值滤波法,再使用形态学滤波法中的闭操作对像素矩阵a(u,v)进行滤波,得到图像的连通区域s′c,c为有限的正整数;

(5)滤除图像背景区域

对图像矩阵a(u,v)中的连通区域s′c的大小进行筛选,滤除图像中占像素点个数较少的连通区域;

(6)确定条形码位置

使用投影定位法对第5步得到的图像分别统计图像水平方向与垂直方向灰度值的一维投影,投影曲线波动位置为条形码的位置,根据波动的起始位置确定条形码在图像中水平与垂直的起始位置,完成条形码区域的识别。

2.根据权利要求1所述的基于边缘特性的条形码定位方法,其特征在于在扩展边缘区域额步骤(3)中,对图像isobel(i,j)的边缘区域进行扩展方法如下:

对图像isobel(i,j)进行遍历,isobel(p,q)≠0,按下式得到图像中像素点邻域内的像素均值:

式中,u为p-1,p,p 1;v为q-1,1,q 1;p为2,3…639,q为2,3…749,p、q为正整数,c(p,q)表示以像素点(p,q)为中心的3×3邻域内像素点的像素均值:

3.根据权利要求1所述的基于边缘特性的条形码定位方法,其特征在于在滤除图像背景区域步骤(5)中,对图像矩阵a(u,v)中的连通区域大小进行筛选方法为:对图像矩阵a(u,v)中各个连通区域的所占像素点个数进行计数,分别记为s′1,s′2,s′3…s′c,其中c表示连通区域的个数、为有限的正整数,s′c表示该连通区域内的像素点个数;在区间内按等间隔分为5份,按下式确定间隔δ以及每个间隔中心di:

δ=(s′max-s′min)/4(7)

di=s′min k·δ/2(8)

其中s′min为连通区域最小值,s′max为连通区域最大值,k为1,2,3,4;保留连通区域像素个数大于d1的区域,记为s1,s2…sm,其中m为有限正整数、且m≤c。

技术总结
一种基于边缘特性的条形码定位方法,由采集灰度图像、确定Sobel边缘图像、扩展边缘区域、中值滤波与形态学滤波闭操作、滤除图像背景区域、确定条形码位置组成。本发明采用条形码边缘特性将采集到的条形码图像中的文字,图案背景等干扰进行滤除,对条形码区域进行提取。本发明具有对条形码区域的识别准确率高、使用范围广等优点,可用于各种产品的条形码识别。

技术研发人员:艾达;马宇豪
受保护的技术使用者:西安邮电大学
技术研发日:2020.01.21
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-54649.html

最新回复(0)