-2

我发现了关于检测图像中直线的其他问题,我将详细阅读。哪些直线检测算法仍能检测出照片中镜头失真程度的线条?

但我知道许多照片中真实的生活直线最终弯曲。

我不需要消除鱼眼畸变或任何极端情况。

但我想处理一个“典型”的曲线变形量,好像它们仍然是直线。

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

这是我的一本古老的照片,展示了我想到的那种弯曲的直线。这是曲率和镜头失真的一个很好的例子。 (它可能不是一个很好的例子一般是由于在后台的其他行,但是这是目前问题的点旁边。)

Turkish Gabo

+1

如果您知道摄像机的内置参数,或者可以获取它们,那么您可以执行[镜头失真校正](https://en.wikipedia.org/wiki/Distortion_(optics)#Software_correction),它可以使直线笔直再次。通常仅仅解决径向失真就足够了。 OpenCV有一个[摄像机校准](http://docs.opencv.org/2.4/doc/tutorials/calib3d/camera_calibration/camera_calibration.html)工具,它描述了更详细地获取这些参数的过程。这个过程被称为相机校准。 – jodag

+1

另外,如果您知道用于收集图像的镜头,那么[LensFun](http://lensfun.sourceforge.net/lenslist/)是一个工具,它具有许多商业镜头的预先计算好的模型。 – jodag

+1

中度扭曲的线条将继续被Hough检测到。但你应该向我们展示典型的图像。 –

回答

0

事实证明,所采用的最流行的方法之一直线检测也存在于曲线工作的版本中。它被称为“Hough变换”

它最初用于检测直线,但已被推广到也与曲线和其它任意的形状使用。从维基百科的文章:

经典Hough变换与图像中识别的 线而言,但后来Hough变换已经扩展到任意形状的 识别位置,最常见的圆形或 椭圆。

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

2

边缘的曲率看起来并不严重,最坏的情况下,霍夫变换只会在几段中断裂边缘。

我会更担心的是缺乏对比度的边缘(白色白色),可以使检测失败。

+0

如上所述,这只是我选择曲率的随机图片,这比我在典型情况下预期的要差。这个特定图像的其他问题对于这个问题并不重要,因为真正的问题将是处理许多不同的扁平矩形物体的图像。 – hippietrail

+0

当我要求一个典型的图像时,我并不是要求一个随机的图像。我知道失真是什么。我不知道你的情况。 –