1

我编写了一个 c++ 代码,并将我的帧数据存储在缓冲区中。由于我正在开发自己的 DSP 算法来进行眼睛检测,因此我需要处理数据以适合我的算法。但是,好消息是我必须一次对所有像素应用相同的指令。这就是为什么我想知道OpenGL是否有一种有效的方法(例如一次将所有像素乘以一个数字)?

不幸的是,在我正在使用的硬件平台上,OpenCV 不支持 SIMD,这就是我不能使用 OpenCV 的原因。但是,支持 OpenGL,并且大多数函数调用都是硬件优化的(这意味着它们可以直接与 GPU 对话)。因此,我很好奇是否可以在 OpenGL 中执行此类功能,如果可以,任何人都可以给我一些示例代码,以了解如何有效地处理大数据。

4

1 回答 1

0

是的,你可以做到。它的基本要点是,您将输入数据作为纹理或顶点数据加载到 GPU 上,使用进行计算的着色器进行渲染,然后将结果读回内存。GPGPU.org 是此类事情的一个很好的资源,因为它们自 CUDA/OpenCL 之前的日子就已经存在。

http://gpgpu.org/developer/legacy-gpgpu-graphics-apis

于 2013-02-28T19:06:02.650 回答