光栅化图像中图形元素的反锯齿方法及装置转让专利

申请号 : CN200910242428.6

文献号 : CN102096904B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 马世雄李海峰

申请人 : 北大方正集团有限公司北京北大方正电子有限公司

摘要 :

本发明实施例公开了一种光栅化图像中图形元素的反锯齿方法及装置,涉及图像处理技术,为能够解决光栅化图像中图形元素的锯齿现象,平滑显示输出图像而发明。所述方法包括如下步骤:在第一方向上扫描光栅化图像,定位所述第一方向上的锯齿;利用具有不同等级的中间灰度值的像素,填充所述第一方向上的锯齿所在的区域。本发明实施例主要应用于光栅化图像处理技术中。

权利要求 :

1.一种光栅化图像中图形元素的反锯齿方法,其特征在于,所述方法包括如下步骤:在第一方向上的最小扫描单元内扫描所述光栅化图像,其中所述最小扫描单元包括第一扫描对象和第二扫描对象;对于第一扫描对象中的像素点,计算所述像素点的第一梯度和第二梯度;若所述第一梯度或第二梯度大于预设值,则确定第一个所述像素点为锯齿起始点,确定第二个所述像素点为锯齿终止点;

根据所确定的锯齿起始点和锯齿终止点,将所述第一方向上的锯齿所在的区域划分为“填充区域”和“非填充区域”;所述“填充区域”和“非填充区域”中的各像素点被一条预设斜率的直线划分为两个部分,计算被该直线所划分的所述各像素点中靠近所述光栅化图像一侧的一部分的面积与整个该像素点面积的比例值;根据所述比例值与像素灰度值的对应关系确定各像素点所需填充的灰度值,并利用具有所述灰度值的像素填充所述“填充区域”和“非填充区域”。

2.根据权利要求1所述的方法,其特征在于,还包括:

在第二方向上扫描光栅化图像,定位所述第二方向上的锯齿;

利用具有不同等级的中间灰度值的像素,填充所述第二方向上的锯齿所在的区域。

3.根据权利要求1所述的方法,其特征在于,所述第一梯度和第二梯度的计算方式如下:diff1=image[i,j]-image[i-1,j];

diff2=image[i,j+1]-image[i-1,j+1];

其中,diff1为第一梯度,diff2为第二梯度,image[i,j]表示第一扫描对象中像素点(i,j)的灰度值,image[i-1,j]表示第一扫描对象中像素点(i-1,j)的灰度值;image[i,j+1]表示第二扫描对象中像素点(i,j+1)的灰度值,image[i-1,j+1]表示第一扫描对象中像素点(i-1,j+1)的灰度值。

4.根据权利要求2所述的方法,其特征在于,所述在第二方向上扫描光栅化图像,定位所述第二方向上的锯齿包括:在所述第二方向上的最小扫描单元内扫描所述光栅化图像,其中所述最小扫描单元包括第一扫描对象和第二扫描对象;

对于第一扫描对象中的像素点,计算第一梯度和第二梯度;若所述像素点的第一梯度或第二梯度大于预设值,则确定所述像素点位锯齿起始点;

对于第一扫描对象中的像素点,计算第一梯度和第二梯度;若所述像素点的第一梯度或第二梯度大于预设值,则确定所述像素点位锯齿终止点。

5.根据权利要求4所述的方法,其特征在于,所述利用不同等级的中间灰度,填充所述第二方向上的锯齿所在的区域包括:根据所确定的锯齿起始点和锯齿终止点,将第二方向上的锯齿所在的区域划分为“填充区域”和“非填充区域”;

将所述“填充区域”和“非填充区域”中的各像素点划分为两个部分,计算所述其中一部分的面积与整个像素点面积的比例值;

根据所述比例值确定各像素点所需填充的灰度值,并利用具有所述灰度值的像素填充所述“填充区域”和“非填充区域”。

6.根据权利要求4述的方法,其特征在于,所述第一梯度和第二梯度的计算方式如下:diff1=image[i,j-1]-image[i,j];

diff2=image[i+1,j-1]-image[i+1,j];

