C++用opencv给图片画圆
时间: 2024-12-28 16:40:49 浏览: 3
在C++中使用OpenCV库绘制圆形,你需要利用其图像处理功能。以下是一个简单的步骤示例:
```cpp
#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>
// 创建一个基本函数来绘制圆形
void drawCircle(const cv::Mat& img, int centerX, int centerY, int radius, const cv::Scalar& color) {
// 保证点在图像范围内
if (centerX >= 0 && centerY >= 0 && centerX < img.cols && centerY < img.rows) {
// 使用circle函数,在指定位置绘制圆形
cv::circle(img, cv::Point(centerX, centerY), radius, color);
}
}
int main() {
// 加载一张图片
cv::Mat src = cv::imread("path_to_your_image.jpg");
if (!src.data) {
std::cout << "Error loading image!" << std::endl;
return -1;
}
// 设置颜色和半径
cv::Scalar circleColor(0, 255, 0); // 绿色,你可以自定义颜色
int circleRadius = 50; // 圆的半径
// 调用drawCircle函数并显示结果
cv::Mat dst;
drawCircle(src, img.cols / 2, img.rows / 2, circleRadius, circleColor); // 圆心通常设置为图像中心
cv::imshow("Circle on Image", dst);
// 等待用户按键退出
cv::waitKey(0);
return 0;
}
```
阅读全文