2011-01-31 150 views
1

我有一个随机的2D图像。我希望能够以3D呈现图像。这并不一定非常详细,即使图像像儿童书籍的弹出式剪切图一样被任意分解成图层。从2D图像创建3D效果

目标是在直接观看时给定的图像看起来很正常,但如果观看者要左右移动/倾斜,则会出现3d效果。

此类似,但并不完全相同,因为这问题在这里: How to create 3D streoscopic images using MATLAB with image tool?

这完全是超必杀: http://make3d.cs.cornell.edu/

而这很可能是正确的轨道上: http://www.imagemagick.org/Usage/distorts/#perspective

我的理想实现是使用ImageMagick的自动化PHP脚本获取图像并将其吐出(,按照优先顺序):表示每个层

  1. 图像,从最近的 到最深的(更靠近 儿童的立体书层类推)表示所述视图
  2. 5图像 (直接,左,右,顶,底部)

一直这样做了(任上述理想实现),或有没有人知道该怎么做的所有或部分的呢?

+1

你的实际问题是什么? – misha 2011-01-31 02:10:59

回答

1

至于你的问题的第一部分而言,这听起来像你理想实现http://make3d.cs.cornell.edu/,不同之处在于:

  • 你想更简单(从一组固定角度的影像传反对
  • 你想让它与ImageMagick的和PHP

我认为最后的限制是不现实的,因为有数学和计算机可见相当数量的演练)离子背后this kind of problem。 Imagemagick将帮助您处理仿射变换等较低级别的图像处理任务,但它并不真正提供所需的更高级别的计算机视觉功能,如3D图像重建。

所以我的建议是尝试并以某种方式解决这个限制。如果你使用更合适的工具(比如C++和OpenCV,或者像Make3D那样的Matlab)来实现这个方法,那么你可以将它包装在一个CGI应用程序中,以便你的PHP脚本可以访问它。康奈尔(Make3D的作者)曾经有过类似的事情,但看起来他们不再这样做了。

对于问题的第二部分,你想要做的背后的理论已经得到了相当充分的研究。有关深度估算文件的列表,请参阅hereHere是东西在源代码中的样子。