其中,diff1为第一梯度,diff2为第二梯度,image[i,j]表示第一扫描对象中像素点(i,j)的灰度值,image[i,j-1]表示第一扫描对象中像素点(i,j-1)的灰度值;image[i+1,j-1]表示第二扫描对象中像素点(i+1,j-1)的灰度值,image[i+1,j]表示第一扫描对象中像素点(i+1,j)的灰度值。

7.一种光栅化图像中图形元素的反锯齿装置,其特征在于,所述装置包括:

第一锯齿定位单元,包括:第一扫描模块,用于在第一方向上的最小扫描单元内扫描所述光栅化图像,其中所述最小扫描单元包括第一扫描对象和第二扫描对象;第一计算模块,用于根据所述第一扫描模块的扫描结果,计算所述第一扫描对象中的像素点的第一梯度和第二梯度;第一定位模块,用于根据所述第一计算模块计算的第一梯度和第二梯度,在所述像素点的第一梯度或第二梯度大于预设值时,则确定第一个所述像素点为锯齿起始点,确定第二个所述像素点为锯齿终止点;

第一灰度填充单元,包括:第一区域划分模块,用于根据所确定的锯齿起始点和锯齿终止点,将所述第一方向上的锯齿所在的区域划分为“填充区域”和“非填充区域”;第一计算模块,用于所述“填充区域”和“非填充区域”中的各像素点被一条预设斜率的直线划分为两个部分,计算被该直线所划分的所述各像素点中靠近所述光栅化图像一侧的一部分的面积与整个该像素点面积的比例值;第一灰度填充模块,用于根据所述比例值与像素灰度值的对应关系确定各像素点所需填充的灰度值,并利用具有所述灰度值的像素填充所述“填充区域”和“非填充区域”。

8.根据权利要求7所述的装置,其特征在于,所述装置还包括:

第二锯齿定位单元,用于在第二方向上扫描光栅化图像,定位所述第一方向上的锯齿;

第二灰度填充单元,用于利用具有不同等级的中间灰度值的像素,填充所述第二方向上的锯齿所在的区域。

9.根据权利要求8所述的装置,其特征在于,所述第二锯齿定位单元包括:

第二扫描模块,用于在所述第二方向上的最小扫描单元内扫描所述光栅化图像,其中所述最小扫描单元包括第一扫描对象和第二扫描对象;

第二计算模块,用于根据所述第二扫描模块的扫描结果,计算所述第一扫描对象中的像素点的第一梯度和第二梯度;

第二定位模块,用于根据所述第二计算模块计算的第一梯度和第二梯度,在所述像素点的第一梯度或第二梯度大于预设值时,确定所述像素点位锯齿起始点;在所述像素点的第一梯度或第二梯度大于预设值市,确定所述像素点位锯齿终止点。

10.根据权利要求9所述的装置,其特征在于,所述第二灰度填充单元包括:

第二区域划分模块,用于根据所确定的锯齿起始点和锯齿终止点,将第一方向上的锯齿所在的区域划分为“填充区域”和“非填充区域”;

第二计算模块,用于将所述“填充区域”和“非填充区域”中的各像素点划分为两个部分,计算所述其中一部分的面积与整个像素点面积的比例值;

第二灰度填充模块,用于根据所述比例值确定各像素点所需填充的灰度值,并利用具有所述灰度值的像素填充所述“填充区域”和“非填充区域”。

说明书 :

光栅化图像中图形元素的反锯齿方法及装置

技术领域

[0001] 本发明涉及图像处理技术,尤其涉及一种光栅化图像中图形元素的反锯齿方法及装置。

背景技术

[0002] 数码印刷中的核心设备是光栅图像处理器(raster image processor,RIP),它的主要作用是将计算机制作的版面中的各种图形和文字解释成打印机或照排机能够使用的点阵信息,然后控制打印机或照排机将该点阵信息记录在纸上或者胶片上或者CTP(computer to plate,计算机直接出印版)板材上。其中,数码印刷的具体过程为:先将所需印刷的页面的描述信息发送给RIP,由RIP处理后得到对应的高分辨率的光栅化数据,然后将该光栅化数据输出到数码印刷设备进行印刷即可。
[0003] 在所需印刷的页面中,包括有图形和文字等内容。对于其中的图形,在页面中表示时是采用矢量表示。而在将该页面的描述信息发送给光栅图像处理器,经过光栅图像处理器的光栅化处理之后,图形的表示形式就变为由点阵数据。在这个过程中,图形由连续空间变到了离散空间,从而产生了锯齿现象。
[0004] 在传统技术中,对光栅图像处理器处理后得到的光栅化数据未作任何处理,因此将该光栅化数据输出到数码印刷设备进行印刷后,所得到的文件的图形中必然存在锯齿现象,印刷质量不高,从而影响图像的输出效果。

