消除假轮廓的图像处理方法及装置转让专利

申请号 : CN201110371481.3

文献号 : CN102413271B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 沈操艾瑞克·威斯特

申请人 : 晶门科技(深圳)有限公司

摘要 :

本发明提供一种消除假轮廓的图像处理方法,包括以下步骤:检测出属于假轮廓的各个对应一定像素值的假轮廓像素点;通过改变像素值的空间分布以消除假轮廓。本发明通过改变颜色值的空间分布,利用人眼的视觉平均特性来产生出“新的颜色值”以消除图像中的假轮廓,在消除假轮廓的同时不会损失图像的细节,也不会增加额外的噪声,并且不需要增加位深,进而大大节省了硬件资源。

权利要求 :

1.一种消除假轮廓的图像处理方法,其特征在于,其包括如下步骤:检测出属于假轮廓的各个对应一定像素值的假轮廓像素点;

通过改变像素值的空间分布以消除假轮廓;

所述假轮廓像素点的检测具体包括以下步骤:设定一可配置的判断阈值;

计算待检测像素点的各个梯度值;

求各个梯度值对应的绝对值,比较得出最大绝对值;

判断所述最大绝对值是否小于所述判断阈值,若是,则所述待检测像素点为假轮廓像素点;若否,则所述待检测像素点为非假轮廓像素点;

该消除假轮廓的图像处理方法还需要确定一包括所述假轮廓像素点的邻域,所述邻域被假轮廓分为具有第一颜色值的第一区域和具有第二颜色值的第二区域,所述第一颜色值和第二颜色值之间的差值Step为一可配置的值,所述“通过改变像素值的空间分布以消除假轮廓”的步骤具体包括如下步骤:分别取k=0、+Step、-Step,计算周围点像素值等于当前点像素值的像素点个数p(k);

分别取k=0、+Step、-Step,根据公式计算不同取值对应的概率值;

随机从区间[0,1]之间取得随机数r;

根据所取得的随机数r与所述概率值的比较,确定将要输出的输出像素值。

2.根据权利要求1所述的方法,其特征在于,所述梯度值包括垂直梯度、水平梯度、左对角梯度和右对角梯度。

3.根据权利要求1所述的方法,其特征在于,所述“根据所取得的随机数r与所述概率值的比较,确定将要输出的输出像素”的步骤具体为:若r

若p’(0)≦r< p’(+Step),则输出像素值为输入像素值与Step的和;

若为其他情况,则输出像素值为输入像素值与Step的差。

4.一种消除假轮廓的图像处理装置,其特征在于,所述装置包括:假轮廓检测单元、用于检测出属于假轮廓的各个对应一定像素值的假轮廓像素点;

假轮廓消除单元、用于通过改变像素值的空间分布以消除假轮廓;

所述假轮廓检测单元具体用于:

设定一可配置的判断阈值;

计算待检测像素点的各个梯度值;

求各个梯度值对应的绝对值,比较得出最大绝对值;

判断所述最大绝对值是否小于所述判断阈值,若是,则所述待检测像素点为假轮廓像素点;若否,则所述待检测像素点为非假轮廓像素点;

该消除假轮廓的图像处理装置还需要确定一包括所述假轮廓像素点的邻域,所述邻域被假轮廓分为具有第一颜色值的第一区域和具有第二颜色值的第二区域,所述第一颜色值和第二颜色值之间的差值Step为一可配置的值,所述假轮廓消除单元具体包括以下单元:概率计算单元、用于分别取k=0、+Step、-Step,计算周围点像素值等于当前点像素值的像素点个数p(k);

比例计算单元、用于分别取k=0、+Step、-Step,根据公式 计算不同取值对应的概率值;

输出单元、用于随机从区间[0,1]之间取得随机数r,根据所取得的随机数r与所述概率值的比较,确定将要输出的输出像素值。

5.根据权利要求4所述的装置,其特征在于,所述梯度值包括垂直梯度、水平梯度、左对角梯度和右对角梯度。

6.根据权利要求4所述的装置,其特征在于,所述输出单元具体用于:若r

若p’(0)≦r< p’(+Step),则输出像素值为输入像素值与Step的和;

若为其他情况,则输出像素值为输入像素值与Step的差。

说明书 :

消除假轮廓的图像处理方法及装置

技术领域

[0001] 本发明涉及图像及视频处理技术,尤其涉及一种通过改变颜色值的空间分布来消除“假轮廓”的图像处理方法及装置。

