OpenCV vs OpenVX for embedded system

时间:2014-05-29 01:28:32

标签: c++ opencv embedded raspberry-pi openvx

我想为rasberry pi制作一个图像识别程序。我从OpenCV开始,但刚刚发现OpenVX,一个OpenCV的硬件加速器。由于速度和效率在嵌入式系统中非常重要,我很好奇如何利用这项新技术。我是否必须将我的代码移植到OpenVX,或者它是一个与我的OpenCV程序一起运行的程序?

3 个答案:

答案 0 :(得分:7)

来自项目的own website

  

OpenVX可以直接被应用程序使用或加速更高级别的中间件,例如流行的OpenCV开源视觉库[...]

enter image description here

...这对我来说非常清楚 - 您可以直接使用OpenVX或支持OpenCV。

然而,很明显OpenVX目前是 vapourware - 它仅作为规范和一组头文件存在(没有实际的库)。

  

该规范的临时版本使开发人员和实施者能够在规范最终确定之前提供反馈,预计将在六个月内完成。

以上引用来自一个有用的未注明日期的页面,但最初是在2013年11月19日的press-release中。所以它现在可能接近完成作为规范,但也许很长从代码完成的方式。

同样需要使用OpenVX支持RPi的GPU,这可能是在RPi上使用的更大障碍,直到某些第三方实现它。

答案 1 :(得分:7)

仅仅在一年后的2015年更新相关信息更新这个问题.OpenVX绝对是,现在是vapourware :-)有一个参考样本实现和驱动程序正在推出制造商为其他芯片组。

而且,虽然还没有完全加速,但你确实可以将OpenVX加到Raspberry Pi上 - as per the instructions here(其中包括可能使其更快的讨论/链接)。 Pi的底线是图像处理是密集的,不管所使用的库是什么,并最终由如何"可访问" Broadcom GPU芯片......

答案 2 :(得分:0)

OpenVX's main page所述,OpenVX现在具有新角色。 (与2014年的clifford 's answer相比)

现在,OpenVX面向低功耗实时应用程序,我们找不到图,这意味着OpenVX不再是Opencv的基本组件。

一张比较表指出了它们目前的不同范围:

  • OpenCV:非常广泛的数千种成像和视觉功能 相机API /接口
  • OpenVX:专注于核心硬件 加速了移动视觉功能,但用途可扩展 外部/本地相机API