【问题标题】:Opencv - circle image warpOpencv - 圆形图像扭曲
【发布时间】:2012-03-18 02:10:37
【问题描述】:

我只是想知道是否有人对我如何解决这个问题有任何想法。我设置了一个相机来寻找一个圆(使用霍夫圆),但由于透视,它检测到的圆与实际图像居中。这是因为从相机位置的透视扭曲,“圆”实际上是一个椭圆。 任何帮助是极大的赞赏。 (由于“垃圾邮件措施”,我无法发布图片,但可以在 here 找到。

【问题讨论】:

  • 我的问题是如何纠正此图像的预期扭曲,以便圆圈与图像上的圆圈实际匹配。

标签: c++ image-processing opencv


【解决方案1】:

如果您的所有图片都与您发布的图片相似,您可以轻松应用斑点检测方法:

  • 二值化您的图像(具有适当值的阈值)
  • 先通过腐蚀去除伪影,然后再通过膨胀去除
  • 查找 blob
  • 对于所有找到的 blob,查找中心、区域、矩等,以找到您感兴趣的那个(周围可能还有其他较小的 blob)
  • 一些关于斑点像素的统计数据可以准确地告诉您椭圆参数

【讨论】:

  • 非常感谢您的意见,请问我可以从 ellipse 获得哪些统计数据来帮助我纠正预期的扭曲。
  • 我已经从blob椭圆计算了边界框,正如您在回答中所说的那样,首先找到轮廓,然后使用 fitElipse 函数找到一个椭圆,我可以找到高度和宽度。我如何使用这些值来获得透视扭曲?
  • 如果你知道椭圆的宽度、高度和中心,你只需要一点几何就可以找出原来的圆。在 Wikipedia 上查找椭圆方程。
猜你喜欢
  • 2017-02-12
  • 1970-01-01
  • 1970-01-01
  • 2021-03-07
  • 2015-03-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-03
相关资源
最近更新 更多