背景技术

[0002] 数字图像可表达为不同的位深(bit depth),比如8bit/pixel(bpp)用于大部分消费电子的应用,而10bit/pixel(bpp)用于专业的应用。更高的位深可以表达更多的颜色,因此有更高的图像质量。然而,为了减少位深,数字图像中的颜色经常要被重新量化,例如,10bpp图像要以8bpp显示。减少位深导致更少数量的颜色。更少数量的颜色,有时候就不能表达颜色连续改变的区域,而人类的视觉系统是可以感知这种连续性的。这些区域就断裂成为一段一段的,每段之间颜色是一样的,段与段之间有微小的颜色差异。这些段与段之间的边界,就形成了所谓的“假轮廓”(false contour,contour artifacts,digital contour)。
[0003] “假轮廓”的产生,现举例说明:8bpp代表每个像素有8位(bit)的位深,则每个像素显示出来为0、1、2......255,可能为256个显示数值的任意一个。如果数字图像中减少位深来表示同样的图,比如采用4bpp,则每个像素为0、1、2......15的显示数值的任意一个。这样,8bpp中的显示数值[0......15]在4bpp中代表为0,8bpp中的显示数值[16......31]在4bpp中代表为1。例如在8bpp环境下,某个像素值为0,跟它相邻的为31,但是在4bpp环境下,这两个像素值便对应为0和1,虽然他们在4bpp环境下是接近的,原则上其代表的颜色应该是连续改变的,但是因为其在8bpp环境下相差较远,所以显示出来却是有一条“假轮廓”(参见图1)。
[0004] 现有技术中,对“假轮廓”的消除方式主要通过在图像上加入抖动(dither)或噪声(参见图2)、或者通过平滑(低通)滤波(参见图3)来实现。
[0005] 然而,在图像上加入抖动(dither)或噪声的方式易增加不必要的噪声,降低了信噪比;平滑(低通)滤波的方式只适用于输出的位深大于输入的位深,平滑滤波产生的中间颜色才能被表达;而且平滑(低通)滤波会模糊图像,丢失高频的图像细节。
[0006] 有鉴于此,非常有必要提供一种新的消除假轮廓的图像处理方法。

发明内容

