我需要在我的C ++应用程序中显示3D图像。我从同一点获得了一些物体的2D切割图像。
是否有可以帮助我的图书馆例如从8张图片创建模型?实际上我正在使用OpenGL,但我不确定它是否足够。
我知道,也有程序可以做到这一点,例如insight3d或GPU Gems。但我想在我自己的C ++应用程序中完成它。 (或者Java会更好?)
以下是我正在使用的2D图片的一些示例。
在OpenGL中进行3D切割。我在图片中找到了区域的边界(边缘检测),将坐标放在Vector(X和Y)中,然后为不同Z轴上的每个图片绘制GL_points。我创建了一个图像骨架,但它不是一个3d对象。
答案 0 :(得分:1)
很难判断您的问题是针对游戏还是只是以3D形式查看图像。如果只是为了查看图像,VTK具有Java和C ++扩展。 VTK具有学习曲线,但是是用于医疗和体积成像的强大3D渲染工具。它适用于Qt,因此您可以轻松构建一个漂亮的GUI。
ImageJ还有一些用于3D查看的Java扩展。
如果你想深入研究内部工作原理,两者都是免费的并提供完整的源代码。
附件是一堆MicroCT PNG图像,我使用VTK在3D中渲染。
祝你好运!
答案 1 :(得分:0)
嗨Thamiar在考虑了一点之后我可能会使用行进立方体算法将切片显示为3d,您可以尝试查看 Marching cubes algorithm tutorial ,这非常简洁并且记录得相当充分,图片看起来与您正在寻找的相似。还有另一个网站 here ,它提供了很多信息,也有一些供您查看的资源。
如果我可以继续提供帮助,请告诉我,我会尝试。