[发明专利]一种多线宽线段绘制反走样处理方法在审
申请号: | 202111557520.9 | 申请日: | 2021-12-19 |
公开(公告)号: | CN114283222A | 公开(公告)日: | 2022-04-05 |
发明(设计)人: | 于黎明;冯红斌;王静静 | 申请(专利权)人: | 中国航空工业集团公司洛阳电光设备研究所 |
主分类号: | G06T11/20 | 分类号: | G06T11/20;G06T1/20 |
代理公司: | 西北工业大学专利中心 61204 | 代理人: | 陈星 |
地址: | 471099 *** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 多线宽 线段 绘制 走样 处理 方法 | ||
本发明提出一种多线宽线段绘制反走样处理方法,首先根据要绘制的线段起点及终点坐标,计算要绘制的线段斜率,判断斜率以及起点及终点坐标是否满足条件,若不满足则进行预处理;然后以线宽m为基准,计算起点(X0,Y0)及附近点的亮度系数;基于起点(X0,Y0)及附近点的亮度系数,通过循环迭代方式计算起点及终点之间各个点的亮度系数。本发明支持线宽的设定,可设置带小数的数值。计算过程没有求平方根等复杂运算,仅使用CPU或者单片机即可,不需要显示核心,减少了设备的体积功耗。
技术领域
本发明涉及图形图像处理领域,具体为一种适合嵌入式系统使用的多线宽线段绘制反走样处理方法,支持非整数线宽线段的绘制和反走样处理。
背景技术
近年来,在机载嵌入式领域,小屏幕绘图需求越来越广泛,常见的与用户交互的设备都带交互小屏幕。此类设备有一定的显示需求,但是对显示的帧率要求不高,使用专用显示芯片将会增加功耗、体积和成本,因此一般使用单片机或者CPU直接进行图形的绘制,而绘制直线则是最为基础的部分。
嵌入式系统CPU计算能力相对于通用CPU要弱很多,因此绘制线段的算法在保证显示效果的情况下,速度要尽可能的快。目前公认的绘制直线最快的算法为Bresenham算法,但是其仅仅支持单线宽(即线宽为一个像素),虽然可以通过绘制多条相邻线段来支持整数多线宽,但该方法不支持反走样,绘制出来的线段存在锯齿,显示效果较差,无法满足显示需求;而常用的快速反走样算法:Wu反走样算法,虽然显示效果不错,但仅仅是针对单线宽的反走样,没有涉及到多线宽,且无法通过绘制多条相邻线段拼凑的方法实现多线宽线段的绘制。
因此,需要针对嵌入式系统设计一种多线宽且支持小数线宽的反走样算法,以满足实际应用需要。
发明内容
为解决现有技术存在的问题,本发明提出一种多线宽线段绘制反走样处理方法,包括以下步骤:
步骤1:获取要绘制的线段起点坐标(X0,Y0)和终点坐标(Xn,Yn),计算线段的斜率k,确定是否满足斜率k∈(0.0,1.0)且X0不大于Xn的条件,若满足,则进行之后步骤,若不满足,则对线段起点坐标和终点坐标进行预处理,使其满足上述条件;
步骤2:确定起始点(X0,Y0)及附近点的亮度系数:
以线宽m为基准,计算出(X0,Y0)上下各个点的亮度系数,亮度系数的计算方法为:
当m为1.0时,仅计算(X0,Y0)一个点,亮度系数为1.0;
当m∈(1.0,3.0]时,计算(X0,Y0-1)(X0,Y0)(X0,Y0+1)三个点,系数分别为(m-1.0)/2.0,1.0,(m-1.0)/2.0;
当m∈(3.0,5.0]时,计算(X0,Y0-2)(X0,Y0-1)(X0,Y0)(X0,Y0+1)(X0,Y0+2)五个点,系数分别为(m-3.0)/2.0,1.0,1.0,1.0,(m-3.0)/2.0;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国航空工业集团公司洛阳电光设备研究所,未经中国航空工业集团公司洛阳电光设备研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111557520.9/2.html,转载请声明来源钻瓜专利网。