2

我从这里有一个全景单镜头镜头:http ://www.0-360.com/我使用 python 图像库编写了一个脚本来将图像“解包”成全景图。不过我想自动化这个过程,因为目前我必须指定图像的中心。此外,获得圆的半径也很好。输入图像如下所示:在此处输入图像描述

“展开”的图像如下所示:在此处输入图像描述

到目前为止,我一直在尝试霍夫圆检测。我遇到的问题是选择要使用的正确值。此外,有时,中心圆附近的深色物体似乎会将其甩开。

我的其他想法:

  1. 解包图像的霍夫线检测。基本上,选择中心像素作为中心,然后展开并查看顶部和底部的线条是直的还是“弯曲的”。如果不直,那么继续尝试不同的中心。
  2. 矩/斑点检测。也许我可以找到中心斑点并找到它的中心。问题是有时我会在暗盘的中心看到一个明亮的环,如上图所示。此外,中心附近的黑暗物体的问题。
  3. 将镜子的顶部斜面涂成绿色等独特的颜色,以便更容易检测圆形?如果我使用绿色并且只使用绿色通道,检测会更容易吗?

什么是我应该尝试使用的最佳方法来获取该图像的中心以及可能是外环和内环的半径。

4

2 回答 2

1

由于您的图像有多个具有共同中心的圆圈,因此您可以这样移动,例如

  1. 用霍夫圆检测圆并考虑具有共同中心的圆。

  2. 现在检查同心圆的比率,因为您的图像保持该比率不变。

于 2014-03-03T05:31:02.613 回答
1

我想不要让它太花哨。黑色中心位于图像的中心,对吗?在图像中心附近切割一个方形 ROI,并在那里寻找“黑色”区域。存储所有“黑色”像素位置并找到它们的中心。您可以考虑使用 CMYK 颜色空间来检测黑色区域。

于 2014-03-03T06:01:49.227 回答