我有一个WPF应用程序,它从相机获取图像,处理这些图像并显示它们。处理部分已经成为CPU的负担,所以我考虑将这个处理移动到GPU并针对它们运行定制的CUDA内核。基本过程如下:在WPF中显示CUDA处理图像
1)从相机 2)负载的图像获取图像到GPU 3)调用CUDA内核来处理图像 4)显示经处理的图像
甲WPF到CUDA-显示控制策略是我试图弄清楚的。 一旦图像加载到GPU上,它就不必卸载以显示,这似乎很自然。我读过这可以用OpenGL完成,但是我真的需要学习OpenGL并将其包含在我的项目中,以便快速显示CUDA处理的图像吗?
我明白(我认为)从C#调用CUDA内核的问题。我的计划是围绕我的CUDA调用构建一个非托管库,然后我为C#包装 - 或 - 尝试确定哪个托管包装(managedCUDA,Cudafy等)要尝试。我担心使用预构建的包装器之一,因为它们似乎都得到了轻微的支持......但也许我的印象是错误的。
无论如何,经过几天的研究可能的选择,我感觉有点不知所措。任何建议将不胜感激。
谢谢!你已经教给我有关互操作的知识。现在只需要决定从WPF转到DirectX的方式。看起来像另一个开源工具集的决定。这些东西让我感到紧张。候选人似乎是SlimDX和SharpDX。 –