从透视图到正交图的转换

3
所以我的问题,就像标题中所说的那样,是我有一张在透视视图中的图像,我想将其转换为正交视图。
但据我所知,需要从相机到近截面和远截面的距离,例如这个示例: enter image description here 我想知道是否完全错误,是否有一种方法可以在不知道这些距离的情况下完成?
如果是,我想这很容易,比如矩阵乘法,但经过几个小时的研究,我转向您寻求任何可以提供帮助的搜索...
非常感谢!
最好的问候!
编辑:我将解释上下文,也许可以帮助。 我有一个鱼眼相机拍了一张全景照片(例如下面的图片) enter image description here 我的最终目标是创建6个立方体(如果你在立方体内,这6个图像对应立方体的上、下、右、左、前和后)。因此,我尝试使用等距投影来创建包含6个立方体的图片。
但问题是鱼眼镜头会产生透视视图。所以我的6张图片是透视的。而我想让它们成为正交的... :'(

我只是想指出,如果你只有近裁剪面,你没有足够的3D图像信息来进行忠实的转换。那些投影是从3D到2D的,而你要求在有些信息丢失后进行2D到2D的转换。 - xvan
我不确定是否理解。你认为这不可能吗? 我会在我的帖子中添加上下文信息,也许可以帮助理解。 - Raph Schim
抬头仰望天空(确保视野不被天花板遮挡)。看到那个大白色圆盘了吗?它的正交投影应该有多大? - n. m.
2个回答

4

如果不做出一些假设,这是不可能的。距离或物体大小...

当然,从您的角度来看,您没有任何有关对象背后的信息。即使您知道距离,也无法获得此信息。

如果可能的话,就不需要3D成像或远心透镜了。

当然,您还可以假设您的对象是球体。然后,您就知道要添加什么内容进行重建,但总的来说,这不可行。


我添加了一些信息。 即使有这些信息,你认为我想做的事情还是不可行吗?/: - Raph Schim
即使您有船长和距离等精确测量数据,结果也会非常糟糕。除了您的短焦距造成的强透视外,还存在多个镜头误差。否则,您的人行道将是直的,而不是弯曲的。 - Piglet
嗯,看起来我在某个地方走错了路,有一些信息在过程中丢失了。 我会尝试找到另一种方法。 谢谢 :) - Raph Schim
有一些框架和算法可以从移动全向相机生成3D数据。一旦你有了3D数据,就可以生成正交投影。 - Rethunk

2
这可能是一个老问题,但"不可能"的现有答案对于比示例更少极端的图片是不正确的。Photoshop有一个镜头校正工具,与免费的Gimp程序一样。 Photoshop工具的教程在https://helpx.adobe.com/photoshop/using/correcting-image-distortion-noise.html#correct_lens_distortion_and_adjust_perspective,显示可以通过选择滤镜 > 镜头校正来完成。虽然你需要知道相机或场景的具体测量值才能完美地纠正图像,但你可以得到非常接近的结果并假设某些物体会有直边或某些线条将是平行的。
Gimp的工具位于过滤器 -> 扭曲 -> 镜头扭曲下,一些示例可以在http://www.texturemate.com/content/how-easily-remove-lens-distortion-photos-using-gimp找到,并且有一个StackExchange答案在https://gamedev.stackexchange.com/questions/129415/converting-real-life-perspective-photos-into-orthographic-view-for-texture-creat 这两个工具可能都不足以从鱼眼镜头中去除图像的畸变,但是对于希望调整有常见畸变的图像的任何人来说,这些选项都是可用的。

令人惊讶的是,我因回答问题并提供一个演示链接而被投票降低了声望。这个演示正好展示了问题所问的功能 - 一种从透视到正交的转换工具。这基本上就是链接的StackExchange问题的标题。当然,对于鱼眼图像来说,它并不是非常有效,但这是一个极端情况,对于任何试图处理普通照片的人来说都不需要。 - user3685427

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接