发明内容

[0005] 本发明实施例提供一种光栅化图像中图形元素的反锯齿方法及装置,能够解决光栅化图像中图形元素的锯齿现象,平滑显示输出图像。
[0006] 本发明实施例采用如下技术方案:
[0007] 一种光栅化图像中图形元素的反锯齿方法,包括如下步骤:
[0008] 在第一方向上扫描光栅化图像,定位所述第一方向上的锯齿;
[0009] 利用具有不同等级的中间灰度值的像素,填充所述第一方向上的锯齿所在的区域。
[0010] 一种光栅化图像中图形元素的反锯齿装置,包括:
[0011] 第一锯齿定位单元,用于在第一方向上扫描光栅化图像,定位所述第一方向上的锯齿;
[0012] 第一灰度填充单元,用于利用具有不同等级的中间灰度值的像素,填充所述第一方向上的锯齿所在的区域。
[0013] 由本发明实施例的技术方案可以看出,在本发明实施例中,通过在第一方向上扫描光栅化图像,定位所述第一方向上的锯齿,然后具有利用不同等级的中间灰度的像素,填充所述第一方向上的锯齿所在的区域,使得锯齿所在区域的像素灰度值平缓变化,从而消除了光栅化图像中的锯齿现象,输出的图像显示平滑。

附图说明

[0014] 图1为本发明实施例一光栅化图像中图形元素的反锯齿方法的流程图;
[0015] 图2为本发明实施例二光栅化图像中图形元素的反锯齿方法的流程图;
[0016] 图3为本发明实施例三中需处理的图像;
[0017] 图4(1)-(4)为本发明实施例三中四种类型的横向锯齿的示意图;
[0018] 图5(1)为本发明实施例三中以一种类型的横向锯齿为例,表示有其锯齿区间的示意图;图5(2)为在图5(1)的锯齿上,确定各区域后的示意图;图5(3)为在图5(2)基础上,将各区域用直线划分后的示意图;图5(4)为对图5(1)的锯齿处理完毕后的示意图;
[0019] 图6为对横向锯齿处理完毕后的示意图;
[0020] 图7为本发明实施例三中四种类型的纵向锯齿的示意图;
[0021] 图8(1)为本发明实施例三中以一种类型的纵向锯齿为例,表示有其锯齿区间的示意图;图8(2)为在图8(1)的锯齿上,确定各区域后的示意图;图8(3)为在图8(2)基础上,将各区域用直线划分后的示意图;图8(4)为对图8(1)的锯齿处理完毕后的示意图;
[0022] 图9为对横向锯齿处理完毕后的示意图;
[0023] 图10为本发明实施例四光栅化图像中图形元素的反锯齿装置的示意图;
[0024] 图11为本发明实施例五光栅化图像中图形元素的反锯齿装置的示意图。

具体实施方式

