【问题标题】:Accuracy of the center with hough circle transform霍夫圆变换的中心精度
【发布时间】:2015-07-28 09:51:03
【问题描述】:

我尝试使用 Hough Circle 算法从 https://github.com/Itseez/opencv/blob/master/samples/cpp/houghcircles.cpp 但我需要更准确的坐标。

当我得到这些坐标时 这个

for( size_t i = 0; i < circles.size(); i++ )
{
     Vec3i c = circles[i];
     cout<<c[0]<<"  "<<c[1]<<endl;
}

它只打印整数部分。 是否有可能使中心更精确(小数点后 4 位或更多)?

【问题讨论】:

标签: opencv geometry hough-transform


【解决方案1】:

您通过将坐标分配给整数向量 (Vec3i) 将坐标显式转换为整数。如果您像这样打印它们,您将打印从 OpenCV 获取的值:

cout<<circles[0]<<"  "<<circles[1]<<endl;

但是,这些结果可能并不像您希望的那样准确。在这种情况下,您目前的方法不走运,因为 OpenCV 无法提供更准确的结果。

【讨论】:

  • 是的,你是对的,但即使我喜欢所有的值看起来都像 ---.5 ,它总是 0.5 它不准确!你知道找到更准确的任何可能性吗?
  • 查看我编辑的答案:使用该方法可能无法获得更准确的结果。您唯一可以尝试的是将dp 参数设置为1./16 之类的值,以获得图像分辨率16 倍的霍夫累加器。但是,我不知道这是否真的有效......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-24
  • 2015-05-03
  • 1970-01-01
相关资源
最近更新 更多