哪种直线检测算法仍能检测出照片中出现一定程度镜头失真的直线?

Which straight line detection algorithms will still detect lines that have suffered a degree of lens distortion in photos?

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

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

我不需要去除鱼眼失真或任何极端的曲线。

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

是否有一些算法或技术可以 "good enough" 方式处理此问题?

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

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

叫做"Hough Transform".

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

The classical Hough transform was concerned with the identification of lines in the image, but later the Hough transform has been extended to identifying positions of arbitrary shapes, most commonly circles or ellipses.

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

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

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