主要参考了毛星云等著《OpenCV3编程入门》学习了在OpenCV中绘制一些几何图形,包括线段、圆形、矩形、椭圆形、多边形等。由于代码比较简单,直接上代码了,相信大家应该可以看懂。
#include<opencv2/opencv.hpp>
using namespace cv;
#define WINDOW_WIDTH 400
void DrawEllipse(Mat img, double angle); //画椭圆形
void DrawCircle(Mat img, Point center); //画圆形
void DrawPolygon(Mat img); //画凹多边形
void DrawLine(Mat img, Point start, Point end); //画线段
int main()
{
Mat srcimg = Mat::zeros(WINDOW_WIDTH, WINDOW_WIDTH, CV_8UC3);
Mat dstimg = Mat::zeros(WINDOW_WIDTH, WINDOW_WIDTH, CV_8UC3);
//画椭圆形
DrawEllipse(srcimg, 90);
//画圆形
Point center(srcimg.cols / 2, srcimg.rows / 2);
DrawCircle(srcimg, center);
//画凹多边形
DrawPolygon(dstimg);
//画线段
Point start(30, 30), end(200, 200);
DrawLine(srcimg, start, end);
//画矩形
rectangle(srcimg,
Point(0, 100),
Point(50, 200),
Scalar(0,