我的问题涉及在 GPU 上执行几何图像转换的最有效方法。目标本质上是从获取的图像中实时消除镜头失真。我可以想到几种方法来做到这一点,例如,作为一个 CUDA 内核(这将是更可取的)进行逆变换查找 + 插值,或者在 OpenGL 着色器中进行相同的操作,或者渲染一个正向变换的网格,并将图像纹理映射到它. 在我看来,最后一个选项可能是最快的,因为可以对网格进行二次采样,即不是每个像素偏移都需要存储,但可以在顶点着色器中进行插值。此外,图形管道确实应该为此进行优化。但是,其余的图像处理可能会使用 CUDA 来完成。如果我想使用 OpenGL 管道,我是否需要启动一个 OpenGL 上下文并打开一个窗口来进行渲染,或者这是否可以通过 CUDA/OpenGL 互操作以某种方式实现?目的不是显示图像,处理将在服务器上进行,可能没有附加显示器。我听说如果打开一个窗口,这可能会使 OpenGL 崩溃。
我对 GPU 编程很陌生,任何见解都将不胜感激。