1、嵌入式OpenVX-计算机视觉库
http://blog.chinaunix.net/uid-69947851-id-5828037.html
OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。实现了图像处理和计算机视觉方面的很多通用算法。
由于各种硬件厂商生产的芯片结构功能差别很大,同样的c语言代码在不同硬件上实现起来性能也有很大差异,所以想要最大程度发挥硬件性能,必须针对硬件本身进行代码优化。这样,同样的算法,不同硬件优化以后的代码是不一样的,这就对开发者造成很大困扰,因为一旦要换平台实现某个功能,原来的代码就不能用了。
OpenVX标准制定的目的就是为了实现了跨平台加速处理。
基本加速原理:
图像处理就是对图片矩阵数组进行一系列操作,然后从结果中找出我们想要的信息。每一次对图像的基本操作都可以看成整个流程中的一个节点(node),这个节点通过自己处理前和处理后的图像和其他节点相连,形成一个网络(graph)。硬件开发商需要做的事情之一,就是想办法针对自己的硬件实现node的代码,使之符合OpenVX的标准且能在自己的硬件上得到优化。接下来,开发者就只需要把这些node连成graph,实现自己的功能。最后,开发商再针对自己的硬件对graph进行优化加速。
2、官网