二维条形码数字图像信息的增强方法

文档序号:6360545阅读:275来源:国知局
专利名称:二维条形码数字图像信息的增强方法
技术领域
本发明涉及二维数字图像信息的增强方法,特别涉及一种通过插值增强处理来提高二维条形码数字图像分辨率的方法。
背景技术
计算机具有出色的计算能力和存储容量,但是相比之下,数据输入能力却无法与之相匹配,这限制了计算机处理能力的提高。为此,人们发明了条形码,一种为便于机器识读而专门设计的图形符号系统。
为了提高条形码的信息容量,开始时几条一维条形码被堆栈在一起组成堆栈码。为了进一步提高信息存储容量,必须提高信息存储密度,由此诞生了一种在原理和结构上与一维条形码和堆栈码完全不同的二维条形码。由于类似二维条形码之类的二维数字图像具有很高的信息容量和信息密度,因此对于图像处理系统也提出了更高的要求。图1示出了对二维条形码进行识读的图像处理系统。如图1所示,系统包括图像摄入装置1、图像转换装置2、图像存储器3、图像处理装置4和译码装置5。首先,图像摄入装置1将二维条形码图像转换为电模拟信号,然后图像转换装置2将电模拟信号转换成数字信号,并由图像存储器3存储数字信号形式的二维条形码数字化图像。图像处理装置4从数字化图像中提取出能进行二维条形码译码的有效信息,并由译码装置5对这些译码的有效信息进行译码和输出编译在二维条形码中的文字及图形(如相片、指纹等)信息。
为了满足高容量和密度的数字图像的识读要求,目前基本上有两种方法,以下作进一步的描述。
一种解决方法是提高图像摄入装置中光电传感器的分辩率并扩大摄入图像的尺寸。但是光电传感器的分辨率受工艺水平的限制,提高已经非常困难,而且系统成本也随分辨率的提高而大幅度上升。
另一种解决方法是在图像处理装置中对数字图像进行增强处理。具体方式为,采用链码(chain code)对一维条形码进行扫描,然后沿着链码扫描轨迹,对一维条形码的条码和空白(space)进行插值处理从而提高一维条形码信息的分辨率。但是这种方法仅限于沿一个方向上作图像增强处理,因此只适用于一维条形码之类的数字图像,对于二维条形码之类的数字图像信息的增强则无法应用。

发明内容
本发明的目的是提供一种二维条形码数字图像信息的增强方法,其可以沿水平和垂直二个方向对二维条形码数字图像信息同时进行增强处理。
本发明的目的通过以下技术方案实现一种二维条形码数字图像信息的增强方法,所述数字图像由n行×m列的原始像素矩阵组成,每个原始像素具有一定的属性取值,包含以下步骤(1)沿所述n行×m列像素矩阵的水平方向,在两个相邻的原始像素之间插入k个空白像素以构成(k(n-1)+n)行×m列的像素矩阵;(2)沿所述(k(n-1)+n)行×m列的像素矩阵的垂直方向,在两个相邻像素之间插入k′个空白像素以构成(k(n-1)+n)行×(k′(m-1)+m)列的像素矩阵;以及(3)在所述(k(n-1)+n)行×(k′(m-1)+m)列像素矩阵中,对于沿水平方向或垂直方向插入在两个相邻原始像素之间的空白像素,其属性取值根据这两个原始像素的属性取值作插值计算得到,对于其它的空白像素,其属性取值根据与其最邻近的4个原始像素的属性取值作插值计算得到。
比较好的是,在上述二维条形码数字图像信息的增强方法中,每个像素的属性取值为其灰度值。或者,每个像素的属性取值为其三基色的强度值。或者,每个像素的属性取值为其荧光发光属性。
比较好的是,在上述二维条形码数字图像信息的增强方法中,所述插值计算按照线性插值算法施行。
上述方法的优点是通过将原始数字图像扩大数倍并且利用插值算法确定空白像素的属性取值,可以对低分辩率和小图像尺寸图像摄入装置获取的高信息容量和密度的二维条形码图像进行识读,降低了产品成本,提高了二维条形码的识读正确率。该方法不仅可用于二维条形码识读器,而且可以推广至一维条形码的识读器及其它目的、用途的二维数字图像处理系统。


