一种基于膨胀腐蚀算法的无失真黑边绘制方法转让专利

申请号 : CN202211609551.9

文献号 : CN115601472B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李涵夏伟杰郭元浩李文强张川周钰致刘伟强周建江苏霖

申请人 : 南京航空航天大学

摘要 :

本发明公开了一种基于膨胀腐蚀算法的无失真黑边绘制方法,对于输入的图像进行灰度化处理后分别进行横向和纵向的二维卷积,像素点的像素值为G,将G=0的像素点的像素值变更为255,将G≠0的像素点的像素值变更为255‑G,再用3×3模板的中心点遍历图像上的每一个像素点,每次以模板内9个像素点中的最小像素值为模板中心点的像素点重新赋像素值,将处理过后的图像与原图像进行叠加处理完成图元的加黑边绘制。本发明能够解决目前采用膨胀腐蚀算法绘制黑边锯齿状严重的问题,为任意图元绘制无失真黑边。

权利要求 :

1.一种基于膨胀腐蚀算法的无失真黑边绘制方法,其特征在于,所述无失真黑边绘制方法包括以下步骤:S1,对于输入的图像example进行灰度化处理后得到图像RGB_data,对图像RGB_data分别进行横向和纵向的二维卷积,将横向和纵向卷积之后的图像的每个像素点的像素值相加得到图像grad=gradx+grady;gradx和grady分别是横向卷积和纵向卷积之后的图像的每个像素点的像素值;

S2,遍历图像grad的像素点,像素点的像素值为G,将G=0的像素点的像素值变更为

255,将G≠0的像素点的像素值变更为255‑G;

S3,采用3×3的模板的中心点遍历图像上的每一个像素点,每次以模板内9个像素点中的最小像素值为模板中心点的像素点重新赋像素值,将处理过后的图像与原图像进行叠加处理完成图元的加黑边绘制;

其中,将模板中心点的像素值赋值给膨胀后的图像Dilation_img相同位置处的像素点,将Dilation_img与原图像example每一通道的像素值按照GD=GD+Ge‑(GD·Ge)/255处理,其中GD为图像Dilation_img的像素值,Ge为图像example的像素值,叠加最终得到加黑边的图像;膨胀后的图像Dilation_img的初始状态为分辨率大小与图像grad相同的像素值全为

0的图像。

2.根据权利要求1所述的基于膨胀腐蚀算法的无失真黑边绘制方法,其特征在于,步骤S1中,对图像RGB_data分别进行横向和纵向的二维卷积,将横向和纵向卷积之后的图像的每个像素点的像素值相加得到图像grad=gradx+grady的过程包括以下子步骤:S11,定义横向卷积模板为 纵向卷积模板为

S12,对图像RGB_data分别进行横向和纵向的二维卷积,其中横向二维卷积得到gradx=conv2(RGB_data,Gx,′same′),纵向二维卷积得到grady=conv2(RGB_data,Gy,′same′);

S13,将横纵向卷积之后的图像的每个像素点的像素值相加得到grad=gradx+grady。

3.根据权利要求1所述的基于膨胀腐蚀算法的无失真黑边绘制方法,其特征在于,步骤S3中,采用3×3的模板的中心点遍历图像上的每一个像素点,每次以模板内9个像素点中的最小像素值为模板中心点的像素点重新赋像素值的过程包括以下步骤:S31,采用3×3的模板 的中心点遍历图像grad的像素点,每次被模板T遍历到的9个像素点的像素值记为 计算出模板T中每一行的最小像素值:

式中,row1、row2和row3分别是第一行、第二行和第三行的最小像素值;

S32,确定出中心点的像素值G5=min(row1,min(row2,row3)),将该位置像素点的像素值赋值给图像Dilation_img相同位置处的像素点,其中图像Dilation_img为膨胀后的图像,图像Dilation_img的初始状态为分辨率大小与图像grad相同的像素值全为0的图像;

S33,将图像Dilation_img与图像example每一通道的像素值按照GD=GD+Ge‑(GD·Ge)/

255处理,其中GD为图像Dilation_img的像素值,Ge为图像example的像素值,叠加最终得到加黑边的图像。

说明书 :

一种基于膨胀腐蚀算法的无失真黑边绘制方法

技术领域

[0001] 本发明涉及图形显示技术领域,具体而言涉及一种基于膨胀腐蚀算法的无失真黑边绘制方法。

背景技术

