2014-02-24 45 views
2

我在我的项目中处于艰难时刻,不确定如何进一步推进:
我已经在使用openCV的照片中识别出了一个对象,并且我想为其添加深度 - 现在并不重要真实世界的测量。
我想添加深度,以便将构造的形状发送到3D打印机。
反正有没有在Android中使用opencv这样做?再次,这是不是3D重建 - 我有一张照片,我只是想给深度的对象,像这样:在Android中动态创建3D对象

give depth to a 2D shape

我想这样做,通过将相同的2D形状上本身几次,它会给“深度”。
有什么建议吗?我应该使用的图书馆?

+1

大声笑,你想不做任何工作的3D重建;) – berak

+0

生成的3D对象总是立方体的对象吗? –

+0

@RuiMarques这将是一个金字塔/立方体/二者的组合..在某种程度上“对称”的东西只是需要深入一些。 贝拉克 - 这不是我的错,这是3D重建的更容易的部分:) – geo1302

回答

1

这里有两个相互关联的方面:如何表示您的2D图像,以及您打算如何将其挤出到3D,然后如何计划为3D打印机写出3D模型。后者我认为你会希望作为一个STL文件。

从Android/Java直接编写STL文件似乎没有太多,但http://www.printingin3d.eu/javascad看起来很有前途。我没有使用库或做任何3D打印是诚实的,但我知道可能有一些关于如何构建您的对象的规则,以确保它可以在打印时正确“切片”。这可能会影响你如何构建2D对象。

所以回到挤压 - 你如何持有你的2D对象;它是一系列(x,y)点吗?如果是这样,那么一种方法是将你的多边形分割成三角形(即创建一个网格),然后通过拉长z轴得到一系列棱镜,将这些多边形转换成三维对象。然后,您可以将所有这些对象添加到一个集合中,并使用javascad将其作为STL文件写出。