[0025] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0026] 为解决光栅化图像中出现的锯齿现象,使得图像显示平滑,本发明实施例一提供了一种光栅化图像中图形元素的反锯齿方法。如图1所示,本发明实施例一的方法包括如下步骤:
[0027] 步骤11、在第一方向上扫描光栅化图像,定位所述第一方向上的锯齿。
[0028] 其中,所述第一方向不是指的某个固定的方向,例如可以是光栅化图像的横向方向,还可以是光栅化图像的纵向方向等等,当第一方向为横向时,第二方向可为纵向,而当第一方向为纵向时,第二方向为横向。
[0029] 在定位所述第一方向上的锯齿的过程中,可首先在所述第一方向上的最小扫描单元内扫描所述光栅化图像,其中所述最小扫描单元包括第一扫描对象和第二扫描对象。其中,所述最小扫描单元所包含的内容可由用户定义。例如,以第一方向为横向为例,为提高定位锯齿的效率,所述最小扫描单元可以为相邻两行,并可将第一行作为第一扫描对象,第二行作为第二扫描对象。
[0030] 然后,再计算第一扫描对象中的像素点的第一梯度,第二梯度。
[0031] 假设第一方向为横向,那么所述第一梯度和第二梯度的计算公式如下:
[0032] diff1=image[i,j]-image[i-1,j];
[0033] diff2=image[i,j+1]-image[i-1,j+1];
[0034] 其中,diff1为第一梯度,diff2为第二梯度,image[i,j]表示第一扫描对象中像素点(i,j)的灰度值,image[i-1,j]表示第一扫描对象中像素点(i-1,j)的灰度值;image[i,j+1]表示第二扫描对象中像素点(i,j+1)的灰度值,image[i-1,j+1]表示第一扫描对象中像素点(i-1,j+1)的灰度值。
[0035] 又假设第一方向为纵向,所述第一梯度和第二梯度的计算方式如下:
[0036] diff1=image[i,j-1]-image[i,j];
[0037] diff2=image[i+1,j-1]-image[i+1,j];
[0038] 其中,diff1为第一梯度,diff2为第二梯度,image[i,j]表示第一扫描对象中像素点(i,j)的灰度值,image[i,j-1]表示第一扫描对象中像素点(i+1,j)的灰度值;image[i+1,j-1]表示第二扫描对象中像素点(i+1,j-1)的灰度值,image[i+1,j]表示第一扫描对象中像素点(i+1,j)的灰度值。
[0039] 而若所述像素点的第一梯度或第二梯度大于预设值,即diff1>=T或者diff2>=T,其中T是0-255的某一数值,则确定所述像素点位锯齿起始点;若所述像素点的第一梯度或第二梯度大于预设值,即diff1>=T或者diff2>=T,其中T是0-255的某一数值,则确定所述像素点位锯齿终止点。
[0040] 步骤12、利用具有不同等级的中间灰度值的像素,填充所述第一方向上的锯齿所在的区域。
[0041] 在填充的过程中,首先可将第一方向锯齿所在的区域进行划分,具体如下:根据所确定的锯齿起始点和锯齿终止点,在第一方向上的锯齿所在的区域中,如果某部分区域内像素的灰度值为255,则将该区域划分为“填充区域”,若某部分区域内像素的灰度值为0,则将该区域划分为“非填充区域”。按照上述原则,将第一方向锯齿所在的区域划分为“填充区域”和“非填充区域”。
[0042] 然后,将所述“填充区域”和“非填充区域”中的各像素点划分为两个部分,计算所述其中一部分的面积与整个像素点面积的比例值。再根据所述比例值确定各像素点所需填充的灰度值,并利用具有所述灰度值的像素填充所述“填充区域”和“非填充区域”。
[0043] 需要注意的是,在根据所述比例值确定在各填充区域需填充的灰度值时,其基本原则是要能够保证在对应区域内,各像素的灰度值能够平缓变化。
[0044] 不断重复上面的步骤,直到第一方向上处理完成。
[0045] 由上可以看出,利用本发明实施例一的方法,通过在第一方向上扫描光栅化图像,定位所述第一方向上的锯齿,然后具有利用不同等级的中间灰度的像素,填充所述第一方向上的锯齿所在的区域,使得锯齿所在区域的像素灰度值平缓变化,从而消除了光栅化图像中的锯齿现象,输出的图像显示平滑。
[0046] 此外,为了方便对光栅化图像进行处理,进一步提高输出的图像的平滑性,如图2所示,在本发明实施例一的基础上,本发明实施例二所述的光栅化图像中图形元素的反锯齿方法还可包括如下步骤:
[0047] 步骤13、在第二方向上扫描光栅化图像,定位所述第二方向上的锯齿。
[0048] 与第一方向上的扫描方法相类似,在定位所述第二方向上的锯齿的过程中,可首先在所述第二方向上的最小扫描单元内扫描所述光栅化图像,其中所述最小扫描单元包括第一扫描对象和第二扫描对象。
[0049] 所述最小扫描单元所包含的内容可由用户定义。例如,以第二方向为纵向为例,所述最小扫描单元可以为相邻两列,并可将第一列作为第一扫描对象,第二列作为第二扫描对象。
[0050] 然后,再计算第一扫描对象中的像素点的第一梯度,第二梯度。假设第二方向为纵向,那么所述第一梯度和第二梯度的计算公式如下:
[0051] diff1=image[i,j-1]-image[i,j];
[0052] diff2=image[i+1,j-1]-image[i+1,j];
[0053] 其中,diff1为第一梯度,diff2为第二梯度,image[i,j]表示第一扫描对象中像素点(i,j)的灰度值,image[i,j-1]表示第一扫描对象中像素点(i+1,j)的灰度值;image[i+1,j-1]表示第二扫描对象中像素点(i+1,j-1)的灰度值,image[i+1,j]表示第一扫描对象中像素点(i+1,j)的灰度值。
[0054] 假设第二方向为横向,那么所述第一梯度和第二梯度的计算公式如下:
[0055] diff1=image[i,j]-image[i-1,j];
[0056] diff2=image[i,j+1]-image[i-1,j+1];
[0057] 其中,diff1为第一梯度,diff2为第二梯度,image[i,j]表示第一扫描对象中像素点(i,j)的灰度值,image[i-1,j]表示第一扫描对象中像素点(i-1,j)的灰度值;image[i,j+1]表示第二扫描对象中像素点(i,j+1)的灰度值,image[i-1,j+1]表示第一扫描对象中像素点(i-1,j+1)的灰度值。
[0058] 而若所述像素点的第一梯度或第二梯度大于预设值,即diff1>=T或者diff2>=T,其中T是0-255的某一数值,则确定所述像素点位锯齿起始点;若所述像素点的第一梯度或第二梯度大于预设值,即diff1>=T或者diff2>=T,其中T是0-255的某一数值,则确定所述像素点位锯齿终止点。
[0059] 步骤14、利用具有不同等级的中间灰度值的像素,填充所述第二方向上的锯齿所在的区域。
[0060] 同样,与第一方向上的处理方法相类似,在填充的过程中,首先可将第一方向锯齿所在的区域进行划分,具体如下:
[0061] 根据所确定的锯齿起始点和锯齿终止点,在第二方向上的锯齿所在的区域中,如果某部分区域内像素的灰度值为255,则将该区域划分为“填充区域”,若某部分区域内像素的灰度值为0,则将该区域称划分为“非填充区域”。按照上述原则,将第二方向锯齿所在的区域划分为“填充区域”和“非填充区域”。
[0062] 然后,将所述“填充区域”和“非填充区域”中的各像素点划分为两个部分,计算所述其中一部分的面积与整个像素点面积的比例值。再根据所述比例值确定各像素点所需填充的灰度值,并利用具有所述灰度值的像素填充所述“填充区域”和“非填充区域”。
[0063] 需要注意的是,在根据所述比例值确定在各填充区域需填充的灰度值时,其基本原则是要能够保证在对应区域内,各像素的灰度值能够平缓变化。
[0064] 不断重复上面的步骤13和14,直到第二方向上处理完成。
[0065] 通过本发明实施例二的技术方案可以看出,通过在第一方向和第二方向上分别为光栅化图像进行锯齿处理,使得图像中的锯齿现象消除的效果更好,输出的图像显示也更为平滑。
[0066] 下面结合实施例三,详细描述一下本发明实施例光栅化图像的处理过程。
[0067] 如图3所示,为原始的光栅图像处理器光栅化后的图像,该图像以文字为主,并且可以看出,图像中的锯齿现象比较明显。假设光栅化后的图像为二值图,也即该图像中的像素点的灰度值为0或255。并且,假设输出设备有八级灰度,即有八种输出灰度,预设阈值T=255。在此实施例中以第一方向为横向,第二方向为纵向为例。当然,在具体应用过程中,也可只用某一种方向上的处理方法,只要相应的调整图像的放置方向即可。
[0068] 步骤31、横向扫描图像,定位横向锯齿。
[0069] 在该步骤中,同时扫描图像的第j行和第j+1行,并且进行如下的运算:
[0070] diff1=image[i,j]-image[i-1,j];
[0071] diff2=image[i,j+1]-image[i-1,j+1]。
[0072] 如果在(i,j)点,满足(diff1>=255或者diff2>=255),则该点是横向锯齿的起始点(x0,y0),其中x0=i,y0=j。继续扫描,如果碰到下一个点(i’,j’)满足(diff1>=255或者diff2>=255),则该点是横向锯齿的终止点(x1,y1),其中x1=i’,y1=j’。
[0073] 通过这种判断方法,如图4(1)-图4(4)所示,可以得到四种横向的锯齿类型,分别为1.1,1.2,2.1,2.2。
[0074] 在此步骤中,之所以是以两行为单位进行扫描,是为了提高定位锯齿的效率。以下,在纵向定位锯齿中采用以两列为单位进行扫描的原因也是如此。
[0075] 步骤32、对横向锯齿进行处理,利用具有不同等级的中间灰度值的像素,填充横向锯齿所在的区域,消除横向锯齿。
[0076] 具体做法是,将横向锯齿划分为两个填充区域:区域 和区域对于这两个区域,如果区域内的像素点灰度值为0,则我们称之为“填
充区域”,否则,如果区域内的像素点的灰度值为255,也即实地灰度,则称之为“反填充区域”。
[0077] 假设目前碰到的锯齿类型是1.1,锯齿长度与锯齿形状如图5(1)所示,锯齿区间用C表示。根据上述区域划分原则,如图5(2)所示,可确定区域 是反填充区域,用B表示;区域 填充区域,用A表示。在本实施例中,采用基
于斜率的填充方法。当然,在具体应用中还可采用其他的方法。
[0078] 具体做法如下,过点(x0,y0+1/2)以及点(x1,y1+1/2)作一条直线,如图5(3)所示,得到直线方程L是:
[0079]
[0080] 对于“填充区域”,直线L将该区域中的像素点一剖为二,计算下半部分的面积占整个像素点面积的比例p,然后根据该比例与像素灰度值的对应关系,确定要填充该区域内的像素的灰度值。与前面所述的一样,该比例与像素灰度值的对应关系的建立,是要保证在该区域内像素的灰度值要变化平缓。
[0081] 基于以上原则,建立该比例与填充的像素灰度值的对应关系如下:
[0082] 若p∈[0,12.5] 填充灰度0
[0083] 若p∈[12.5,25] 填充灰度1
[0084] 若p∈[25,37.5] 填充灰度2
[0085] 若p∈[37.5,50] 填充灰度3
[0086] 若p∈[50,62.5] 填充灰度4
[0087] 若p∈[62.5,75] 填充灰度5
[0088] 若p∈[75,87.5] 填充灰度6
[0089] 若p∈[87.5,100] 填充灰度7
[0090] 对于“反填充区域”,直线L将该区域中的像素点一剖为二,计算下半部分的面积占整个像素点面积的比例p,然后根据该比例与像素灰度值的对应关系,确定要填充该区域内的像素的灰度值。同样,该比例与像素灰度值的对应关系的建立,是要保证在该区域内像素的灰度值要变化平缓。
[0091] 若p∈[0,12.5] 灰度调整成0
[0092] 若p∈[12.5,25] 灰度调整成1
[0093] 若p∈[25,37.5] 灰度调整成2
[0094] 若p∈[37.5,50] 灰度调整成3
[0095] 若p∈[50,62.5] 灰度调整成4
[0096] 若p∈[62.5,75] 灰度调整成5
[0097] 若p∈[75,87.5] 灰度调整成6
[0098] 若p∈[87.5,100] 灰度调整成7
[0099] 经过上述操作之后,该锯齿就被调整为如图5(4)所示。
[0100] 步骤33、重复步骤31和32,直至第j行扫描完毕。
[0101] 步骤34、重复步骤31、32、33,直至所有的行都扫描完毕。
[0102] 至此,行扫描完毕,这时候的反锯齿处理中间结果如图6所示,可见,横向的锯齿已经完全消失,图像质量已经得到显著提高。
[0103] 步骤35、纵向扫描图像,定位纵向锯齿。
[0104] 在该步骤中,同时扫描第i列和第i+1列,并且进行如下的运算:
[0105] diff1=image[i,j-1]-image[i,j];
[0106] diff2=image[i+1,j-1]-image[i+1,j];
[0107] 如果在(i,j)点,满足(diff1>=255或者diff2>=255),则该点是“锯齿”的起始点(x0’,y0’),其中x0’=i,y0’=j;继续扫描,如果碰到下一个点(i’,j’)满足(diff1>=255或者diff2>=255),则该点是“锯齿”终止点(x1’,y1’),其中x0’=i’,y0’=j’。同样,通过这种判断方法,可以大致规划出四种纵向的锯齿类型,具体如图7(1)-7(4)所示,1.1,1.2,2.1,2.2。
[0108] 步骤36:对纵向锯齿进行处理,利用具有不同等级的中间灰度值的像素,填充纵向锯齿所在的区域,消除纵向锯齿。
[0109] 与步骤32的操作相类似,将纵向锯齿划分为两个填充区域:区域和区域 如果区域内的像素点灰度值为0,
则我们称之为“填充区域”,否则,如果区域内的像素点的灰度值为255,也即实地灰度,则称之为“反填充区域”。
[0110] 假设目前的锯齿形式是1.1,锯齿长度与锯齿形状如图8(1)所示,锯齿区间用C表示。根据上述区域划分原则,如图8(2)所示,可确定区域 是反填充区域,用B表示;区域 是填充区域,用A表示。在本实施例中,同样,
采用基于斜率的填充方法。当然,在具体应用中还可采用其他的费方法。
[0111] 具体做法如下,过点(x0,y0+1/2)以及点(x1,y1+1/2)作一条直线,如图8(3)所示,得到直线L1的方程是:
[0112]
[0113] 对于“填充区域”,直线L1将该区域中的像素点一剖为二,求该区域中左半部分的面积占整个像素点面积的比率p。然后根据该比例与像素灰度值的对应关系,确定要填充该区域内的像素的灰度值。与前面所述的一样,该比例与像素灰度值的对应关系的建立,是要保证在该区域内像素的灰度值要变化平缓。
[0114] 基于以上原则,建立该比例与填充的像素灰度值的对应关系如下:
[0115] 若p∈[0,12.5] 填充灰度0
[0116] 若p∈[12.5,25] 填充灰度1
[0117] 若p∈[25,37.5] 填充灰度2
[0118] 若p∈[37.5,50] 填充灰度3
[0119] 若p∈[50,62.5] 填充灰度4
[0120] 若p∈[62.5,75] 填充灰度5
[0121] 若p∈[75,87.5] 填充灰度6
[0122] 若p∈[87.5,100] 填充灰度7
[0123] 对于“反填充区域”,直线L1将该区域中的像素点一剖为二,将该区域中的像素点一剖为二,求该区域中左半部分的面积占整个像素点面积的比率p。该像素点的输出值调整为:
[0124] 若p∈[0,12.5] 灰度调整成0
[0125] 若p∈[12.5,25] 灰度调整成1
[0126] 若p∈[25,37.5] 灰度调整成2
[0127] 若p∈[37.5,50] 灰度调整成3
[0128] 若p∈[50,62.5] 灰度调整成4
[0129] 若p∈[62.5,75] 灰度调整成5
[0130] 若p∈[75,87.5] 灰度调整成6
[0131] 若p∈[87.5,100] 灰度调整成7
[0132] 经过上述操作之后,该锯齿就被调整为如图8(4)所示。
[0133] 步骤37、重复步骤35和36,直至第i列扫描完毕。
[0134] 步骤38、重复步骤35、36、37,直至所有的列都扫描完毕。
[0135] 至此,列扫描完毕,流程结束。这时候的反锯齿处理最终结果如图9所示,可见,纵向的锯齿也完全消失。整体上看,文字的边缘非常平滑,质量有显著提升。
[0136] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
[0137] 如图10所示,本发明实施例四还提供了一种光栅化图像中图形元素的反锯齿装置,包括:第一锯齿定位单元41,用于在第一方向上扫描光栅化图像,定位所述第一方向上的锯齿;第一灰度填充单元42,用于利用具有不同等级的中间灰度值的像素,填充所述第一方向上的锯齿所在的区域。
[0138] 其中,所述第一锯齿定位单元41包括:第一扫描模块,用于在所述第一方向上的最小扫描单元内扫描所述光栅化图像,其中所述最小扫描单元包括第一扫描对象和第二扫描对象;第一计算模块,用于根据所述第一扫描模块的扫描结果,计算所述第一扫描对象中的像素点的第一梯度和第二梯度;第一定位模块,用于根据所述第一计算模块计算的第一梯度和第二梯度,在所述像素点的第一梯度或第二梯度大于预设值时,确定所述像素点位锯齿起始点;在所述像素点的第一梯度或第二梯度大于预设值市,确定所述像素点位锯齿终止点。
[0139] 其中第一梯度和第二梯度的计算方式,与方法实施例中描述的相同。
[0140] 所述第一灰度填充单元42包括:第一区域划分模块,用于根据所确定的锯齿起始点和锯齿终止点,将第一方向上的锯齿所在的区域划分为“填充区域”和“非填充区域”;第一计算模块,用于将所述“填充区域”和“非填充区域”中的各像素点划分为两个部分,计算所述其中一部分的面积与整个像素点面积的比例值;第一灰度填充模块,用于根据所述比例值确定各像素点所需填充的灰度值,并利用具有所述灰度值的像素填充所述“填充区域”和“非填充区域”。
[0141] 在本发明实施例四中,通过在第一方向上扫描光栅化图像,定位所述第一方向上的锯齿,然后具有利用不同等级的中间灰度的像素,填充所述第一方向上的锯齿所在的区域,使得锯齿所在区域的像素灰度值平缓变化,从而消除了光栅化图像中的锯齿现象,输出的图像显示平滑。
[0142] 为进一步消除锯齿现象,提高输出图像平滑的显示效果,如图11所示,在实施例四的基础上,本发明实施例五的光栅化图像中图形元素的反锯齿装置还可包括:第二锯齿定位单元43,用于在第二方向上扫描光栅化图像,定位所述第一方向上的锯齿;第二灰度填充单元44,用于利用具有不同等级的中间灰度值的像素,填充所述第二方向上的锯齿所在的区域。
[0143] 其中,所述第二锯齿定位单元43包括:第二扫描模块,用于在所述第二方向上的最小扫描单元内扫描所述光栅化图像,其中所述最小扫描单元包括第一扫描对象和第二扫描对象;第二计算模块,用于根据所述第二扫描模块的扫描结果,计算所述第一扫描对象中的像素点的第一梯度和第二梯度;第二定位模块,用于根据所述第二计算模块计算的第一梯度和第二梯度,在所述像素点的第一梯度或第二梯度大于预设值时,确定所述像素点位锯齿起始点;在所述像素点的第一梯度或第二梯度大于预设值市,确定所述像素点位锯齿终止点。
[0144] 所述第二灰度填充单元44包括:第二区域划分模块,用于根据所确定的锯齿起始点和锯齿终止点,将第一方向上的锯齿所在的区域划分为“填充区域”和“非填充区域”;第二计算模块,用于将所述“填充区域”和“非填充区域”中的各像素点划分为两个部分,计算所述其中一部分的面积与整个像素点面积的比例值;第二灰度填充模块,用于根据所述比例值确定各像素点所需填充的灰度值,并利用具有所述灰度值的像素填充所述“填充区域”和“非填充区域”。
[0145] 其中第一梯度和第二梯度的计算方式,与方法实施例中描述的相同。
[0146] 综上所述,由本发明实施例的技术方案可以看出,在本发明实施例中,通过在第一方向上扫描光栅化图像,定位所述第一方向上的锯齿,然后具有利用不同等级的中间灰度的像素,填充所述第一方向上的锯齿所在的区域,使得锯齿所在区域的像素灰度值平缓变化,从而消除了光栅化图像中的锯齿现象,输出的图像显示平滑。
[0147] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。