cv::circle如何使用
时间: 2024-06-12 08:09:09 浏览: 146
cv::circle函数是OpenCV库中用于绘制圆的函数。它的原型是void cv::circle(InputOutputArray img, Point center, int radius, const Scalar & color, int thickness = 1, int lineType = LINE_8, int shift = 0)。
你可以使用cv::circle函数来绘制实心圆和空心圆。以下是一个示例代码:
#include <iostream>
#include <opencv2/opencv.hpp>
int main() {
// 创建一个黑色的高300,宽600的背景图
cv::Mat image(300, 600, CV_8UC3, cv::Scalar(0, 0, 0));
if (!image.data) {
std::cerr << "[错误] 图像无数据!" << std::endl;
std::exit(EXIT_FAILURE);
}
// 圆心
cv::Point centerCircle1(100, 100);
// 半径
int radiusCircle = 30;
// 颜色
cv::Scalar colorCircle1(0, 0, 255); // (B, G, R)
// 粗细
int thicknessCircle1 = 2;
// 绘制第一个圆
cv::circle(image, centerCircle1, radiusCircle, colorCircle1, thicknessCircle1);
cv::Point centerCircle2(300, 200);
cv::Scalar colorCircle2(0, 255, 0); // (B, G, R)
int radiusCircle2 = 60;
// 绘制第二个实心圆
cv::circle(image, centerCircle2, radiusCircle2, colorCircle2, cv::FILLED);
cv::namedWindow("image", cv::WINDOW_AUTOSIZE);
cv::imshow("image", image);
cv::waitKey(0);
return 0;
}
此代码创建了一个黑色背景的图像,并在图像上绘制了两个圆,一个是空心圆,另一个是实心圆。你可以根据自己的需求修改圆心位置、半径、颜色和粗细。
阅读全文