是否可以在Android-Opencv中构建基于CUDA的opencv代码?
我的目的是在Android opencv中启用CUDA构建一个Opencv项目?
有人试过吗?我用谷歌搜索并发现它没有任何线索?
答案 0 :(得分:9)
OpenCV不支持CUDA for Android,因为任何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
答案 1 :(得分:6)
Android不支持CUDA,谷歌团队倾向于使用Renderscript来解决移动设备上的高性能(GPU)计算问题,因为他们拥有多个供应商(NVidia,Imagination,Qualcomm,Intel,Samsung)处理。他们在2013 Google I / O上发表了一篇关于Renderscript的演讲,并介绍了他们的理性。
https://developers.google.com/events/io/sessions/331954522
鉴于只有一个设备允许GPU上的Renderscript(Nexus 10),某人可能会将OpenCV移植到Renderscript,但我不知道任何完整的项目。
答案 2 :(得分:1)
虽然这个问题早已被接受为答案,但我想添加一个链接到Nvidia网页,在那里他们提供有关该主题的更多信息,因为CUDA实际上可以在Tegra K1和linux x64的某些Android设备中实现如果我没错。
答案 3 :(得分:1)
是的,tegra SDK已经捆绑了opencv,其中包含一些示例,证明了这些速度。
以下是使用cuda accelerated opencv的教程:
http://docs.nvidia.com/gameworks/content/technologies/mobile/opencv_tutorial_cuda.htm
我在Tegra驱动的Android设备上测试了这些演示应用程序。样本有一个切换按钮,可以看到加速和不加速之间的区别。