c++opencv画圆
时间: 2023-11-15 15:04:55 浏览: 163
opencv画圆
在C++中使用OpenCV库可以很方便地画圆。下面是一个简单的例子,展示了如何在白色背景上画一个红色的实心圆并保存为a12.jpg。
1. 首先需要引入OpenCV库的头文件,包括opencv2/opencv.hpp、opencv2/core.hpp、opencv2/imgcodecs.hpp和opencv2/highgui.hpp。
2. 创建一个Mat对象img,用于存储图像数据。可以使用imread函数读取一张白色背景的图片。
3. 定义圆心坐标和半径,以及圆的颜色和线宽等参数。
4. 使用circle函数在img上画圆,函数的参数包括图像对象、圆心坐标、半径、颜色、线宽和线型等。
5. 最后使用imwrite函数将img保存为a12.jpg。
下面是完整的代码:
```
#include <stdio.h>
#include <iostream>
#include <opencv2/opencv.hpp>
#include <opencv2/core.hpp>
#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui.hpp>
using namespace cv;
using namespace std;
int main(int argc, char **argv) {
Mat img = imread("white.jpg", IMREAD_UNCHANGED);
if (!img.data) {
printf("No image data \n");
return -1;
}
// 定义圆心坐标和半径,以及圆的颜色和线宽等参数
Point center = Point(200, 200);
int radius = 50;
Scalar color = Scalar(0, 0, 255);
int thickness = FILLED;
int lineType = LINE_8;
// 在img上画圆
circle(img, center, radius, color, thickness, lineType);
// 保存图像
imwrite("a12.jpg", img);
namedWindow("Display Image", WINDOW_FREERATIO);
imshow("Display Image", img);
int k = waitKey(0);
return 0;
}
```
阅读全文