ellipse2Poly用法
时间: 2024-05-15 20:12:58 浏览: 122
ellipse2Poly是OpenCV中的一个函数,用于将椭圆转换为一系列点的坐标。它的函数原型如下:
```
void cv::ellipse2Poly(
Point center, // 椭圆中心点
Size axes, // 椭圆主轴、副轴长度
int angle, // 椭圆旋转角度
int arcStart, // 椭圆弧线起始角度
int arcEnd, // 椭圆弧线结束角度
int delta, // 椭圆弧线分段数
std::vector<Point> & pts // 输出点坐标
)
```
其中,输入参数center为椭圆中心点,axes为椭圆主轴和副轴的长度,angle为椭圆旋转角度,arcStart和arcEnd为椭圆弧线的起始和结束角度,delta为椭圆弧线分段数。输出参数pts为一个存储点坐标的向量。
使用示例:
```cpp
#include <opencv2/opencv.hpp>
#include <vector>
using namespace cv;
int main() {
Mat img(512, 512, CV_8UC3, Scalar(255, 255, 255));
Point center(256, 256);
Size axes(100, 50);
int angle = 30;
int arcStart = 0;
int arcEnd = 360;
int delta = 10;
std::vector<Point> pts;
ellipse2Poly(center, axes, angle, arcStart, arcEnd, delta, pts);
polylines(img, pts, true, Scalar(0, 0, 255), 2);
imshow("ellipse2Poly", img);
waitKey(0);
return 0;
}
```
上述代码中,我们创建了一个512x512大小的白色图像,然后定义了一个椭圆,使用ellipse2Poly函数将椭圆转换为一系列点坐标,并绘制出来。最后,我们将结果显示出来。
阅读全文