我有一个网格模型(.ply 文件),我用 VTK 渲染了它并改变了相机视点。
从新相机的角度来看,我如何渲染 RGB 和深度图像?我认为这可能是光线追踪,但不确定
编辑
我想生成一个真实的深度图,而不仅仅是深度的可视化。可以通过使用 Z 缓冲区中的值并在 0-255 之间缩放来实现可视化,但这不提供真实的深度信息。
最佳答案
为了从相机获得真实世界的深度,我做了以下事情:
double z = render_win->GetZbufferDataAtPoint(x,y);
worldPicker->Pick(x, y, z, renderer);
worldPicker->GetPickPosition(coords);
double euclidean_distance = sqrt(pow((coords[0] - cam_pos[0]), 2) + pow(coords[1] - cam_pos[1], 2) + pow(coords[2] - cam_pos[2], 2));
其中 cam_pos
是真实世界坐标中的相机位置。这似乎可以解决问题
关于c++ - 从网格渲染 RGB-D 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17654545/