I want to make a image recognition program for rasberry pi. I started in OpenCV, however just discovered OpenVX, a hardware accelerator for OpenCV. Being that speed and efficiency are important on an embedded system I'm curious on how to take advantage of this new technology. Do I have to port over my code to OpenVX or is it a program that runs in conjunction with my OpenCV program?
From the project's own website:
OpenVX can be used directly by applications or to accelerate higher-level middleware, such as the popular OpenCV open source vision library[...]
... which seems pretty clear to me - you can use OpenVX directly or as support for OpenCV.
However it is also clear that OpenVX is currently vapourware - it exists only as a specification and a set of header files (no actual library).
The provisional release of the specification enables developers and implementers to provide feedback before specification finalization, which is expected within six months.
The above quote is from a helpfully undated page, but was originally in a press-release of November 19th 2013. So it may now be near completion as a specification, but perhaps a long way from code complete.
Also to be used there will need to be OpenVX support for RPi's GPU which may be a bigger barrier to use on RPi until some third party implements it.