让代码更简单

OpenCV多边形的绘制、填充函数详解

重要:本文最后更新于2019-01-07 09:01:22,某些文章具有时效性,若有错误或已失效,请在下方留言或联系代码狗

前面讲了opencv绘制直线、矩形、原先等函数算子的用法,有兴趣的可以去前面看看,很多情况下我们图像处理后的内容不是规则图型,前面的函数绘制不出来我们需要的图像,所以我们需要使用今天的多边形相关函数来实现,下面我们一起看看多边形的绘制函数PolyLine、填充函数FillPoly、FillConvexPoly的构成和参数介绍。

FillPoly

填充多边形内部

复制
void cvFillPoly( CvArr* img, CvPoint** pts, int* npts, int contours,
                 CvScalar color, int line_type=8, int shift=0 );
img
图像。
pts
指向多边形的数组指针。
npts
多边形的顶点个数的数组。
contours
组成填充区域的线段的数量。
color
多边形的颜色。
line_type
组成多边形的线条的类型。
shift
顶点坐标的小数点位数。

函数cvFillPoly用于一个单独被多边形轮廓所限定的区域内进行填充。函数可以填充复杂的区域,例如,有漏洞的区域和有交叉点的区域等等。

FillConvexPoly

填充凸多边形

复制
void cvFillConvexPoly( CvArr* img, CvPoint* pts, int npts,
                       CvScalar color, int line_type=8, int shift=0 );
img
图像。
pts
指向单个多边形的指针数组。
npts
多边形的顶点个数。
color
多边形的颜色。
line_type
组成多边形的线条的类型。参见cvLine
shift
顶点坐标的小数点位数。

函数cvFillConvexPoly填充凸多边形内部。这个函数比函数cvFillPoly 更快。它除了可以填充凸多边形区域还可以填充任何的单调多边形。例如:一个被水平线(扫描线)至多两次截断的多边形。

PolyLine

绘制简单或多样的多边形。

复制
void cvPolyLine( CvArr* img, CvPoint** pts, int* npts, int contours, int is_closed,
                 CvScalar color, int thickness=1, int line_type=8, int shift=0 );
img
图像。
pts
折线的顶点指针数组。
npts
折线的定点个数数组。
contours
折线的线段数量。
is_closed
指出多边形是否封闭。如果封闭,函数将起始点和结束点连线。
color
折线的颜色。
thickness
线条的粗细程度。
line_type
线段的类型。参见cvLine。
shift
顶点的小数点位数。

函数cvPolyLine 绘制一个简单的或多样的折线。

感觉很棒!可以赞赏支持我哟~

0 打赏
感谢 1人打赏0.01元

评论 (0)

登录后评论
QQ咨询 邮件咨询 狗哥推荐