专利名称:基于累积边缘点可视灰度范围直方图的图像二值化方法
技术领域:
本发明涉及一种图像二值化方法。特别是涉及一种基于累积边缘点可视灰度范围直方图的图像二值化方法。
背景技术:
随着高速计算机和大规模集成电路的发展,数字图像处理技术取得了一系列可喜的突破和进展,其成果被广泛应用于生物医学工程、工业制造、空间探索、公共安全、文化艺术等众多领域。然而,数字图像处理技术本身依然存在的许多问题,阻碍了它的进一步发展和推广。其中,大数据量问题就是目前图像处理技术面临的一个主要难题。由于图像是通过像素阵列形式来记录场景信息,且每一个像素的量化精度一般达256级(8位灰度图像) 或16777216级(M位彩色图像),数据量大是显而易见,庞大的数据量给存储、传输和处理都带来巨大困难。如果能将每一个像素的量化精度减小至2级,即将图像变换为二值图像, 将极大地减小图像的数据量,使之更有利于后续的存储、传输等处理。近几十年来,科研人员对二值化问题进行了大量研究,并提出了多种有益的解决方案,这些算法大致可以分为以下两类全局阈值方法和局部自适应阈值方法。全局阈值方法首先依据某一优化规则确定一个全局阈值,然后利用该阈值对整幅图像的各像素进行二值化处理,通常将大于该阈值的置为1,小于等于该阈值的置为0,其中较为典型算法的有Otsu方法(最大类间方差法),双峰法,迭代法等。局部自适应阈值方法与全局阈值方法的主要区别是每一个像素位置的阈值仅与局部邻近区域像素信息有关,通常图像的局部信息存在一定的差异,因此各像素位置的阈值也不同,其中代表性的算法有Niblack方法和 Bernsen节法等。但时至今日图像的二值化仍未有一种完美的解决方法。以Otsu算法为例,由于其优化规则仅依赖图像的直方图信息,即选取类间方差最大的灰度作为全局阈值,因此该算法处理速度很快,目前被广泛使用,但该算法也存在明显的不足,由于图像的灰度直方图完全丢失了灰度级的位置信息仅是灰度级的数量统计结果,因此最大类间方差准则并不能保证很好的区分前景和背景,甚至有可能造成大量细节信息的丢失。此外,对于背景或光照条件复杂的图像现有的全局单阈值方法都仅能保留主要背景的细节信息而损失次要背景的细节信息。总而言之,全局阈值方法在图像细节信息保留方面存在明显缺陷。局部自适应阈值算法可较好地克服上述问题,以Niblack算法为例,该方法逐点计算各像素局部邻域的平均灰度值和方差来确定各像素位置的阈值,适用于背景或光照条件复杂的图像,但该算法计算复杂度大,耗时长且噪声问题明显。需要强调一点,这些问题在其他自适应算法中也普遍存在。
发明内容
本发明所要解决的技术问题是,提供一种计算复杂度小、噪声抑制能力强且能保留大量图像重要细节信息的基于累积边缘点可视灰度范围直方图的图像二值化方法。
本发明所采用的技术方案是一种基于累积边缘点可视灰度范围直方图的图像二值化方法,是基于累积边缘点可视灰度范围直方图的全局阈值图像二值化方法,包括如下步骤1)采用Carmy边缘检测算子对输入的灰度图像进行边缘检测;2)将所有灰度级的统计值初始化赋0 ;3)采用逐行扫描方式寻找边缘点,测算边缘点8邻域及边缘点位置共9个点的灰度变化范围,将该范围内所有灰度级的统计权重增量赋1,对其他的边缘点也做相同的操作,得到累积边缘点可视灰度范围直方图;4)将累积边缘点可视灰度范围直方图的峰值所对应的灰度级作为图像二值化的最优阈值;5)将原始灰度图像中大于最优阈值的灰度级置为1,小于或等于该阈值的灰度级置为0,得到二值化图像。步骤1中选取Carmy边缘强度阈值范围为0. 05 0. 15,默认Carmy边缘强度阈值为 0. 08。步骤4中若峰值不唯一,则取各个峰值对应灰度级的平均值作为最优阈值。一种基于所述的全局阈值图像二值化方法的局部自适应阈值图像二值化方法,包括如下步骤1)读取原始图像;2)将输入图像划分为nXm个等大的子区域;3)采用Carmy边缘检测算子对划分后图像进行边缘检测;4)采用基于累积边缘点可视灰度范围直方图的全局阈值图像二值化方法获得全局最优二值化阈值,并分别测算各子区域范围内的累积边缘点可视灰度范围直方图;5)将各子区域范围内的累积边缘点可视灰度范围直方图的峰值所对应的灰度级作为各子区域中心像素的二值化阈值,如果子区域内边缘点少于设定数值时,则将全局阈值作为该区域中心像素的二值化阈值,对于其他非区域中心点的像素二值化阈值可通过相邻的四个子区域的中心像素阈值双线性插值获得;6)将原始灰度图像中各像素位置的灰度与对应位置的阈值进行比较,大于阈值的置为1,小于或等于阈值的置为0,得到二值化图像。步骤2中,若图像行和列恰能被整分,且各子区域的行与列包含的像素点个数都为偶数,不填充图像;否则,填充图像使该图像满足条件。步骤3中选取Carmy边缘强度阈值范围为0. 05 0. 15,默认Carmy边缘强度阈值为 0. 08。本发明的基于累积边缘点可视灰度范围直方图的图像二值化方法,具有如下特占.
^ \\\ ·1)采用本发明方法得到的二值化图像细节信息丰富。由于本发明的核心技术累积边缘点可视范围直方图能判断不同阈值选取所能保留重要跃变信息的多少,因此当阈值选取累积边缘点可视范围直方图的峰值所对应的灰度时,可以确保最大限度地保留图像重要跃变信息。2)本发明所提自适应方法处理速度快。区别其他自适应算法采用逐点方式确定各像素位置阈值,本发明采用分块方式确定区域中心像素的二值化阈值,然后通过相邻的四个子区域的中心像素阈值双线性插值获得非区域中心点像素的二值化阈值,这样大大减少了算法的计算复杂度,显著提高了算法的效率。
3)本发明所提自适应方法抗噪能力强,处理后的二值化图像视觉效果好。噪声抑制问题一直是自适应算法设计面临的主要难题,噪声也主要集中在没有边缘点或者边缘点很少的平滑子区域,对于这些区域本发明方法并不像其他自适应方法采用统一的规则计算局部阈值,而仅仅将全局阈值作为这些区域中心像素的二值化阈值,这种处理方法一方面减少了计算量,另一方面有效地抑制了噪声,同时由于多个平滑子区域采用了相同的全局阈值,使得图像整体能获得满意的视觉效果。
图1是本发明的基于累积边缘点可视范围直方图的全局阈值方法流程图2是本发明的基于累积边缘点可视范围直方图的局部自适应阈值方法流程图3是本实施例的原始图像效果图4是本实施例采用全局阈值方法中利用Carmy算子提取的边缘图效果图5是本实施例采用全局阈值方法的累积边缘点可视灰度范围直方图6是本实施例采用全局阈值方法的二值化图像效果图7是本实施例采用全局阈值方法的可视边缘点的效果图8是本实施例采用全局阈值方法的不可视边缘点的效果图9是本实施例采用局部自适应阈值方法时双线性插值示意图10是本实施例采用局部自适应阈值方法的二值化图像效果图11是本实施例采用局部自适应阈值方法的可视边缘点的效果图12是本实施例采用局部自适应阈值方法的不可视边缘点的效果图13是本发明全局阈值方法与Otsu方法的比较结果
其中,图al、bl、cl是原始图像效果图;图a2、b2、c2是采用本发明的全局阈值法得到的图像效果图;图a3、b3、c3是采用Otsu方法得到的图像效果图;图a4、b4、c4累计边缘可视灰度范围直方图14是本发明局部自适应阈值方法与本发明全局阈值方法及Otsu法的比较
其中,图al、bl、cl是原始图像效果图;图a2、b2、c2是采用本发明的局部阈值法得到的图像效果图;图a3、b3、c3是采用本发明的全局阈值法得到的图像效果图;图a4、b4、 c4是采用Otsu法得到的图像效果图15是本发明局部自适应阈值方法与Niblack方法的比较结果
其中,a列是原始图像效果图;b列是采用本发明的局部阈值法获得的图像效果图;c列是采用Niblack法获得的图像效果图。
具体实施方式
下面结合实施例和附图对本发明的基于累积边缘点可视灰度范围直方图的图像二值化方法做出详细说明。
采用常规边缘检测方法(如Carmy边缘检测方法)可确定图像中边缘的位置,构成边缘的基本元素是一个个的边缘点,每一个边缘点表明该点附近存在重要的灰度跃变信息,而这个跃变的主要能量集中在该点附近8邻域范围内,测算8邻域及边缘点位置共9个点的灰度变化范围(即最大灰度和最小灰度),如果二值化阈值落在该范围内,表明边缘点 8邻域范围内必然存在0-1的变化,即该边缘点附近的灰度跃变被保留了下来,通俗的说边缘点附近跃变信息可视(可区分),简称“边缘点可视”。由于选取灰度变化范围内的任意灰度级定为阈值都可实现该边缘点可视效果,因此我们将该范围内所有灰度级的统计权重增量赋1,对其他的边缘点也做类似的操作,得到累积边缘点可视灰度范围直方图,该直方图横坐标为选取阈值的灰度级(与图像的灰度级级数相同)纵坐标的数值大小反映对应灰度级阈值可实现边缘点可视数量的多少,显然数值越大边缘点附近跃变信息保留越多,其相应的二值化效果也越好,因此可将累积边缘点可视灰度范围直方图的峰值作为图像二值化的最优阈值。由此可以看出,累积边缘点可视灰度范围直方图一方面可以确定二值化的最优阈值,另一方面可以评测其他全局阈值方法的性能。
本发明的基于累积边缘点可视灰度范围直方图的图像二值化方法,包括基于累积边缘点可视灰度范围直方图的全局阈值图像二值化方法和基于所述的全局阈值图像二值化方法的局部自适应阈值图像二值化方法。
本发明的基于累积边缘点可视灰度范围直方图的全局阈值图像二值化方法,包括如下步骤
1)读取原始图像,如图4所示,采用Carmy边缘检测算子对输入的灰度图像进行边缘检测,可选取Carmy边缘强度阈值范围为0. 05 0. 15,默认Carmy边缘强度阈值为 0. 08 ;
2)将所有灰度级的统计值初始化赋0 ;
3)采用逐行扫描方式寻找边缘点,测算边缘点8邻域及边缘点位置共9个点的灰度变化范围,将该范围内所有灰度级的统计权重增量赋1,对其他的边缘点也做相同的操作,得到如图5所示的累积边缘点可视灰度范围直方4)将累积边缘点可视灰度范围直方图的峰值所对应的灰度级作为图像二值化的最优阈值,若峰值不唯一,则取各个峰值对应灰度级的平均值作为最优阈值;
5)将原始灰度图像中大于最优阈值的灰度级置为1,小于或等于该阈值的灰度级置为0,得到如图6所示的二值化图像。
本发明的基于所述的全局阈值图像二值化方法的局部自适应阈值图像二值化方法,包括如下步骤
1)读取原始图像;
2)将输入图像划分为nXm个等大的子区域,本实施例中区域划分为15X15。 若图像行和列恰能被整分,且各子区域的行与列包含的像素点个数都为偶数,不填充图像;否则,填充图像使该图像满足条件,本实施例中原图大小481X321,填充后图像大小 510X330 ;
3)采用Carmy边缘检测算子对划分后图像进行边缘检测,可选取Carmy边缘强度阈值范围为0. 05 0. 15,默认Carmy边缘强度阈值为0. 08 ;
4)采用前面所述的基于累积边缘点可视灰度范围直方图的全局阈值图像二值化方法获得全局最优二值化阈值,并分别测算各子区域范围内的累积边缘点可视灰度范围直方图;5)将各子区域范围内的累积边缘点可视灰度范围直方图的峰值所对应的灰度级作为各子区域中心像素的二值化阈值;如果子区域内边缘点少于设定数值时(该数值一般小于或等于子区域的行或列宽所对应的较小像素数),则将全局阈值作为该区域中心像素的二值化阈值,根据公式(1),图像各子区域非中心点的其他像素二值化阈值可通过相邻的四个子区域的中心像素阈值双线性插值获得(如图9所示);6)将原始灰度图像中各像素位置的灰度与对应位置的阈值进行比较,大于阈值的置为1,小于或等于阈值的置为0,得到如图10所示的二值化图像。 其中χ, y分别表示由四个相邻子区域中心点所包围的区域内像素的横纵坐标,f(x,y)表示该像素点阈值,梦,歹分别表示像素点与f(0,0)所在子区域中心点归一化的相对偏移量,f (0,0),f (0,1),f(l,0),f (1,1)分别表示相邻四个子区域中心像素的阈值。前面已经提到如果阈值落在边缘点可视灰度范围内,表明边缘点8邻域范围内必然存在0-1的变化,即该边缘点附近的灰度跃变信息可视。因此,当二值化方法确定了阈值后,可测算出不同的二值化方法的可视边缘点和不可视边缘点,通常可视边缘点越多,二值化图像的细节信息越丰富。图7和图8分别给出了依据边缘点灰度可视范围测算出的本发明所提全局二值化方法的可视边缘点图和不可视边缘点图。图11和图12分别给出了本发明所提局部二值化方法的可视边缘点图和不可视边缘点图。二值化的测试结果显示局部方法(图10)的细节信息明显比全局方法(图6)更丰富,这与依据边缘点灰度可视范围测算出的可视边缘点的对比结果是一致的(图11的可视边缘点明显多于图7)。为了进一步展示本发明提出的二值化方法的优越性能,下面给出本发明的二值化方法与其他经典方法的比较结果,算法运行软件为MATLAB(R2010a版),机器配置为 windows 7系统、主频2. 90GHz、内存4GB的64位计算机。图13给出了本发明全局阈值方法与Otsu方法比较结果,其中累积边缘点可视灰度范围直方图中点虚线为直方图峰值所确定的阈值,长虚线为Otsu方法确定的阈值。测试结果表明,本发明所提二值化方法能更好地保留图像重要的细节信息,其中核心算法累积边缘点可视灰度范围直方图不仅可确定二值化最优阈值,同时还能有效评测其他全局阈值方法的性能。图14给出了本发明局部自适应阈值方法与本发明全局阈值方法及Otsu法的比较结果。测试结果表明,本发明局部自适应阈值方法可以较好地克服全局阈值方法因背景或光照条件复杂造成丢失次要背景细节信息的问题。图15给出了本发明局部自适应阈值方法(划分为15X15个子区域)与Niblack 方法的比较结果。测试结果表明,本发明局部自适应阈值方法处理速度快(多数图像能在 1秒内完成,而Niblack方法等自适应方法通常需要几十秒),且抗噪能力强,处理后的二值化图像视觉效果好。
权利要求
1.一种基于累积边缘点可视灰度范围直方图的图像二值化方法,其特征在于,是基于累积边缘点可视灰度范围直方图的全局阈值图像二值化方法,包括如下步骤1)采用Carmy边缘检测算子对输入的灰度图像进行边缘检测;2)将所有灰度级的统计值初始化赋0;3)采用逐行扫描方式寻找边缘点,测算边缘点8邻域及边缘点位置共9个点的灰度变化范围,将该范围内所有灰度级的统计权重增量赋1,对其他的边缘点也做相同的操作,得到累积边缘点可视灰度范围直方图;4)将累积边缘点可视灰度范围直方图的峰值所对应的灰度级作为图像二值化的最优阈值;5)将原始灰度图像中大于最优阈值的灰度级置为1,小于或等于该阈值的灰度级置为 0,得到二值化图像。
2.根据权利要求1所述的基于累积边缘点可视灰度范围直方图的图像二值化方法,其特征在于,步骤1中选取Carmy边缘强度阈值范围为0. 05 0. 15,默认Carmy边缘强度阈值为0. 08。
3.根据权利要求1所述的基于累积边缘点可视灰度范围直方图的图像二值化方法,其特征在于,步骤4中若峰值不唯一,则取各个峰值对应灰度级的平均值作为最优阈值。
4.一种基于权利要求1所述的全局阈值图像二值化方法的局部自适应阈值图像二值化方法,其特征在于,包括如下步骤1)读取原始图像;2)将输入图像划分为nXm个等大的子区域;3)采用Carmy边缘检测算子对划分后图像进行边缘检测;4)采用基于累积边缘点可视灰度范围直方图的全局阈值图像二值化方法获得全局最优二值化阈值,并分别测算各子区域范围内的累积边缘点可视灰度范围直方图;5)将各子区域范围内的累积边缘点可视灰度范围直方图的峰值所对应的灰度级作为各子区域中心像素的二值化阈值,如果子区域内边缘点少于设定数值时,则将全局阈值作为该区域中心像素的二值化阈值,对于其他非区域中心点的像素二值化阈值可通过相邻的四个子区域的中心像素阈值双线性插值获得;6)将原始灰度图像中各像素位置的灰度与对应位置的阈值进行比较,大于阈值的置为 1,小于或等于阈值的置为0,得到二值化图像。
5.根据权利要求4所述的局部自适应阈值图像二值化方法,其特征在于,步骤2中,若图像行和列恰能被整分,且各子区域的行与列包含的像素点个数都为偶数,不填充图像;否则,填充图像使该图像满足条件。
6.根据权利要求4所述的局部自适应阈值图像二值化方法,其特征在于,步骤3中选取 Canny边缘强度阈值范围为0. 05 0. 15,默认Carmy边缘强度阈值为0. 08。
全文摘要
一种基于累积边缘点可视灰度范围直方图的图像二值化方法,有全局阈值法对输入的灰度图像进行边缘检测;将所有灰度级的统计值初始化赋0;得到累积边缘点可视灰度范围直方图;将直方图的峰值所对应的灰度级作为图像二值化的最优阈值;根据最优阈值得到二值化图像。还有局部自适应阈值法将输入图像划分为n×m个等大的子区域;对划分后图像进行边缘检测;采用全局阈值法获得全局最优二值化阈值,并测算直方图;设定二值化阈值;根据最优阈值得到得到二值化图像。本发明可以确保最大限度地保留图像重要跃变信息,大大减少了算法的计算复杂度,显著提高了算法的效率,使得图像整体能获得满意的视觉效果。
文档编号G06K9/46GK102496020SQ201110339559
公开日2012年6月13日 申请日期2011年10月31日 优先权日2011年10月31日
发明者孟庆浩, 曾明, 白正彪, 韩铁锚 申请人:天津大学