我想为 rasberry pi 制作一个图像识别程序。我从 OpenCV 开始,但刚刚发现了 OpenVX,它是 OpenCV 的硬件加速器。由于速度和效率在嵌入式系统上很重要,我很好奇如何利用这项新技术。我必须将我的代码移植到 OpenVX 还是它是与我的 OpenCV 程序一起运行的程序?
3 回答
从项目自己的网站:
OpenVX 可以直接由应用程序使用或加速更高级别的中间件,例如流行的 OpenCV 开源视觉库 [...]
...这对我来说似乎很清楚 - 您可以直接使用 OpenVX 或作为对 OpenCV 的支持。
然而,很明显 OpenVX 当前是蒸汽软件- 它仅作为规范和一组头文件存在(没有实际的库)。
该规范的临时发布使开发人员和实施者能够在规范最终确定之前提供反馈,预计在六个月内完成。
上面的引用来自一个有用的未注明日期的页面,但最初是在2013 年 11 月 19 日的新闻稿中。所以它现在可能作为规范接近完成,但距离代码完成可能还有很长的路要走。
此外,还需要对 RPi 的 GPU 提供 OpenVX 支持,这可能是在某些第三方实施之前在 RPi 上使用的更大障碍。
只是为了在一年后的 2015 年用更相关的信息更新这个问题。OpenVX 绝对是,现在绝对不是vapourware :-) 有一个参考示例实现,制造商正在为其他芯片组推出驱动程序。
而且,虽然它还没有完全加速,但您确实可以将 OpenVX 安装到 Raspberry Pi 上 -按照此处的说明(包括关于可能使其更快的讨论/链接)。Pi 的底线是,无论使用什么库,图像处理都是密集的,并且最终取决于 Broadcom GPU 芯片的“可访问性”......
正如OpenVX 的主页所提到的,OpenVX 现在有了一个新的角色。(与2014 年的克利福德答案相比)
现在,OpenVX 是针对低功耗、实时应用的,我们也找不到暗示 OpenVX 是 Opencv 的基础组件的图片。
一张对比图指出了它们目前的不同范围:
- OpenCV:非常广泛的 1000 种成像和视觉功能 多个相机 API/接口
- OpenVX:专注于移动视觉的核心硬件加速功能——但可扩展使用外部/本地相机 API