opencv 读取电脑中的图片,识别图片中的圆形,输出圆的坐标和半径 c++ 代码
时间: 2023-06-15 09:06:41 浏览: 136
opencv 读取图像
以下是使用OpenCV库读取图片、识别圆形并输出圆的坐标和半径的C++代码:
```cpp
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main(int argc, char** argv)
{
// 读取图片
Mat image = imread("image.jpg", IMREAD_GRAYSCALE);
// 检测圆形
vector<Vec3f> circles;
HoughCircles(image, circles, HOUGH_GRADIENT, 1, image.rows/8, 200, 100);
// 输出圆的坐标和半径
for (size_t i = 0; i < circles.size(); i++)
{
Vec3f c = circles[i];
cout << "圆 " << i+1 << " 坐标:(" << c[0] << ", " << c[1]
<< ") 半径:" << c[2] << endl;
}
return 0;
}
```
其中,`imread`函数用于读取图片,`HoughCircles`函数用于检测圆形,`Vec3f`类表示圆的坐标和半径,`circles`数组存储所有检测到的圆。最后,利用循环遍历数组,输出每个圆的坐标和半径。
阅读全文