实现灰度图像分区二值化的方法和数据处理设备的制作方法

文档序号:6586873阅读:199来源:国知局
专利名称:实现灰度图像分区二值化的方法和数据处理设备的制作方法
技术领域
本发明涉及一种处理灰度图像的方法和设备,特别是涉及一种实现灰度图像分区二值化的方法和数据处理设备。

背景技术
在机器视觉和影像量测中,人们在图像分割、图像及图像中量测物边线的处理和识别过程中通常需对目标图像进行二值化处理,目标图像的二值化处理效果直接影响到后续量测和分析工作。
目前,一般的图像二值化处理方法是为目标图像找一个全局阀值,然后,将目标图像中灰度值大于或等于全局阀值的像素点转换成白色,将目标图像中灰度值小于全局阀值的像素点转换成黑色。然而,在目标图像的亮度、背景颜色及/或前景颜色不均匀时,对目标图像使用一个全局阀值进行二值化的效果很差。


发明内容
鉴于以上内容,有必要提供一种实现灰度图像分区二值化的方法,以提高灰度图像的二值化效果。
此外,还有必要提供一种实现灰度图像分区二值化的数据处理设备,以提高灰度图像的二值化效果。
一种实现灰度图像分区二值化的方法,适用于能运行图像处理软件系统的数据处理设备。该方法包括步骤(a)通过该图像处理软件系统接收需二值化的灰度图像,及根据接收的灰度图像在长度方向像素点个数及宽度方向像素点个数,建立该灰度图像的二值化数组;(b)通过该图像处理软件系统设置该灰度图像的二值化分区范围,并根据设置的二值化分区范围确定能进行二值化阀值计算的像素点范围;(c)该图像处理软件系统根据设置的二值化分区范围确定初始像素点,计算该初始像素点对应的二值化阀值,并将计算的该初始像素点对应的二值化阀值存入建立的二值化数组对应位置;(d)该图像处理软件系统利用相邻像素点的周围像素大部分相同的原理,以该初始像素点为初始参照点逐一计算出在确定的像素点范围内各个相邻像素点对应的二值化阀值,并将计算的各个二值化阀值存入建立的二值化数组对应位置;(e)该图像处理软件系统为每一个超出确定的像素点范围的像素点,分配相邻的在确定的像素点范围内的像素点对应的二值化阀值,并将分配的各个二值化阀值存入建立的二值化数组对应位置;(f)该图像处理软件系统根据建立的二值化数组中该灰度图像的各个像素点对应的二值化阀值,对该灰度图像进行二值化。
一种实现灰度图像分区二值化的数据处理设备,该数据处理设备包括存储器及处理器。该存储器用于存储图像处理软件系统。该处理器用于运行存储的图像处理软件系统,以执行以下步骤(i1)通过该图像处理软件系统接收需二值化的灰度图像,及根据接收的灰度图像在长度方向像素点个数及宽度方向像素点个数,建立该灰度图像的二值化数组;(i2)通过该图像处理软件系统设置该灰度图像的二值化分区范围,并根据设置的二值化分区范围确定能进行二值化阀值计算的像素点范围;(i3)该图像处理软件系统根据设置的二值化分区范围确定初始像素点,计算该初始像素点对应的二值化阀值,并将计算的该初始像素点对应的二值化阀值存入建立的二值化数组对应位置;(i4)该图像处理软件系统利用相邻像素点的周围像素大部分相同的原理,以该初始像素点为初始参照点逐一计算出在确定的像素点范围内各个相邻像素点对应的二值化阀值,并将计算的各个二值化阀值存入建立的二值化数组对应位置;(i5)该图像处理软件系统为每一个超出确定的像素点范围的像素点,分配相邻的在确定的像素点范围内的像素点对应的二值化阀值,并将分配的各个二值化阀值存入建立的二值化数组对应位置;(i6)该图像处理软件系统根据建立的二值化数组中该灰度图像的各个像素点对应的二值化阀值,对该灰度图像进行二值化。
相较现有技术,本发明通过对灰度图像的进行分区,将每一个分区作为单独的灰度图象进行二值化计算,进而得到灰度图像每一个像素点对应的二值化阀值,使得灰度图像二值化结果更准确,同时采用了相邻像素点的周围像素大部分相同的原理,使得每一个像素点对应的二值化阀值计算量减少。



图1是本发明实现灰度图像分区二值化的方法较佳实施例的具体实施流程图。
图2是本发明图1中步骤S13的细化流程图。
图3是本发明对灰度图像分区后的局部示意图。

