将表示对象的所有维度的一组2d图像​​变换为3d模型

时间:2011-09-22 14:31:54

标签: algorithm 3d textures

给定一组覆盖物体所有尺寸的二维图像(例如汽车及其屋顶/侧面/正面/读取),我怎样才能将其转换为三维物体?

是否有任何库可以做到这一点?

由于

3 个答案:

答案 0 :(得分:0)

这些“2D图像”通常称为“纹理”。您可能需要一个3D库,它允许您指定具有位图纹理的3D模型。该库将取决于您使用的平台,但首先要看OpenGL!

OpenGL for PHP
OpenGL for Java
......等等。

答案 1 :(得分:0)

我听说程序“Poser”使用人体形式的启发式方法来做这件事,但我不相信这在理论上是可行的。您要求从平面数据构建体积数据(推断第三维。)

我认为你必须对你的几何学做出大量的假设,即使这样,你也只有这个对象的壳。如果你做得好,你会有一个连续的表面来表示对象的边界 - 而不是体积对象本身。

像Tomas建议的那样,你能做的就是将这些2D图像拍到某个东西上。但是,您仍然需要构建三角形网格曲面,并实际进行所有建模,以便呈现3D曲面。

我希望这会有所帮助。

答案 2 :(得分:0)

目前可以做任何接近自动要求的事情是非常专有的。没有图书馆,但也有一些产品。

这个核心问题是匹配图像中的对应点,并且可以说,图像A中的这个点是图像B中的这个点,它们都匹配图像C中的这个点等。

有三种方法可以解决这个问题,手动匹配(你有照片,必须用你自己的大脑来找到相应的点),编码目标和纹理匹配。

PhotoModeller,www.photomodeller.com,1,145.00美元,支持手动匹配和编码目标。您打印出一堆图像,将它们附加到您的对象,拍摄您的照片,软件在每张图片中找到目标并根据这些点创建一个3D对象。

PhotoModeller扫描仪,2,595.00美元,增加纹理匹配。比较微小的图像比特以查看它们是否代表相同的源区域。

PhotoModeller产品都依赖于使用经过校准的相机拍摄图像,您可以在每次拍摄时使用一致的焦距,并通过校准过程来映射相机的镜头失真。

如果您可以进行手动匹配,Google SketchUp的匹配照片功能可以完成工作,SketchUp是免费的。如果您可以拍摄新照片,可以将自己的目标(如彩色贴纸点)添加到对象中,以帮助您生成轮廓。

如果您的图像是绘图,如个人资料,平面视图等.PhotoModeller对您没有帮助,但SketchUp可能只是您需要的工具。您必须手动构建每个零件,因为您必须提供智能以识别哪些线和点从图纸到图纸对应。

我希望这会有所帮助。