通过以下结合附图对本发明较佳实施例的描述,可以进一步理解本发明的目的、特征和优点,其中图1示出了对二维条形码进行识读的图像处理系统。
图2a和2b分别为二维条形码的原始数字图像和映射数字图像的示意图。
具体实施例方式
增强处理前的二维条形码数字图像信息实际上可以视为由若干像素以矩阵形式排列组成的点阵,每个像素都位于其中一个矩阵点上并且具有一定的属性取值,这里的属性取值可以是该像素的灰度值、三基色的强度值或者荧光发光属性等光学属性。
本发明方法的核心思想是,为了提高分辨率,首先是将原始数字图像(即上述增强处理前的二维条形码数字图像,以下将该数字图像内的像素称为原始像素)沿水平方向和垂直方向放大,具体而言,以n行×m列的像素矩阵为例,操作方式为沿矩阵的水平方向,在两个相邻原始像素之间插入k个空白像素以构成(k(n-1)+n)行×m列的像素矩阵,并且沿该(k(n-1)+n)行×m列的像素矩阵的垂直方向,在两个相邻像素之间插入k′个空白像素以构成(k(n-1)+n)行×(k′(m-1)+m)列的映射像素矩阵。然后,根据原始像素的属性取值对空白像素的属性取值进行插值计算,具体而言,在放大后的(k(n-1)+n)行×(k′(m-1)+m)列映射像素矩阵中,对于沿水平方向或垂直方向插入在两个相邻原始像素之间的空白像素,可根据这两个原始像素的属性取值进行插值计算得到,对于其它的空白像素,可根据与其最邻近的4个原始像素的属性取值作插值计算得到。在上述插值计算中,假设每个空白像素的属性取值都与邻近原始像素的属性取值相关,因此每个空白像素的属性取值是其邻近原始像素属性取值与相应的相关程度乘积的总和,即P′=Σi=1NPi×ηi/N----(1)]]>这里P′为某一空白像素的属性取值,Pi为该空白像素的邻近原始像素的属性取值,N为该空白像素邻近的原始像素的个数,ηi为邻近原始像素与该空白像素的相关程度。每对邻近像素与空白像素属性取值的相关程度ηi与它们之间的空间距离有关,当这种相关程度与距离呈线性关系时,即称为线性插值,如果呈非线性关系时,即称为非线性插值。容易理解的是,当像素是一个由多个点构成的区域时,像素之间的空间距离即为多点区域内特定位置点之间的距离。
以下描述按照本发明增强处理方法的一个较佳实施例。假设处理前的二维条形码数字图像信息由n行×m列的像素矩阵组成,其属性取值为像素的灰度值,并且为简单起见,沿水平方向在两个相邻的原始像素之间仅插入一个空白像素,并沿垂直方向在两个相邻的像素之间仅插入一个空白像素。
首先是原始像素矩阵的放大映射或插入处理步骤。为此,应将二维条形码原始数字图像区域映射至另一个大于该原始数字图像区域的映射区域,即由(2n-1)行×(2m-1)列的像素矩阵组成的数字图像区域。
如图2a所示,在原始数字图像区域中,每个像素可用数组(i,j)表示其位置,用Pi,j表示该像素的灰度值,其中i为水平坐标,代表该像素在水平方向上的序号(假设从左到右),并且(n-1)≥i≥0,j为垂直坐标,代表该像素在垂直方向上的序号(假设从上到下),并且(m-1)≥j≥0。
如图2b所示,在映射数字图像区域中,每个像素用数组(i’,j’)表示其位置,用P′i’,j’表示该像素的灰度值,其中i’为水平坐标,代表该像素在水平方向上的序号(假设从左到右),并且(2n-2)≥i’≥1,j’为垂直坐标,代表该像素在垂直方向上的序号(假设从上到下),并且(2m-2)≥j’≥1。
对于原始像素,其在映射数字图像区域内的坐标与在原始数字图像区域内的坐标满足下列关系i’=2i(2a)j’=2j(2b)因此q始像素灰度值在两个数字图像区域之间的映射关系为P′i’,j’=P2i,2j(3)
然后是对映射数字图像区域内的空白像素进行插值处理。如图2b所示,在映射数字图像区域内,每个原始像素点对应三个与其相邻的空白像素点,分别位于其近邻着的右方、下方和右下方。以坐标为(i’,j’)的原始像素点为例,其三个相邻的对应空白像素点的坐标分别为(i’+1,j’)、(i’,j+1’)和(i’+1,j’+1)。根据上述插值计算方式,对于位于右方和下方的空白像素,由于其分别处于两个相邻的原始像素(i’,j’)与(i’+2,j’)之间和(i’,j’)与(i’,j’+2),所以可根据相邻的两个原始像素的灰度值和原始像素与空白像素之间的相关程度进行插值计算得到灰度值。对于位于右下方的空白像素,其4个原始像素(i’,j’)、(i’+2,j’)、(i’,j’+2)与(i’+2,j’+2)最邻近,因此可根据相邻的4个原始像素的灰度值和原始像素与空白像素之间的相关程度进行插值计算得到灰度值。
最为常用的插值算法是线性插值处理算法,该算法假设原始像素与空白像素之间相关程度与他们之间的空间距离呈线性关系。如果在本实施例中采用线性插值算法,则3个空白像素的灰度值可以下式表示P′i’+1,j,=(P′i’,j’+P′i’+2,j’)/2 (4a)P′i’,j’+1=(P′i’,j’+P′i’,j’+2)/2 (4b)P′i’+1,j’+1=(P′i’,j’+P′i,+2,j’+P′i’,j’+2+P′i,+2,j’+2)/4 (4c)对于映射数字图像区域内的所有空白像素点,都可以利用上式,根据邻近的原始像素的灰度值插值计算得到相应的灰度值,由此得到分辨率得到增强的映射数字图像区域。
值得指出的是,在本实施例中采用的是线性插值算法,但是这并不意味着本发明不能采用其它非线性算法,实际上采用何种插值增强处理算法取决于具体的应用环境而与本发明的核心思想无关。此外,在本实施例中,虽然沿水平方向和沿垂直方向在两个相邻的像素之间插入的是一个空白像素,但是这仅是为理解和叙述方便起见而作的假定,实际上,本领域内的普通技术人员在阅读说明书上述描述部分之后,很容易将本发明的原理推广至在相邻像素之间插入多个空白像素并且两个方向上插入空白像素个数也不同的情形。
权利要求
1.一种二维条形码数字图像信息的增强方法,所述数字图像由n行×m列的原始像素矩阵组成,每个原始像素具有一定的属性取值,其特征在于,包含以下步骤(1)沿所述n行×m列像素矩阵的水平方向,在两个相邻的原始像素之间插入k个空白像素以构成(k(n-1)+n)行×m列的像素矩阵;(2)沿所述(k(n-1)+n)行×m列的像素矩阵的垂直方向,在两个相邻像素之间插入k′个空白像素以构成(k(n-1)+n)行×(k′(m-1)+m)列的像素矩阵;以及(3)在所述(k(n-1)+n)行×(k′(m-1)+m)列像素矩阵中,对于沿水平方向或垂直方向插入在两个相邻原始像素之间的空白像素,其属性取值根据这两个原始像素的属性取值作插值计算得到,对于其它的空白像素,其属性取值根据与其最邻近的4个原始像素的属性取值作插值计算得到。
2.如权利要求1所述的二维条形码数字图像信息的增强方法,其特征在于,每个像素的属性取值为其灰度值。
3.如权利要求1所述的二维条形码数字图像信息的增强方法,其特征在于,每个像素的属性取值为其三基色的强度值。
4.如权利要求1所述的二维条形码数字图像信息的增强方法,其特征在于,每个像素的属性取值为其荧光发光属性。
5.如权利要求1~4中任意一项所述的二维条形码数字图像信息的增强方法,其特征在于,所述插值计算按照线性插值算法施行。
全文摘要
一种可沿水平和垂直二个方向对二维条形码数字图像同时作增强处理的方法。在该方法中,数字图像由n行×m列的原始像素矩阵组成,包含以下步骤(1)沿所述n行×m列像素矩阵的水平方向,在两个相邻的原始像素之间插入k个空白像素以构成(k(n-1)+n)行×m列的像素矩阵;(2)沿所述(k(n-1)+n)行×m列的像素矩阵的垂直方向,在两个相邻像素之间插入k′个空白像素以构成(k(n-1)+n)行×(k′(m-1)+m)列的像素矩阵;(3)对于沿水平方向或垂直方向插入在两个相邻原始像素之间的空白像素,其属性取值根据这两个原始像素的属性取值作插值计算得到,对于其它的空白像素,其属性取值根据与其最邻近的4个原始像素的属性取值作插值计算得到。
文档编号G06K7/14GK1472704SQ0312957
公开日2004年2月4日 申请日期2003年6月27日 优先权日2003年6月27日
发明者边隆祥 申请人:上海龙贝信息科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1