【问题标题】:Which straight line detection algorithms will still detect lines that have suffered a degree of lens distortion in photos?哪些直线检测算法仍能检测照片中出现一定程度镜头畸变的直线?
【发布时间】:2017-08-07 23:47:18
【问题描述】:

我发现了关于检测图像中直线的其他问题,我将继续阅读。

但我知道,在许多照片中,现实生活中的直线最终都是弯曲的。

我不需要去弯曲鱼眼失真或任何极端的东西。

但我想处理“典型”量的曲线失真,就好像它们仍然是直线一样。

是否有一些算法或技术可以“足够好”地处理这个问题?

这是我一本书的旧照片,显示了我想到的那种弯曲的直线。这是曲率和镜头畸变的一个很好的例子。 (通常由于背景中的其他线条,这可能不是一个很好的例子,但这与当前问题的重点无关。)

【问题讨论】:

  • 如果您知道相机的内在参数,或者可以得到它们,那么您可以执行lens distortion correction,使直线再次变直。通常只解决径向畸变就足够了。 OpenCV 有一个camera calibration 工具,它更详细地描述了获取这些参数的过程。此过程称为相机校准。
  • 另外,如果你知道用来收集图像的镜头,那么LensFun 是一个工具,它为许多商业镜头预先计算了模型。
  • Hough 将继续检测到中度扭曲的线条。但是您应该向我们展示典型的图像。
  • @YvesDaoust:添加示例!感谢您的反馈。

标签: image-processing photo edge-detection distortion straight-line-detection


【解决方案1】:

边缘的曲率似乎没有那么严重,最坏的情况是霍夫变换只会将边缘分成几段。

我会更担心边缘缺乏对比度(白底白字),这会导致检测失败。

【讨论】:

  • 如前所述,这只是我为曲率选择的随机图片,在典型情况下比我预期的要差。此特定图像的其他问题对于该问题并不重要,因为真正的问题将是处理平面矩形对象的许多不同图像。
  • 当我要求一个典型的图像时,我不是要求一个随机的。我知道什么是失真。我不知道你的情况。
【解决方案2】:

事实证明,用于直线检测的最流行技术之一也存在于使用曲线的版本中。

它被称为“霍夫变换”

它最初用于检测直线,但已推广到也可以处理曲线和其他任意形状。来自维基百科的文章:

经典的霍夫变换关注的是 图像中的线条,但后来霍夫变换已扩展到 识别任意形状的位置,最常见的是圆形或 省略号。

甚至还有关于使用霍夫变换处理镜头畸变的具体主题的论文:

【讨论】:

    猜你喜欢
    • 2020-04-23
    • 2013-09-17
    • 2014-05-22
    • 1970-01-01
    • 1970-01-01
    • 2020-03-07
    • 2013-06-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多