我正在尝试为我的SLAM项目模拟镜头失真效果。在OpenGL中已经给出并加载了扫描的彩色三维点云。我想做的是在给定的姿势下渲染2D场景,并在鱼眼相机的真实图像和渲染的图像之间进行一些视觉里程测量。由于相机存在严重的镜头失真,因此在渲染阶段也应该考虑到这一点。
问题是我不知道把镜头变形放在哪里。着色器?
我已经找到了在几何体着色器中放置失真的some open codes。但这一次,我猜失真模型不同于计算机视觉社区中的镜头失真模型。在CV社区中,镜头变形通常发生在投影平面上。
This one与我的工作非常相似,但他们没有使用失真模型。
有谁有好主意吗?
我刚找到another implementation。他们的代码实现了片段着色器和几何着色器的失真。但片段着色器版本可以应用于我的情况。因此,我想下面的方法是可行的:
# vertex shader
p'=T.model x T.view x p
p_f = FisheyeProjection(p') // custom fish eye projectionhttps://stackoverflow.com/questions/44489686
复制相似问题