[0002] 机载平视显示器在强光下图元会出现显示不清楚的情况,再者遇到背景与图元颜色一致时图元会与背景融为一体,极大地影响了飞行员的视觉观感,为了改善显示效果,需要给显示的图元进行加黑边的操作。为了节省资源,通常选用膨胀腐蚀算法为所有图元进行整体加黑边的处理,但是采用膨胀腐蚀算法处理过后的图像为二值图,施加的黑边是锯齿状的,这使得画面整体的显示效果下降,且膨胀过程中采用的按位与操作与加黑边的理念背道而驰会影响到最后画面的显示效果。如何对膨胀腐蚀算法做出优化,高效、简便地完成黑边地绘制成为重要的研究内容。

发明内容

[0003] 本发明针对现有技术中的不足,提供一种基于膨胀腐蚀算法的无失真黑边绘制方法,能够解决采用当前的膨胀腐蚀算法为图元施加的黑边锯齿严重的技术问题,适用于任意图元的黑边绘制算法,便于硬件实现。
[0004] 为实现上述目的,本发明采用以下技术方案:
[0005] 一种基于膨胀腐蚀算法的无失真黑边绘制方法,所述无失真黑边绘制方法包括以下步骤:
[0006] S1,对于输入的图像example进行灰度化处理后得到图像RGB_data,对图像RGB_data分别进行横向和纵向的二维卷积,将横向和纵向卷积之后的图像的每个像素点的像素值相加得到图像grad=gradx+grady;
[0007] S2,遍历图像grad的像素点,像素点的像素值为G,将G=0的像素点的像素值变更为255,将G≠0的像素点的像素值变更为255‑G;
[0008] S3,采用3×3的模板的中心点遍历图像上的每一个像素点,每次以模板内9个像素点中的最小像素值为模板中心点的像素点重新赋像素值,将处理过后的图像与原图像进行叠加处理完成图元的加黑边绘制;
[0009] 其中,将模板中心点的像素值赋值给膨胀后的图像Dilation_img相同位置处的像素点,将Dilation_img与原图像example每一通道的像素值按照GD=GD+Ge‑(GD·Ge)/255处理,其中GD为图像Dilation_img的像素值,Ge为图像example的像素值,叠加最终得到加黑边的图像;膨胀后的图像Dilation_img的初始状态为分辨率大小与图像grad相同的像素值全为0的图像。
[0010] 为优化上述技术方案,采取的具体措施还包括:
[0011] 进一步地,步骤S1中,对图像RGB_data分别进行横向和纵向的二维卷积,将横向和纵向卷积之后的图像的每个像素点的像素值相加得到图像grad=gradx+grady的过程包括以下子步骤:
[0012] S11,定义横向卷积模板为 纵向卷积模板为
[0013] S12,对图像RGB_data分别进行横向和纵向的二维卷积,其中横向二维卷积得到gradx=conv2(RGB_data,Gx,′same′),纵向二维卷积得到grady=conv2(RGB_data,Gy,′same′);
[0014] S13,将横纵向卷积之后的图像的每个像素点的像素值相加得到grad=gradx+grady。
[0015] 进一步地,步骤S3中,采用3×3的模板的中心点遍历图像上的每一个像素点,每次以模板内9个像素点中的最小像素值为模板中心点的像素点重新赋像素值的过程包括以下步骤:
[0016] S31,采用3×3的模板 的中心点遍历图像grad的像素点,每次被模板T遍历到的9个像素点的像素值记为 计算出模板T中每一行的最小像素
值:
[0017]
[0018] 式中,row1、row2和row3分别是第一行、第二行和第三行的最小像素值;
[0019] S32,确定出中心点的像素值G5=min(row1,min(row2,row3)),将该位置像素点的像素值赋值给图像Dilation_img相同位置处的像素点,其中图像Dilation_img为膨胀后的图像,图像Dilation_img的初始状态为分辨率大小与图像grad相同的像素值全为0的图像;
[0020] S33,将图像Dilation_img与图像example每一通道的像素值按照GD=GD+Ge‑(GD·Ge)/255处理,其中GD为图像Dilation_img的像素值,Ge为图像example的像素值,叠加最终得到加黑边的图像。
[0021] 本发明的有益效果是:
[0022] 本发明的基于膨胀腐蚀算法的无失真黑边绘制方法,可以实现为图元施加无失真黑边的功能,显示效果好,便于硬件实现,有效解决了、目前采用膨胀腐蚀算法绘制黑边锯齿状严重的技术问题。

附图说明

[0023] 图1是本发明实施例的基于膨胀腐蚀算法的无失真黑边绘制方法原理图。
[0024] 图2a为需要绘制无失真黑边的小角度斜线仿真图;
[0025] 图2b为采用膨胀腐蚀算法绘制无失真黑边的小角度斜线仿真图;
[0026] 图2c为采用本发明实施例的无失真黑边绘制方法绘制无失真黑边的小角度斜线仿真图。

