OpenVX-Based Python framework for real-time cross-platform acceleration of embedded computer vision applications

Ori Heimlich, Elishai Ezra Tsur

Research output: Contribution to journalArticlepeer-review


Embedded real-time vision applications are being rapidly deployed in a large realm of consumer electronics, ranging from automotive safety to surveillance systems. However, the relatively limited computational power of embedded platforms is considered as a bottleneck for many vision applications, necessitating optimization. OpenVX is a standardized interface, released in late 2014, in an attempt to provide both system and kernel level optimization to vision applications. With OpenVX, Vision processing is modeled with coarse-grained data flow graphs, which can be optimized and accelerated by the platform implementer. Current full implementations of OpenVX are given in the programming language C, which neither supports advanced programming paradigms, such as object-oriented, imperative, and functional programming, nor does it has runtime or type checking. Here, we present a python-based full Implementation of OpenVX, which eliminates much of the discrepancies between the object-oriented paradigm used by many modern applications and the native C implementations. Our open-source implementation can be used for rapid development of OpenVX applications in embedded platforms. Demonstration includes static and real-time image acquisition and processing using a Raspberry Pi and a GoPro camera. Code is given in Supplementary Material. Code project and linked deployable virtual machine are located on GitHub:

Original languageEnglish
Article number28
JournalFrontiers in ICT
Issue numberNOV
StatePublished - 2016
Externally publishedYes

Bibliographical note

Publisher Copyright:
© 2016 Heimlich and Ezra Tsur.


  • Code: Python
  • Embedded computer vision
  • Object-oriented framework
  • OpenVX
  • Real-time


Dive into the research topics of 'OpenVX-Based Python framework for real-time cross-platform acceleration of embedded computer vision applications'. Together they form a unique fingerprint.

Cite this