是否可以在 Android-Opencv 中构建基于 CUDA 的 opencv 代码?
我的意图是构建一个在 Android opencv 中启用 CUDA 的 Opencv 项目?
有人试过吗?我用谷歌搜索并没有发现任何线索?
OpenCV 不支持 Android 的 CUDA,因为任何 Android 设备尚不支持 CUDA。Tegra 5 可能会提供 CUDA 支持(我在嵌入式或 ARM 平台上看到的最接近 CUDA 的是 NVIDIA 的演示开发板 Kayla(https://developer.nvidia.com/content/kayla-platform)。
但是,如果您想要针对现有平台进行优化,您可以充分利用当前的 Tegra 优化。看一眼:
http://docs.nvidia.com/tegra/data/How_to_Use_OpenCV_for_Tegra.html
CUDA 在 Android 中不受支持,谷歌团队倾向于使用 Renderscript 来抽象出移动设备上的高性能 (GPU) 计算问题,因为他们必须处理多个供应商(NVidia、Imagination、Qualcomm、Intel、Samsung) . 他们在 2013 年的 Google I/O 上做了一个关于 Renderscript 的演讲,并涵盖了他们的理性。
https://developers.google.com/events/io/sessions/331954522
鉴于在某些时候只有一台设备允许在 GPU(Nexus 10)上使用 Renderscript,有人可能会将 OpenCV 移植到 Renderscript,但我不知道有任何完整的项目。
尽管这个问题很久以前就被接受为已回答,但我想添加一个指向 Nvidia 网页的链接,在该网页上提供有关该主题的更多信息,因为如果我是,CUDA 实际上可以在某些带有 Tegra K1 和 linux x64 的 Android 设备中实现没有错。
是的,tegra SDK 已经将 opencv 与一堆展示加速的示例捆绑在一起。
下面是使用 cuda 加速 opencv 的教程:
http://docs.nvidia.com/gameworks/content/technologies/mobile/opencv_tutorial_cuda.htm
我已经在我的 Tegra 驱动的 android 设备上测试了这些演示应用程序。样本有一个切换按钮,可以查看加速和不加速之间的差异。