我想创建并显示一个带有纹理的3D模型。我有以下信息:
- 灰度图像,尺寸:NxM
- 每个像素处的深度值
- 每个像素处的法线
使用此信息,如何创建 wrl/obj 文件模型,以便可以将纹理和形状一起显示为 3D 模型?
第一个目标是将数据转换为 vtkPolyData,然后直接将其输出为 OBJ。
您必须计算 3D 点。如果数据是以非投影方式获取的,则只需使坐标的"x"和"y"值与像素指数成比例,使深度值与灰度值成比例。如果没有,您需要知道用于获取图像的相机的校准矩阵,然后从相机中心通过每个像素拍摄光线,并沿着每条射线移动与灰度值成比例的量,以找到点的 (x,y,z) 坐标。
获得 3D 点后,很容易附加法线和颜色。