c++ 如何用opencv画圆
时间: 2023-05-25 12:05:30 浏览: 212
在OpenCV中画圆的方法是:
1.在图像上选择一个中心点和圆的半径。
2.调用OpenCV的cv::circle功能,设置中心点和半径,即可绘制出圆形。
具体代码如下:
```
cv::Mat image; // 定义Mat对象
// 读取图像
image = cv::imread("image.jpg", cv::IMREAD_COLOR);
//定义圆心和半径
cv::Point center(100, 100);
int radius = 50;
// 画圆
cv::circle(image, center, radius, cv::Scalar(0,255,0), 2);
// 显示图像
cv::imshow("Circle", image);
// 等待按键事件
cv::waitKey(0);
```
在这个示例中,我们将图像的圆心设置为(100,100),半径设置为50,颜色设置为绿色,线宽度为2。最后,我们在窗口中使用OpenCV的imshow函数显示圆。
相关问题
c++ opencv 画圆
下面是使用C++和OpenCV库画圆的示例代码:
```cpp
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
// 创建一个黑色的图像
Mat img = Mat::zeros(Size(512, 512), CV_8UC3);
// 在图像中心画一个红色的圆
circle(img, Point(256, 256), 50, Scalar(0, 0, 255), FILLED, LINE_8);
// 显示图像
imshow("image", img);
waitKey(0);
return 0;
}
```
在上面的代码中,我们首先创建了一个大小为512x512的黑色图像。然后,我们使用`circle`函数在图像中心画了一个半径为50的红色圆。最后,我们使用`imshow`函数显示图像,并使用`waitKey`函数等待用户按下任意键。
c++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;
}
```
阅读全文