【OpenCV】图形生成算法:多边形的扫描转换

本文介绍了OpenCV中多边形的扫描转换算法,包括求交、排序、配对和着色四个步骤。重点讨论了扫描线与多边形边相交时,特别是与顶点相交时的处理策略,以及边相关扫描填充算法的基本思想。最后提到了OpenCV的fillPoly()函数用于绘制多边形,并推荐了一个示例代码。
摘要由CSDN通过智能技术生成

昨天被人问到“扫描线算法”,只有个模糊的印象,好多都想不起来了。。。复习一下

多边形

扫描线算法是针对计算机中多边形的显示。多边形三条或三条以上的线段首位顺次连接所组成的封闭图形,有凸多边形(任意两顶点间的连线均在多边形内)和凹多边形(任意两顶点间的连线有不在多边形内的部分)。


多边形在计算机中有顶点表示和点阵表示两种。

顶点表示就是用多边形的顶点序列来表示多边形。点阵表示是用位于多边形内的象素集合来表示多边形。顶点表示占内存少,几何意义强,易于进行几何变换;而点阵表示丢失了许多几何信息(如边界、顶点)。但光栅显示图形需要点阵表示形式。

多边形的扫描转换就是把多边形的顶点表示转换为点阵表示。


扫描转换算法

按扫描线顺序,计算扫描线与多边形的相交区间,再用要求的颜色填充这些区间的象素。步骤如下:

求交:计算扫描线与多边形各边的交点; 
排序:把所有交点按x值递增顺序排序; 

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值