OpenCV绘制实心圆C++程序
时间: 2024-02-02 16:03:37 浏览: 102
#include<opencv2/opencv.hpp>
using namespace cv;
int main() {
Mat img = Mat::zeros(Size(512, 512), CV_8UC3);
Point center = Point(img.cols / 2, img.rows / 2);
circle(img, center, 100, Scalar(0, 255, 0), -1);
imshow("Circle", img);
waitKey(0);
return 0;
}
相关问题
OpenCV绘制实心圆C++
以下是使用OpenCV绘制实心圆的C++示例代码:
```c++
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
// 创建一个黑色的图像
Mat image = Mat::zeros(400, 400, CV_8UC3);
// 定义圆心和半径
Point center(200, 200);
int radius = 100;
// 绘制实心圆
circle(image, center, radius, Scalar(0, 0, 255), -1);
// 显示图像
imshow("Solid Circle", image);
waitKey(0);
return 0;
}
```
该代码首先创建一个大小为400x400的黑色图像。然后,定义圆心和半径,并使用`circle`函数绘制实心圆,颜色为红色(BGR格式)。最后,使用`imshow`函数显示图像,并使用`waitKey`等待用户按下任意键以退出程序。
绘制实心三角形 c++ OPENCV
在 OpenCV 中,使用 C++ 来绘制实心三角形通常会涉及到基本图形操作,特别是当你想要使用 `cv::circle()` 函数来创建三角形效果的时候,可以稍微做一些调整。OpenCV 提供了 `rectangle()` 或者 `drawContours()` 等函数用于绘制矩形和轮廓线,但我们可以通过组合小的圆形来模拟实心三角形。
下面是一个简单的示例,展示如何使用 `rectangle()` 创建一个类似实心三角形的效果:
```cpp
#include <opencv2/opencv.hpp>
int main() {
// 创建一个黑色图像
cv::Mat img = cv::Mat::zeros(200, 200, CV_8UC3, cv::Scalar(0, 0, 0));
// 定义三角形的顶点坐标
int x = 50, y = 75;
int width = 100, height = 100;
// 绘制三个相连的小圆作为三角形的顶点
for (int i = 0; i < 3; ++i) {
cv::rectangle(img, cv::Point(x + i * width / 2, y), cv::Point(x + i * width / 2 + width, y + height), cv::Scalar(255, 255, 255), -1); // 第二个参数设置为-1表示填充颜色
}
// 显示图像
cv::imshow("Filled Triangle", img);
cv::waitKey(0);
return 0;
}
```
注意,这并不是真正的三角形,而是三个并排的小正方形,因为 OpenCV 的 `rectangle` 函数默认绘制的是矩形。如果你需要精确的三角形形状,你可能需要自定义算法,比如遍历顶点并逐像素绘制。
阅读全文