具体实施例方式 如图1所示,是本发明实现灰度图像分区二值化的方法较佳实施例的具体实施流程图。该方法适用于数据处理设备,例如计算机、服务器等。所述数据处理设备包括存储器及处理器。该存储器用于存储能实现该方法的图像处理软件系统。该处理器用于运行存储的图像处理软件系统以实现该方法。
以下是描述如何实现该方法的内容。
步骤S10,通过该图像处理软件系统接收需二值化的灰度图像,及根据接收的灰度图像在长度方向像素点个数W及宽度方向像素点个数H,建立该灰度图像的W×H二值化数组T。其中,该灰度图像每一个像素点在数组T中对应一个二值化阀值位。该灰度图像的像素点记为P(i,j),即长度方向第i个且宽度方向第j个像素点,例如,如图3所示,P(3,2)代表长度方向第3个且宽度方向第2个像素点。
步骤S11,通过该图像处理软件系统设置该灰度图像的二值化分区范围R,并根据设置的二值化分区范围R确定能进行二值化阀值计算的像素点范围。例如,若设置的二值化分区范围R=3,则该灰度图像的每一个像素点的二值化阀值是以3×3的像素点矩阵为基础来计算的,该灰度图像的二值化阀值计算的像素点范围排除不能以自身为中心构成3×3的像素点矩阵的像素点,如图3所示,P(1,2)点不能以自身为中心构成3×3的像素点矩阵,因此,P(1,2)点超出了确定的像素点范围,P(3,3)点的二值化阀值是以P(3,3)点为中心的3×3矩阵为基础来计算的,P(4,3)点的二值化阀值是以P(4,3)点为中心的3×3矩阵为基础来计算的。
步骤S12,该图像处理软件系统根据设置的二值化分区范围R确定初始像素点,计算该初始像素点对应的二值化阀值,并将计算的该初始像素点对应的二值化阀值存入数组T对应位置。在本实施例中,初始像素点确定的原则是该灰度图像最左上角的属于确定的像素点范围的像素点,如图3所示,若设置的二值化分区范围R=3,则P(2,2)点即是确定的初始像素点。
以下对以R×R像素点矩阵为基础来计算灰度值为a的像素点对应的二值化阀值的方法进行举例性说明 在本实施例中,令N=R×R,A=256(即灰度范围为0~255),则灰度值为a的像素点在R×R像素点矩阵中的概率为p(a)=na/N,na代表灰度值为a的像素点在R×R像素点矩阵中出现的次数,且

然后,令C1内像素点个数占比率为

C2内像素点个数占比率为

其中,C1为灰度图像中灰度小于或等于M的像素点,C2为灰度图像中灰度大于M的像素点,则C1的期望值

C2的期望值

C1的变异数为

C2的变异数为