[0007] 为解决上述技术问题,本发明的目的在于提供一种消除假轮廓的图像处理方法,通过改变颜色值的空间分布,利用人眼的视觉平均特性来产生出新的颜色值以消除图像中的假轮廓。
[0008] 相应所述方法,本发明的另一目的在于提供一种消除假轮廓的图像处理装置。
[0009] 为实现上述发明目的之一,本发明提供的一种消除假轮廓的图像处理方法,包括如下步骤:
[0010] 检测出属于假轮廓的各个对应一定像素值的假轮廓像素点;
[0011] 通过改变像素值的空间分布以消除假轮廓。
[0012] 作为本发明的进一步改进,所述假轮廓像素点的检测具体包括以下步骤:
[0013] 设定一可配置的判断阈值;
[0014] 计算待检测像素点的各个梯度值;
[0015] 求各个梯度值对应的绝对值,比较得出最大绝对值;
[0016] 判断所述最大绝对值是否小于所述判断阈值,若是,则所述待检测像素点为假轮廓像素点;若否,则所述待检测像素点为非假轮廓像素点;
[0017] 作为本发明的进一步改进,所述梯度值包括垂直梯度、水平梯度、左对角梯度和右对角梯度。
[0018] 作为本发明的进一步改进,该方法需要确定一包括所述假轮廓像素点的邻域,所述领域被假轮廓分为具有第一颜色值的第一区域和具有第二颜色值的第二区域,所述第一颜色值和第二颜色值之间的差值Step为一可配置的值,所述“通过改变像素值的空间分布以消除假轮廓”的步骤具体包括如下步骤:
[0019] 分别取k=0、+Step、-Step,计算周围点像素值等于当前点像素值的像素点个数p(k);
[0020] 分别取k=0、+Step、-Step,根据公式 计算不同取值对应的概率值;
[0021] 随机从区间[0,1]之间取得随机数r;
[0022] 根据所取得的随机数r与所述概率值的比较,确定将要输出的输出像素值。
[0023] 作为本发明的进一步改进,所述“根据所取得的随机数r与所述概率值的比较,确定将要输出的输出像素”的步骤具体为:
[0024] 若r<p’(0),则输出像素值为输入像素值;
[0025] 若p’(0)≤r<p’(+Step),则输出像素值为输入像素值与Step的和;
[0026] 若为其他情况,则输出像素值为输入像素值与Step的差。
[0027] 为实现上述发明目的之一,本发明提供的一种消除假轮廓的图像处理装置,所述装置包括:
[0028] 假轮廓检测单元、用于检测出属于假轮廓的各个对应一定像素值的假轮廓像素点;
[0029] 假轮廓消除单元、用于通过改变像素值的空间分布以消除假轮廓。
[0030] 作为本发明的进一步改进,所述假轮廓检测单元具体用于:
[0031] 设定一可配置的判断阈值;
[0032] 计算待检测像素点的各个梯度值;
[0033] 求各个梯度值对应的绝对值,比较得出最大绝对值;
[0034] 判断所述最大绝对值是否小于所述判断阈值,若是,则所述待检测像素点为假轮廓像素点;若否,则所述待检测像素点为非假轮廓像素点;
[0035] 作为本发明的进一步改进,所述梯度值包括垂直梯度、水平梯度、左对角梯度和右对角梯度。
[0036] 作为本发明的进一步改进,该装置需要确定一包括所述假轮廓像素点的邻域,所述领域被假轮廓分为具有第一颜色值的第一区域和具有第二颜色值的第二区域,所述第一颜色值和第二颜色值之间的差值Step为一可配置的值,所述假轮廓消除单元具体包括以下单元:
[0037] 概率计算单元、用于分别取k=0、+Step、-Step,计算周围点像素值等于当前点像素值的像素点个数p(k);
[0038] 比例计算单元、用于分别取k=0、 根据公式计算不同取值对应的概率值;
[0039] 输出单元、用于随机从区间[0,1]之间取得随机数r,根据所取得的随机数r与所述概率值的比较,确定将要输出的输出像素值。
[0040] 作为本发明的进一步改进,所述输出单元具体用于:
[0041] 若r<p’(0),则输出像素值为输入像素值;
[0042] 若p’(0)≤r<p’(+Step),则输出像素值为输入像素值与Step的和;
[0043] 若为其他情况,则输出像素值为输入像素值与Step的差。
[0044] 与现有技术相比,本发明的有益效果是:本发明通过改变颜色值的空间分布,利用人眼的视觉平均特性来产生出“新的颜色值”以消除图像中的假轮廓,在消除假轮廓的同时不会损失图像的细节,也不会增加额外的噪声,并且不需要增加位深,进而大大节省了硬件资源。

附图说明

[0045] 图1是现有技术中假轮廓的产生示意图。
[0046] 图2是现有技术中通过在图像上加入抖动或噪声消除假轮廓方式的示意图。
[0047] 图3是现有技术中通过平滑(低通)滤波消除假轮廓方式的示意图。
[0048] 图4是本发明一实施方式中消除假轮廓的图像处理方法的流程图。
[0049] 图5是本发明一实施方式中假轮廓所在领域的示意图。
[0050] 图6是本发明一实施方式中像素垂直梯度示意图。
[0051] 图7是本发明一实施方式中像素水平梯度示意图。
[0052] 图8是本发明一实施方式中家轮廓消除前的图像状态示意图。
[0053] 图9是本发明一实施方式中家轮廓消除后的图像状态示意图。
[0054] 图10是本发明一实施方式中消除假轮廓的图像处理装置的模块示意图。

具体实施方式

