【OpenCV】Learning OpenCV3 第六章笔记
绘制和注解
color
,thickness
,lineType
,是几乎所有绘制函数的参数,第一个按照BGR的顺序指定了绘制图形的颜色(无论被绘制的图像是RGB还是BGR),第二个指定了绘制的线条的宽度,第三个指定了线型,其中第三个只能接受4,8或cv::LINE_AA三个参数,分别是:
其中Anti-aliased表示抗锯齿处理,根据课后习题,四连通的点数往往多于线长,八连通的点数往往少于线长,且所有绘制函数的默认是使用八连通
所有绘制图形的函数都有一个shift
参数,提供了亚像素级的图形绘制方法,作用是指定绘制图形所需参数(比如圆心,半径)的小数点的位置,shift=1,表明,圆心、半径的最后1位bit会被解释为小数,如果原来的圆心是(5,5),shift=1,则圆心是(2.5,2.5)
函数 | 功能 |
---|---|
cv::circle() | 画圆 |
cv::clipLine() | 判断线是否在矩形内,当且仅当在矩形外返回false |
cv::ellipse() | 画椭圆,可以画矩形的内接椭圆 |
cv::ellipse2Poly() | 给出椭圆上的一系列点的位置 |
cv::fillConvexPoly() | 画一个填充的多边形,比cv::fillPoly()快,但不允许边之间出现相交 |
cv::fillPoly() | 可以处理多边形自交的情况 |
cv::line() | 画线 |
cv::rectangle() | 画矩形 |
cv::polyLines() | 不填充的多边形 |
cv::LineIterator() | 直线上的所有点的迭代器 |
cv::putText() | 写字 |
cv::getTextSize() | 不写如图片的情况下获得text的size |
总结
本章给出了一些在图片上绘制和注解的函数