首页 > 编程笔记 > C++笔记 阅读:2

OpenCV ellipse()函数:绘制矩形(附带实例)

函数 ellipse() 用来绘制或者填充一个简单的椭圆弧或椭圆扇形,该函数声明如下:
void cv::ellipse(
    InputOutputArray img,
    Point center,
    Size axes,
    double angle,
    double startAngle,
    double endAngle,
    const Scalar& color,
    int thickness = 1,
    int lineType  = LINE_8,
    int shift     = 0
);
各个参数的含义如下:
下面来看一个示例,绘制丰田车标。丰田车标是由 3 个椭圆组成的,两个横着,一个竖着。

1) 打开 Qt Creator,新建一个控制台工程,工程名是 test。

2) 在 IDE 中打开 main.cpp,输入如下代码:
#include <iostream>
#include <opencv2\imgproc\types_c.h> // for CV_RGB2GRAY
#include <opencv2/core.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/imgproc.hpp>
using namespace std;
using namespace cv;

int main(int argc, char** argv)
{
    // 绘制丰田车标
    Mat image1 = Mat::zeros(900, 900, CV_8UC3);// 900×900的窗口
    // 绘制第一个椭圆,大椭圆,颜色为红色
    ellipse(image1, Point(450, 450), Size(400, 250), 0, 0, 360, Scalar(0, 0, 225), 5, 8);
    // 绘制第二个椭圆,竖椭圆
    ellipse(image1, Point(450, 450), Size(250, 110), 90, 0, 360, Scalar(0, 0, 225), 5, 8);
    // 绘制第三个椭圆,小椭圆(横)
    ellipse(image1, Point(450, 320), Size(280, 120), 0, 0, 360, Scalar(0, 0, 225), 5, 8);
    imshow("Toyota", image1);
    waitKey();
    return 0;
}
代码很简单,调用 ellipse() 函数 3 次画 3 个椭圆,要注意算好距离。

3) 保存工程并运行,结果如下图所示:

相关文章