[0055] 以下将结合附图所示的具体实施方式对本发明进行详细描述。但这些实施方式并不限制本发明,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本发明的保护范围内。
[0056] 参见图4,本发明的一具体实施方式中,所示的消除假轮廓的图像处理方法包括检查假轮廓和消除假轮廓两个步骤,具体而言:
[0057] 该方法包括以下步骤:
[0058] S1、检测出属于假轮廓的各个对应一定像素值的假轮廓像素点;
[0059] 对于是假轮廓的每一个像素点,我们应用基于其周围邻域的颜色分布来产生抖动,来消除这种假轮廓,所以在消除假轮廓之前必须通过检测得出假轮廓所在的位置,如此,在本发明中,只是在有假轮廓的区域才会去做消除假轮廓的处理,在其他区域不起作用。
[0060] 如图5所示,本发明首先需要确定一包括所述假轮廓像素点的邻域,所述领域被假轮廓分为具有第一颜色值的第一区域和具有第二颜色值的第二区域,假设R(x,y)是像素点(x,y)的邻域,假轮廓把这个邻域分为2部分:一部分为具有第一颜色值c的第一区域,另一部分为具有第二颜色值c+step的第二区域,(step是一个可配置的值,比如1,2等),在这个邻域R(x,y)中,出现颜色值为c的概率是p,而出现颜色值为c+step的概率是1-p。为了消除或减少假轮廓,颜色值应该从上到下逐渐地从c变化到c+step,而不是突然地从c变化到c+step。然而,我们没有介于c和c+step之间的任何中间值。但是,人眼有平均某个周围邻域的视觉特性,利用人眼视觉的平均特性,可以产生出介于c和c+step之间中间值的效果,通过改变c和c+step这两个颜色值的空间分布,利用人眼的视觉平均特性来产生出介于c和c+step之间的中间值的效果。
[0061] 于是,继续参见图4,在本实施方式中,步骤S1具体包括如下步骤来实现假轮廓的检测:
[0062] S11、设定一可配置的判断阈值;
[0063] S12、计算待检测像素点的各个梯度值;
[0064] 其中,梯度值是指:垂直梯度、水平梯度、左对角梯度和右对角梯度。
[0065] 例如,如图6和图7所示,垂直梯度梯度值和水平梯度梯度值X=a-d+b-e+c-f,其中a、b、c、d、e、f分别为与该像素点(x,y)的相邻的6个像素点的X方向的值。
[0066] S13、求各个梯度值对应的绝对值,比较得出最大绝对值;
[0067] S14、判断所述最大绝对值是否小于所述判断阈值,若是,则所述待检测像素点为假轮廓像素点(步骤S15);若否,则所述待检测像素点为非假轮廓像素点(步骤S16)。
[0068] 用公式表示即为: 其中:
[0069] x,y是像素点(x,y)的横坐标和纵坐标,R(x,y)表示像素点(x,y)的领域,表示梯度,abs表示求绝对值,Th是梯度的绝对值的阈值,为一可配置参数。
[0070] S2、通过改变像素值的空间分布以消除假轮廓。在本实施方式中,假轮廓的消除的方法是在假轮廓上产生一些新的像素值(例如前例中,在假轮廓上增加一些2、5、7、10等等的像素值,使其平滑过渡)。
[0071] 所述步骤S2具体包括如下步骤:
[0072] S21、分别取k=0、+Step、-Step,计算周围点像素值等于当前点[0073]
[0074] 像素值的像素点个数p(k);
[0075] 用计算公式表示为:
[0076] 其中,取k=0、+step、-step,
[0077] 其中I表示输入图像,
[0078] S22、分别取k=0、+Step、-Step,根据公式
[0079]
[0080] 计算不同取值对应的概率值;
[0081] 此步骤中,假设计算得出p(0)=a,p(-step)=b,p(+step)=c[0082] 当k=0时,p’(0)=a/(a+b+c);
[0083] 当k=-step时,p’(-step)=b/(a+b+c);
[0084] 当k=+step时,p’(+step)=c/(a+b+c)。
[0085] S23、随机从区间[0,1]之间取得随机数r,优选地,随机数r是在区间[0,1]之间均匀分布的。
[0086] S24、根据所取得的随机数r与所述概率值的比较,确定将要输出的输出像素值。
[0087] 该步骤具体为:若r<p’(0),则输出像素值为输入像素值;
[0088] 若p’(0)≤r<p’(+Step),则输出像素值为输入像素值与Step的和;
[0089] 若为其他情况,则输出像素值为输入像素值与Step的差。
[0090] 用公式表示即为:
[0091] 其中,O(x,y)是输出的像素值。
[0092] 请参见图8和图9所示,图8为消除前图像的状态,图9为消除后图像的状态。通过改变假轮廓的空间分布(即在两个像素值(颜色值)之间产生新的像素值并进行输出),以达到了假轮廓的消除目的。
[0093] 接下来,将结合图10来介绍本发明一实施方式中消除假轮廓的装置,其包括以下单元:
[0094] 假轮廓检测单元10、用于检测出属于假轮廓的各个对应一定像素值的假轮廓像素点;
[0095] 对于是假轮廓的每一个像素点,我们应用基于其周围邻域的颜色分布来产生抖动,来消除这种假轮廓,所以在消除假轮廓之前必须通过检测得出假轮廓所在的位置,如此,在本发明中,只是在有假轮廓的区域才会去做消除假轮廓的处理,在其他区域不起作用。
[0096] 如图5所示,本发明首先需要确定一包括所述假轮廓像素点的邻域,所述领域被假轮廓分为具有第一颜色值的第一区域和具有第二颜色值的第二区域,假设R(x,y)是像素点(x,y)的邻域,假轮廓把这个邻域分为2部分:一部分为具有第一颜色值c的第一区域,另一部分为具有第二颜色值c+step的第二区域,(step是一个可配置的值,比如1,2等),在这个邻域R(x,y)中,出现颜色值为c的概率是p,而出现颜色值为c+step的概率是1-p。为了消除或减少假轮廓,颜色值应该从上到下逐渐地从c变化到c+step,而不是突然地从c变化到c+step。然而,我们没有介于c和c+step之间的任何中间值。但是,人眼有平均某个周围邻域的视觉特性,利用人眼视觉的平均特性,可以产生出介于c和c+step之间中间值的效果,通过改变c和c+step这两个颜色值的空间分布,利用人眼的视觉平均特性来产生出介于c和c+step之间的中间值的效果。
[0097] 于是,在本实施方式中,假轮廓检测单元10具体用于:
[0098] 设定一可配置的判断阈值;
[0099] 计算待检测像素点的各个梯度值;
[0100] 其中,梯度值是指:垂直梯度、水平梯度、左对角梯度和右对角梯度。
[0101] 例如,如图6和图7所示,垂直梯度梯度值和水平梯度梯度值X=a-d+b-e+c-f,其中a、b、c、d、e、f分别为与该像素点(x,y)的相邻的6个像素点的X方向的值。
[0102] 求各个梯度值对应的绝对值,比较得出最大绝对值;
[0103] 判断所述最大绝对值是否小于所述判断阈值,若是,则所述待检测像素点为假轮廓像素点;若否,则所述待检测像素点为非假轮廓像素点。
[0104] 用公式表示即为: 其中:
[0105] x,y是像素点(x,y)的横坐标和纵坐标,R(x,y)表示像素点(x,y)的领域,表示梯度,abs表示求绝对值,Th是梯度的绝对值的阈值,为一可配置参数。
[0106] 假轮廓消除单元20、用于通过改变像素值的空间分布以消除假轮廓。在本实施方式中,假轮廓的消除的方法是在假轮廓上产生一些新的像素值(例如前例中,在假轮廓上增加一些2、5、7、10等等的像素值,使其平滑过渡)。
[0107] 假轮廓消除单元20具体包括以下各单元来实现假轮廓的消除:
[0108] 首先,概率计算单元201、用于分别取k=0、+Step、-Step,计算周围点像素值等于当前点像素值的像素点个数p(k);
[0109] 用计算公式表示为:
[0110] 其中,取k=0、+step、-step,
[0111]
[0112] 其中I表示输入图像(像素值),
[0113] 再者,比例计算单元202、此单元用于分别取k=0、+Step、-Step,[0114] 根据公式 计算不同取值对应的概率值;
[0115] 假设计算得出p(0)=a,p(-step)=b,p(+step)=c
[0116] 当k=0时,p’(0)=a/(a+b+c);
[0117] 当k=-step时,p’(-step)=b/(a+b+c);
[0118] 当k=+step时,p’(+step)=c/(a+b+c)。
[0119] 输出单元203、用于随机从区间[0,1]之间取得随机数r,优选地,随机数r是在区间[0,1]之间均匀分布的。
[0120] 根据所取得的随机数r与所述概率值的比较,确定将要输出的输出像素值。
[0121] 其中,若r<p’(0),则输出像素值为输入像素值;
[0122] 若p’(0)≤r<p’(+Step),则输出像素值为输入像素值与Step的和;
[0123] 若为其他情况,则输出像素值为输入像素值与Step的差。
[0124] 用公式表示即为:
[0125] 其中,O(x,y)是输出的像素值。
[0126] 与现有技术相比,本发明的有益效果是:自适应性:只是在有假轮廓的区域才会去做消除假轮廓的处理,在其他区域不起作用;因此,不仅可以消除假轮廓,而且不会损失图像的细节,也不会增加额外的噪声(特别是在平坦区域);再者,本发明不需要增加位深就可以消除假轮廓;这可以大大节省硬件资源。
[0127] 以上所描述的装置实施方式仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施方式方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0128] 为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
[0129] 通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施方式或者实施方式的某些部分所述的方法。
[0130] 以上所描述的装置实施方式仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施方式方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0131] 本申请可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
[0132] 本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0133] 应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施方式中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
[0134] 上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。