【发布时间】:2021-10-21 17:07:01
【问题描述】:
我将把这个问题分成三部分
首先,我遇到了这个问题,不知道从哪里开始,如果您一直在解决相关问题,请给我一些提示和关键字来帮助我做更多研究?
我自己做了一些研究
这里是一些 2D 胸部 CT 扫描(抱歉,由于信誉规则,我无法直接实现图像)
所有照片的角度相同。所以我想我可以简单地将每张照片读取为像素向量,进行一些阈值保持,以使所有黑色和黑色像素都成为非彩色像素。接下来,我将为这些向量创建一个名为 vector_of_photo 的向量。然后vector_of_photo中每个向量的索引现在是Z-index。 现在我可以从这些像素向量中渲染出 3D 照片了吧?
其次,我在理解光线投射算法时遇到了麻烦,
我认为这里的想法是,当我已经得到一个像素框时,每次我旋转该框时,它都会从相机的那个角度投射直线到该框,每条线都会找到一个有颜色的像素停止投射并渲染该像素(或更具体地说,将像素复制到平面上的确切位置)。
我理解正确吗?
最后,OPENGL/c++ 部分只是我想我要用来解决这个问题的选项。而且我不太确定这是不是一个好主意,所以请给我一些关于我应该看看的编程语言、库或模块的更多提示。
【问题讨论】:
-
我很一般,用问号 (?) 更容易解释问题。尽管您似乎有三个潜在的问题,但您只有一个问号。也许您可以更清楚地表达您的问题?
-
Marching cubes,也许?
-
对不起@Neil 我的项目是关于使用光线投射算法重建 3d
-
所以你有在常规等值面上拍摄的图像,你想建立一个模型?然后您使用光线投射查看该模型?
-
见 archive 的这个已删除的 QA stackoverflow.com/a/48092685 所以你可以将 CT 扫描直接输入 3D 纹理并使用 GLSL 着色器来支持光线跟踪/光线投射......但是渲染光线投射的确切形式/ rayrtrace 方法取决于您想要实现的目标,您知道有透明度、SSS 次表面散射和其他技术来渲染 3D 体素对象(不仅仅是边界表示)
标签: c++ algorithm opengl raycasting 3d-reconstruction