Opencv:如何获取两个圆心的坐标?
我有点小问题,需要帮助。我有一个有两个圆的图像,我想得到中心的坐标。有一圈我就解决了这个问题。我不知道第二圈有多热。有什么想法吗 这是我的密码:Opencv:如何获取两个圆心的坐标?,opencv,image-processing,Opencv,Image Processing,我有点小问题,需要帮助。我有一个有两个圆的图像,我想得到中心的坐标。有一圈我就解决了这个问题。我不知道第二圈有多热。有什么想法吗 这是我的密码: Mat canny_output; vector<vector<Point>> contours; vector<Vec4i> hierarchy; Canny(BGRFilter,canny_output,100,200,3); findContours(cann
Mat canny_output;
vector<vector<Point>> contours;
vector<Vec4i> hierarchy;
Canny(BGRFilter,canny_output,100,200,3);
findContours(canny_output,contours,hierarchy,CV_RETR_TREE,CV_CHAIN_APPROX_SIMPLE,Point(0,0));
vector<Moments> mu(contours.size());
for (int i=0;i<contours.size();i++)
{
mu[i]=moments(contours[i],false);
}
vector<Point2f> mc(contours.size());
for (int i=0;i<contours.size();i++)
{
mc[i]=Point2f(mu[i].m10/mu[i].m00,mu[i].m01/mu[i].m00);
}
Mat drawing = Mat::zeros( canny_output.size(), CV_8UC3 );
for( int i = 0; i< contours.size(); i++ )
{
Scalar color = Scalar( 121, 100, 90 );
drawContours( drawing, contours, i, color, 2, 8, hierarchy, 0, Point() );
circle( drawing, mc[i], 4, color, -1, 8, 0 );
}
Mat canny\u输出;
矢量等值线;
向量层次;
Canny(BGRFilter,Canny_输出,100200,3);
findContours(canny_输出、轮廓、层次、CV_RETR_树、CV_链近似_简单、点(0,0));
向量μ(等高线.size());
对于(int i=0;i可以用于查找圆。如果hough圆未找到圆
试试看我用霍夫圆检测法解决了这个问题。谢谢