在图像处理的过程中,我们有时需要在图像或者视频上画上一些图案或者绘上一些文字。OpenCV中提供了各种功能的绘图函数,使用这些函数,我们可以在图像上绘制直线、矩形、圆、椭圆、多边形等等。
1、cv::circle()
cv::circle()是OpenCV在图像上绘制圆的函数,调用形式如下:
void circle(
cv::Mat& img, // 待绘制的图像
cv::Point center, // 圆心位置
int radius, // 圆的半径
const cv::Scalar& color, // 线条的颜色(RGB)
int thickness = 1, // 线宽
int lineType = 8, // 线型(4邻域或8邻域,默认8邻域)
int shift = 0 // 偏移量
);
2、cv::clipLine()
cv::clipLine()是判断一条直线是否在某个矩形内,有以下两种形式:
bool clipLine( // 如果直线line任何一部分在矩形 'imgRect'内,则返回true
cv::Rect imgRect, // 要穿过的矩形
cv::Point& pt1, // 直线的第一个端点
cv::Point& pt2 // 直线的第二个端点
);
bool clipLine( // 如果直线line任何一部分在图像大小Size内,则返回true
cv::Size imgSize, // 图像的大小,相当于矩形的端点在(0,0)
cv::Point& pt1, // 直线的第一个端点
cv::Point& pt2 // 直线的第二个端点
);
3、cv::ellipse()