具体实施方式

[0027] 现在结合附图对本发明作进一步详细的说明。
[0028] 需要注意的是,发明中所引用的如“上”、“下”、“左”、“右”、“前”、“后”等的用语,亦仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。
[0029] 图1是本发明实施例的基于膨胀腐蚀算法的无失真黑边绘制方法原理图。参见图1,该无失真黑边绘制方法包括以下步骤:
[0030] S1,对于输入的图像example进行灰度化处理后得到图像RGB_data,对图像RGB_data分别进行横向和纵向的二维卷积,将横向和纵向卷积之后的图像的每个像素点的像素值相加得到图像grad=gradx+grady。
[0031] S2,遍历图像grad的像素点,像素点的像素值为G,将G=0的像素点的像素值变更为255,将G≠0的像素点的像素值变更为255‑G。
[0032] S3,采用3×3的模板的中心点遍历图像上的每一个像素点,每次以模板内9个像素点中的最小像素值为模板中心点的像素点重新赋像素值,将处理过后的图像与原图像进行叠加处理完成图元的加黑边绘制;其中,将模板中心点的像素值赋值给膨胀后的图像Dilation_img相同位置处的像素点,将Dilation_img与原图像example每一通道的像素值按照GD=GD+Ge‑(GD·Ge)/255处理,其中GD为图像Dilation_img的像素值,Ge为图像example的像素值,叠加最终得到加黑边的图像;膨胀后的图像Dilation_img的初始状态为分辨率大小与图像grad相同的像素值全为0的图像。
[0033] 本实施例的无失真黑边绘制方法的思路是对于输入的图像进行灰度化处理后分别进行横向和纵向的二维卷积,像素点的像素值为G,将G=0的像素点的像素值变更为255,将G≠0的像素点的像素值变更为255‑G,用3×3模板的中心点遍历图像上的每一个像素点,每次以模板内9个像素点中的最小像素值为模板中心点的像素点重新赋像素值,将处理过后的图像与原图像进行叠加处理完成图元的加黑边绘制。
[0034] 具体地,对于输入的图像example进行灰度化处理得到图像RGB_data,定义横向卷积模板为 纵向卷积模板为 对图像RGB_data分别进行横向和纵向的二维卷积,其中横向二维卷积得到gradx=conv2(RGB_data,Gx,′same′),纵向二维卷积得到grady=conv2(RGB_data,Gy,′same′),将横纵向卷积之后的图像的每个像素点的像素值相加得到grad=gradx+grady。遍历图像grad的像素点,像素点的像素值记为G,将G=0的像素点的像素值变更为255,将G≠0的像素点的像素值变更为255‑G,保证处理后的图像是无失真的。
[0035] 改进的膨胀腐蚀算法的原理是用3×3的模板 的中心点遍历图像grad的像素点,每次被模板遍历到的9个像素点的像素值记为 计算出模板中
每一行的最小像素值
[0036]
[0037] 确定出中心点的像素值G5=min(row1,min(row2,row3)),将该位置像素点的像素值赋值给Dilation_img相同位置处的像素点,其中Dilation_img为膨胀后的图像,Dilation_img的初始状态为分辨率大小与grad相同的像素值全为0的图像。将Dilation_img与原图像example每一通道的像素值按照GD=GD+Ge‑(GD·Ge)/255处理,其中GD为图像Dilation_img的像素值,Ge为图像example的像素值,叠加最终得到加黑边的图像。
[0038] 图2a为需要绘制无失真黑边的小角度斜线仿真图,图2b为采用膨胀腐蚀算法绘制无失真黑边的小角度斜线仿真图,膨胀腐蚀算法在对图像进行膨胀处理时会对3×3模板内每行的像素值采取按位与的操作,最后再对每行处理后的结果进行按位与操作确定出模板中心点的像素值,但是需以图像为二值图为基础,这样膨胀腐蚀过后的图像锯齿状严重,严重影响画面的显示效果,图2c为采用本算法绘制无失真黑边的小角度斜线仿真图。本绘制算法在膨胀前的图像不再处理成二值图而是维持灰度图的格式,在膨胀过程中用min函数代替按位与的操作,解决了黑边锯齿的问题,min函数的处理将抗锯齿黑边扩张,避免了按位与操作给抗锯齿黑边带来像素值突变的问题。通过对比可以看出,本绘制算法的显示效果比膨胀腐蚀算法的显示效果更好,解决了黑边锯齿状严重的问题,反走样效果良好。
[0039] 以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。