OpenCV基本图形绘制之椭圆

 先上代码

#include <iostream>
#include <opencv2/core.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/imgproc.hpp>
#include <opencv2/videoio.hpp>
#include <opencv2/video.hpp>

using namespace cv;
using namespace std;

#define WINDOW_WIDTH 600//自定义窗口大小的宏 

void DrawEllipse(Mat img, double angle) {
	int thickness = 2;
	int lineType = 8;
	
	ellipse(img,
		Point(WINDOW_WIDTH / 2, WINDOW_WIDTH / 2),
		Size(WINDOW_WIDTH / 2, WINDOW_WIDTH / 4),
		angle,
		0,
		360,
		Scalar(255, 129, 0),
		thickness,
		lineType);

}

int main(int argc, char** argv)
{
	Mat img = Mat::zeros(WINDOW_WIDTH, WINDOW_WIDTH, CV_8UC3);
	//DrawEllipse(img, 90);
	//DrawEllipse(img, 0);
	DrawEllipse(img, 45);
	DrawEllipse(img, 60);
	DrawEllipse(img, 80);
	imshow("name1", img);
	waitKey(0);
	return 0;
}

效果

 函数解析

 传入的angle

 默认的水平右为0度,顺时针转动为正度数。逆时针转动为负度数。

扩展弧度

一般设置0-360,如果设置不是这个范围,那么在这个范围外的图形全部不显示。

猜你喜欢

转载自blog.csdn.net/sono_io/article/details/124251828