进而C1和C2的变异数和为δW2=W1×δ12+W2×δ22。最后,令M逐一在0至A-1(即255)范围取值,在求得的δW2中找出最小值,该找出的最小值对应的M值即是灰度值为a的像素点对应的最佳二值化阀值。
步骤S13,该图像处理软件系统利用相邻像素点的周围像素大部分相同的原理,以该初始像素点为初始参照点逐一计算出在确定的像素点范围内各个相邻像素点对应的二值化阀值,并将计算的各个二值化阀值存入数组T对应位置。具体说来,首先,该图像处理软件系统利用相邻像素点的周围像素大部分相同的原理,迅速计算出以与该初始像素点相邻的像素点b为中心的R×R像素点矩阵中的各像素点概率,进而,按照上述方法计算该相邻像素点对应的二值化阀值;接着,该图像处理软件系统以同样的方式迅速计算出与该相邻像素点相邻的像素点对应的二值化阀值,直到所有像素点对应的二值化阀值都已计算出来。在本实施例中,该图像处理软件系统采用之字形顺序逐一计算出在确定的像素点范围内各个相邻像素点对应的二值化阀值,具体计算方式参阅下述对图2的描述。
步骤S15,该图像处理软件系统为每一个超出确定的像素点范围的像素点,分配相邻的在确定的像素点范围内的像素点对应的二值化阀值,并将分配的各个二值化阀值存入数组T对应位置。例如,如图3所示,P(2,2)点是P(1,2)相邻的且在确定的像素点范围内的像素点,因此,该图像处理软件系统为P(1,2)分配P(2,2)点对应的二值化阀值。
步骤S16,该图像处理软件系统根据数组T中该灰度图像的各个像素点对应的二值化阀值,对该灰度图像进行二值化。
如图2所示,是本发明图1中步骤S13的细化流程图。
假设根据二值化分区范围R确定的初始像素点为P(i,j)点。
步骤S130,在完成对P(i,j)点的二值化阀值计算时,该图像处理软件系统利用相邻像素点的周围像素大部分相同的原理,迅速计算出以与P(i,j)点右邻的像素点P(i+1,j)为中心的R×R像素点矩阵中的各像素点概率,按照上述方法计算出P(i+1,j)点对应的二值化阀值,将计算出的P(i+1,j)点对应的二值化阀值存入数组T对应位置,并设置i=i+1。
步骤S131,该图像处理软件系统判断与当前P(i,j)点右邻的像素点P(i+1,j)是否超出确定的像素点范围。
在P(i+1,j)点未超出确定的像素点范围时,转入执行上述步骤S130;或者在P(i+1,j)点超出确定的像素点范围时,转入执行下述步骤S132。
步骤S132,该图像处理软件系统判断与当前P(i,j)点下邻的像素点P(i,j+1)是否超出确定的像素点范围。
在P(i,j+1)点未超出确定的像素点范围时,转入执行下述步骤S133;或者,在P(i,j+1)点超出确定的像素点范围时,细化流程结束。
步骤S133,该图像处理软件系统利用相邻像素点的周围像素大部分相同的原理,迅速计算出以与当前P(i,j)点下邻的像素点P(i,j+1)为中心的R×R像素点矩阵中的各像素点概率,按照上述方法计算出P(i,j+1)点对应的二值化阀值,将计算出的P(i,j+1)点对应的二值化阀值存入数组T对应位置,并设置j=j+1。
步骤S135,该图像处理软件系统利用相邻像素点的周围像素大部分相同的原理,迅速计算出以与当前P(i,j)点左邻的像素点P(i-1,j)为中心的R×R像素点矩阵中的各像素点概率,按照上述方法计算出P(i-1,j)点对应的二值化阀值,将计算出的P(i-1,j)点对应的二值化阀值存入数组T对应位置,并设置i=i-1。
步骤S136,该图像处理软件系统判断与当前P(i,j)点左邻的像素点P(i-1,j)是否超出确定的像素点范围。
在P(i-1,j)点未超出确定的像素点范围时,转入执行上述步骤S135;或者在P(i-1,j)点超出确定的像素点范围时,转入执行下述步骤S137。
步骤S137,该图像处理软件系统判断与当前P(i,j)点下邻的像素点P(i,j+1)是否超出确定的像素点范围。
在P(i,j+1)点未超出确定的像素点范围时,转入执行下述步骤S138;或者,在P(i,j+1)点超出确定的像素点范围时,细化流程结束。
步骤S138,该图像处理软件系统利用相邻像素点的周围像素大部分相同的原理,迅速计算出以与当前P(i,j)点下邻的像素点P(i,j+1)为中心的R×R像素点矩阵中的各像素点概率,按照上述方法计算出P(i,j+1)点对应的二值化阀值,将计算出的P(i,j+1)点对应的二值化阀值存入数组T对应位置,并设置j=j+1,随后转入执行上述步骤S130。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
权利要求
1.一种实现灰度图像分区二值化的方法,适用于能运行图像处理软件系统的数据处理设备,其特征在于,该方法包括步骤
(a)接收需二值化的灰度图像,及根据接收的灰度图像在长度方向像素点个数及宽度方向像素点个数,建立该灰度图像的二值化数组;
(b)设置该灰度图像的二值化分区范围,并根据设置的二值化分区范围确定能进行二值化阀值计算的像素点范围;
(c)根据设置的二值化分区范围确定初始像素点,计算该初始像素点对应的二值化阀值,并将计算的该初始像素点对应的二值化阀值存入建立的二值化数组对应位置;
(d)利用相邻像素点的周围像素大部分相同的原理,以该初始像素点为初始参照点逐一计算出在确定的像素点范围内各个相邻像素点对应的二值化阀值,并将计算的各个二值化阀值存入建立的二值化数组对应位置;
(e)为每一个超出确定的像素点范围的像素点,分配相邻的在确定的像素点范围内的像素点对应的二值化阀值,并将分配的各个二值化阀值存入建立的二值化数组对应位置;及
(f)根据建立的二值化数组中该灰度图像的各个像素点对应的二值化阀值,对该灰度图像进行二值化。
2.如权利要求1所述的实现灰度图像分区二值化的方法,其特征在于,所述数据处理设备包括计算机、服务器。
3.如权利要求1或2所述的实现灰度图像分区二值化的方法,其特征在于,确定的像素点范围包括能以自身为中心构成以设置的二值化分区范围限定行列的像素点矩阵的像素点。
4.如权利要求1或2所述的实现灰度图像分区二值化的方法,其特征在于,该灰度图像每一个像素点在建立的二值化数组中对应一个二值化阀值位。
5.如权利要求1或2所述的实现灰度图像分区二值化的方法,其特征在于,上述步骤(d)包括如下步骤
(d1)利用相邻像素点的周围像素大部分相同的原理,在确定的像素点范围内以该初始像素点为初始参照点,逐一向右计算出各个像素点对应的二值化阀值直到超出确定的像素点范围,并将最后计算的像素点作为当前像素点;
(d2)利用相邻像素点的周围像素大部分相同的原理,在与当前像素点下邻的像素点未超出确定的像素点范围时,计算出该下邻的像素点对应的二值化阀值,并设置该下邻的像素点为当前像素点;
(d3)利用相邻像素点的周围像素大部分相同的原理,在确定的像素点范围内以当前像素点为参照点,逐一向左计算出各个像素点对应的二值化阀值直到超出确定的像素点范围,并将最后计算的像素点作为当前像素点;
(d4)利用相邻像素点的周围像素大部分相同的原理,在与当前像素点下邻的像素点未超出确定的像素点范围时,计算出该下邻的像素点对应的二值化阀值,并设置该下邻的像素点为当前像素点;及
(d5)重复上述步骤(d1)、(d2)、(d3)及(d4),直至确定的像素点范围内的所有像素点对应的二值化阀值都计算出来。
6.一种实现灰度图像分区二值化的数据处理设备,其特征在于,该数据处理设备包括
存储器,用于存储图像处理软件系统;
处理器,用于运行存储的图像处理软件系统,以执行以下步骤
(i1)接收需二值化的灰度图像,及根据接收的灰度图像在长度方向像素点个数及宽度方向像素点个数,建立该灰度图像的二值化数组;
(i2)设置该灰度图像的二值化分区范围,并根据设置的二值化分区范围确定能进行二值化阀值计算的像素点范围;
(i3)根据设置的二值化分区范围确定初始像素点,计算该初始像素点对应的二值化阀值,并将计算的该初始像素点对应的二值化阀值存入建立的二值化数组对应位置;
(i4)利用相邻像素点的周围像素大部分相同的原理,以该初始像素点为初始参照点逐一计算出在确定的像素点范围内各个相邻像素点对应的二值化阀值,并将计算的各个二值化阀值存入建立的二值化数组对应位置;
(i5)为每一个超出确定的像素点范围的像素点,分配相邻的在确定的像素点范围内的像素点对应的二值化阀值,并将分配的各个二值化阀值存入建立的二值化数组对应位置;及
(i6)根据建立的二值化数组中该灰度图像的各个像素点对应的二值化阀值,对该灰度图像进行二值化。
7.如权利要求6所述的实现灰度图像分区二值化的数据处理设备,其特征在于,所述数据处理设备包括计算机、服务器。
8.如权利要求6或7所述的实现灰度图像分区二值化的数据处理设备,其特征在于,确定的像素点范围包括能以自身为中心构成以设置的二值化分区范围限定行列的像素点矩阵的像素点。
9.如权利要求6或7所述的实现灰度图像分区二值化的数据处理设备,其特征在于,该灰度图像每一个像素点在建立的二值化数组中对应一个二值化阀值位。
10.如权利要求6或7所述的实现灰度图像分区二值化的数据处理设备,其特征在于,上述步骤(i4)包括如下步骤
(i41)利用相邻像素点的周围像素大部分相同的原理,在确定的像素点范围内以该初始像素点为初始参照点,逐一向右计算出各个像素点对应的二值化阀值直到超出确定的像素点范围,并将最后计算的像素点作为当前像素点;
(i42)利用相邻像素点的周围像素大部分相同的原理,在与当前像素点下邻的像素点未超出确定的像素点范围时,计算出该下邻的像素点对应的二值化阀值,并设置该下邻的像素点为当前像素点;
(i43)利用相邻像素点的周围像素大部分相同的原理,在确定的像素点范围内以当前像素点为参照点,逐一向左计算出各个像素点对应的二值化阀值直到超出确定的像素点范围,并将最后计算的像素点作为当前像素点;
(i44)利用相邻像素点的周围像素大部分相同的原理,在与当前像素点下邻的像素点未超出确定的像素点范围时,计算出该下邻的像素点对应的二值化阀值,并设置该下邻的像素点为当前像素点;及
(i45)重复上述步骤(d1)、(d2)、(d3)及(d4),直至确定的像素点范围内的所有像素点对应的二值化阀值都计算出来。
全文摘要
本发明提供一种实现灰度图像分区二值化的方法,该方法通过对灰度图像的进行分区,将每一个分区作为单独的灰度图象进行二值化计算,进而得到灰度图像每一个像素点对应的二值化阀值,使得灰度图像二值化结果更准确,同时采用了相邻像素点的周围像素大部分相同的原理,使得每一个像素点对应的二值化阀值计算量减少。本发明还提供一种实现灰度图像分区二值化的数据处理设备。
文档编号G06K9/38GK101826159SQ20091030074
公开日2010年9月8日 申请日期2009年3月7日 优先权日2009年3月7日
发明者张旨光, 陈贤艺, 袁忠奎, 薛晓光, 李艳丽 申请人:鸿富锦精密工业(深圳)有限公司, 鸿海精密工业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1