从透视图到正交图

时间:2016-04-12 12:28:19

标签: c++ image-processing cimg

所以我的问题,正如我在标题中所说的那样,我有一个透视图中的图像,我将其转换为正交视图。

但据我所知,这个例子: enter image description here

需要从相机到NearClip平面和FarClip平面的距离。

我想知道我是否会完全错误,如果有办法在不知道距离的情况下完成这项工作呢?

如果是的话,我假设它很简单,例如矩阵乘法,但经过几个小时的研究后,我转向你搜索任何可能出现的帮助...

非常感谢!

祝你好运!

编辑:我将解释上下文,也许它可以帮助。 我有一个拍摄全景照片的鱼眼相机(例如下面) enter image description here

我的最终目标是创建6个立方体(6个图像,如果你在立方体中,则对应于立方体的上,下,右,左,前和后)。所以我尝试使用equirectangular投影来创建一个包含6个立方体的图片。

但问题是鱼眼​​采取透视图。所以我的6张照片是透视图。而且我希望他们能够正常...:'(

2 个答案:

答案 0 :(得分:3)

如果不做出几个假设,这是不可能的。距离或物体尺寸..

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

如果可行,则不需要3D成像或远心镜头。

当然你也可以假设你的物体是球体。然后你知道在你的重建中要添加什么,但总的来说这是不可行的。

答案 1 :(得分:0)

这可能是一个古老的问题,但是对于不如示例那么极端的图片,现有的“不可能”答案是不正确的。 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上找到一些示例,并且在https://gamedev.stackexchange.com/questions/129415/converting-real-life-perspective-photos-into-orthographic-view-for-texture-creat上可以找到StackExchange的答案

这两种方法都不够广泛,无法使鱼眼镜头的图像失真,但是找到此页面并希望调整图像并具有更常见失真的任何人都可以使用这些选项。