Pix*_*xel 8 geometry image-processing
检测图像中圆圈的快速方法有哪些?
例如:我有一个大圆圈的图像,并在大圆圈内有6个小圆圈.
我需要在不使用Hough Circles(OpencV)的情况下找到一个大圆圈.
Ret*_*unk 11
查找圆圈的标准算法是Hough(评论中提到的jamk)和RANSAC.参数化这些算法将为您的应用程序设置基线速度.
http://en.wikipedia.org/wiki/Hough_transform
http://en.wikipedia.org/wiki/RANSAC
要加速这些算法,您可以查看您的图像集合,并决定限制搜索范围是否有助于加快搜索速度.这很简单:只在半径的合理范围内搜索.由于它们将边缘点作为输入,因此您还可以查看减少检查边缘点数量的方法.
但是,还有一些其他技巧可以加快处理速度.
长话短说:先从一个完整的实现和标杆,然后逐渐收紧的参数设置,并同时确保你仍然可以找到适合您的应用程序和图像组圆限制搜索范围.
如果您的图像适合缩放,那么一种可能性是创建不同比例的图像金字塔图像:1/2比例,1/4比例,1/8比例等.您将需要边缘保留缩放方法在较小的规模.
获得图像金字塔后,请尝试以下操作:
图像缩放将是一个快速操作,您可以看到,如果您的圆圈中至少有一个圆圈存在于较小比例的图像中,您应该能够通过在小比例图像中执行粗圆拟合来减少总循环次数,然后在全尺寸图像中优化这些边缘点的拟合.
边缘保留缩放还可以使用相关类型工具来查找圆,但能够这样做取决于图像的内容,包括噪声,边缘点表示圆的完整程度等等.
| 归档时间: |
|
| 查看次数: |
25919 次 |
| 最近记录: |