学习OpenCV3——第六章:绘图和注释

一、绘图

我们常常会想要画一幅图片,或者在某个其他地方得来的图片上画些东西。为了实现这个目标,OpenCV提供了一大批可以供我们画直线、矩形、圆等图形的函数。

1.艺术线条和填充多边形

画直线或者其它图形(虚线,圆,矩形等)的函数通常可以接受宽度(thickness)和线型(lineType)的参数。这两个参数都是整型的,但是第二个参数的值只能是4,8或者cv::LINE_AA。thickness参数是指线宽的像素数,对于圆、矩形和其他封闭图形,thickness参数可以被设置为cv::FILLES(相当于-1)。这样的话,整个图形就会被用便捷一样的颜色填充满。

图6-1.同一条直线分别使用4领域链接(A)8领域链接(B)和平滑处理(C)的线型

在表6-1中所列出的绘图算法中,端点(直线)、中心点(圆)和角点(矩形)等通常都规定为整型值。然而这些算法都支持使用shift参数来进行亚像素对齐。当shift参数有效时,这个值将被采用来指定整数参数的小数位数。例如,你要画一个圆,设置远心为(5,5),但是又把shift参数设为1,这样会得到一个远心在(2.5,2.5)的圆。这个对齐效果通常会很细微,取决于使用的线型。在平滑处理的直线中这个效果会比较明显。

表6-1:绘图函数
函数描述
cv::circle()画一个简单圆
cv::clipLine()判断一条直线是否在给定的矩形内
cv::ellipse()画一个椭圆(可以倾斜,或者只有部分圆弧)
cv::ellipse2poly()计算一个近似椭圆的多边形
cv::fillConvexPoly()画一个填充的简单多边形
cv::fillPoly()画一个填充的任意多边形
cv::line()画一个简单直线
cv::rectangle()画一个简单矩形
cv::polyLines()画多重折线

2.字体和文字

绘图的一种额外形式就是画文字。

函数名称描述
cv::putText()在图像中绘制指定文字
cv::getTextSize()获取一个文字的高度与宽度

3.小结

在这章里,我们学习了一些可以用来绘制和注释图像的新函数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值