WebGL

OpenVX: Portable, Power Efficient Vision Processing

OpenVX is an open, royalty-free standard for cross platform acceleration of computer vision applications. OpenVX enables performance and power-optimized computer vision processing, especially important in embedded and real-time use cases such as face, body and gesture tracking, smart video surveillance, advanced driver assistance systems (ADAS), object and scene reconstruction, augmented reality, visual inspection and robotics.

OpenVX specifies a high level of abstraction for programming computer vision applications that makes for easier programming and efficient execution on different underlying computing architectures. It defines a consistent and portable vision acceleration API that is based on a connected graph of vision nodes that can use a variety of techniques to optimize execution - such as acceleration on various CPU, GPU, DSP, ISP or other dedicated hardware processors.

  • Royalty-free open standard API
  • Portability across diverse heterogeneous processors
  • Robust conformance test suite for cross platform reliability
  • Flexible and extensible

OpenVX Sample: OpenVX Graph running Bubble Pop.

OpenVX LP Vision Acceleration Graphic

LATEST NEWS

Framing the Future of Image and Sensor Processing with OpenVX


In March 2025 the OpenVX Working Group released five new OpenVX extensions plus roadmap guidance on OpenVX 2.0 to help developers process synchronized metadata more efficiently, ensure compliance with safety standards, and provide insights into future OpenVX enhancements that will make it more powerful, flexible, and easier to implement.

Learn more

Other News

Latest Extensions, Presentations and Blog Posts


  • Blog Post: New OpenVX Extensions Deliver Enhanced Graph Pipelining, Tensor Views of Images, and Sub-Image Array Support. Learn more
  • Presentation: OpenVX for Automotive System, presented by Bosch at Embedded World 2025. View slides

Essential Resources for Using OpenVX

Key OpenVX Resources


Thanks to the support of the Khronos membership and our passionate developer community, there is a full set of well-supported developer tools and resources to help quickly get your application development using OpenVX.

Graph Based Optimization

OpenVX Graph Support


OpenVX allows graph-level processing optimizations, which lets implementations to fuse nodes when possible to achieve better overall performance. The graph also allows for auto graph-level memory optimizations to achieve a low memory footprint. OpenVX graph-optimized workloads can be deployed on a wide range of computer hardware, including small embedded CPUs, ASICs, APUs, discrete GPUs, and heterogeneous servers.

  • OpenVX developers express a graph of image operations, called ‘nodes,’ which can be on any hardware or processor coded in any language.
  • OpenVX Graphs enable implementations to optimize power and performance. Nodes may be fused by the implementation to eliminate memory transfers, and processing can be tiled to keep data entirely in local memory/cache.
  • Host interaction is minimized by the OpenVX Graph during frame-rate graph execution. The host processor can set up a graph which can then execute almost autonomously.
OpenVX LR Graphic

Supporting Diverse Hardware Architectures

Layered Vision Processing Ecosystem


Implementers may use OpenCL or compute shaders to implement OpenVX nodes on programmable processors. Developers can use OpenVX to easily connect those nodes into a graph. The OpenVX graph enables implementers to optimize execution across diverse hardware architectures. OpenVX enables the graph to be extended to include hardware architectures that don’t support programmable APIs.

Full size LP Layered Vision Graphic

New in OpenVX 1.3


Now that the OpenVX API has grown to an extensive set of functions, there is interest in creating implementations that target a set of features rather than covering the entire OpenVX API. In order to offer this option while still managing the API to prevent excessive fragmentation regarding which implementations offer which features, the OpenVX 1.3 specification defines a collection of feature sets that form coherent and useful subsets of the OpenVX API. These feature sets include the following:

  • Base feature set (Basic graph infrastructure)
  • Vision (OpenVX 1.1 equivalent vision functions)
  • Enhanced Vision (Vision functions introduced in OpenVX 1.2)
  • Neural Network (OpenVX 1.2 equivalent neural-network functions, plus the neural network extension and the tensor objects)
  • NNEF (Kernel import plus the tensor objects)
  • Binary Image support (U1)
  • Deployment feature set (for safety critical usage)

Along with the release of OpenVX 1.3, the pipelining, neural network, and import kernel extensions are being updated. For the list of all extensions and features, go to the OpenVX registry.

OpenVX Feature Sets


To enable deployment flexibility while avoiding fragmentation, OpenVX 1.3 defines a number of feature sets that are targeted at common embedded use cases. Hardware vendors can include one or more complete feature sets in their implementations to meet the needs of their customers and be fully conformant. The flexibility of OpenVX enables deployment on a diverse range of accelerator architectures, and feature sets are expected to dramatically increase the breadth and diversity of available OpenVX implementations. The defined OpenVX 1.3 feature sets include:

  • Graph Infrastructure (baseline for other Feature Sets),
  • Default Vision,
  • Enhanced Vision (functions introduced in OpenVX 1.2),
  • Neural Network Inferencing (including tensor objects),
  • NNEF Kernel import (including tensor objects),
  • Binary Images,
  • Safety Critical (reduced features to enable easier safety certification).

COMMUNITY DISCUSSIONS & WORKING GROUP MEMBERSHIP

Get Involved!


There are several ways for the OpenVX community to follow the latest developments, get questions answered and make suggestions for improvement. Alternatively, to participate directly in the development of the OpenVX standard consider joining the openVX Working Group that is actively driving the evolution of the standard and the broader ecosystem.

Join the OpenVX Working Group


Any organization is welcome to join Khronos, and the OpenVX Working Group, under the group’s multi-company, consensus-based governance process. Khronos has multiple levels of membership to enable any organization, large or small to get involved.

  • Join the Khronos Group
  • Current Khronos Members
  • Adopt Khronos Standards
  • Contact .(JavaScript must be enabled to view this email address) for additional information

Join Our Community


You'll find OpenVX community discussions on several forums and social media platforms. It's a great way to get involved!

Use or Implement OpenVX on your Hardware

Conformant Implementations


Hardware vendors provide optimized OpenVX drivers, architected to get the best performance form their silicon architecture and ready for developers to use. Conformant OpenVX drivers are available from the vendors listed in our OpenVX Conformant Products page.

Khronos welcomes any company creating hardware or systems to implement and ship the OpenVX API. The OpenVX specification is free for anyone to download and implement. If you want to use the OpenVX name or logo on your implementation and enjoy the protection of the Khronos Intellectual Property Framework, you can become an OpenVX Adopter. View the OpenVX Adopters Process document.

Support for OpenVX

Industry Quotes


“As a working group, we’ve invested a lot in creating an extensive set of functions that can meet all the needs of OpenVX users. There has been interest in creating implementations that target only a subset of the features that are specific to and necessary for the application. We’ve built OpenVX 1.3 with flexibility in mind, to offer a menu of options for users who want to stay conformant but don’t need the entire specification for their application. We believe this work increases performance portability and scalability of OpenVX across vendors, enabling greater ease of implementation and promoting adoption of the standard while still enabling interoperability.”

Kiriti Nagesh Gowda
OpenVX Working Group Chair, AMD

“Raspberry Pi is excited to bring the Khronos OpenVX 1.3 API to our line of single-board computers. Many of the most exciting commercial and hobbyist applications of our products involve computer vision, and we hope that the availability of OpenVX will help lower barriers to entry for newcomers to the field.”

“Basemark is happy to collaborate with OpenVX workgroup in development of the API. We see OpenVX as one of the key APIs for performant and safety-critical machine vision applications that actually can be deployed in production systems. We support OpenVX in Rocksolid, our compute and graphics engine, and as part of our SoC performance testing software such as the Basemark Automotive Testing Suite.”

“As a leader in Vision DSPs being used in the Mobile, AR/VR, Automotive, and Surveillance markets, we would like to congratulate the OpenVX working group on releasing the latest version of the standard. We are excited to be part of the OpenVX working group.”

“We are excited to be a partner to Khronos in developing the CTS and samples for Version 1.3 and porting it to Raspberry Pi. This will provide guidance to developers in the ecosystem and enable them to develop a wider range of applications more quickly using a smaller memory footprint while achieving better performance. This is an exciting next step in the march towards more capable computer vision and machine learning systems and MulticoreWare is proud to be a leader in this ecosystem.”

A.G. Karunakaran
CEO of MulticoreWare

“Texas Instruments reinforces our support of OpenVX and its benefits to customers developing ADAS-to-autonomous applications for the automotive market. The OpenVX standard helps us to offer an easy-to-use SDK platform for customers developing embedded applications on multi-core, heterogeneous architectures such as TI’s Driver Assist (TDAx) SOCs.”

Stay Informed

Subscribe to the Khronos Newsletter


Stay in the loop by subscribing to our newsletter to receive updates on all our latest resources, news and events.

By subscribing you are consenting to receive marketing emails about news and events relating to the Khronos Group. You can unsubscribe at any time by following the “Unsubscribe” link included in each email sent. For information on our privacy practices and commitment to protecting your privacy, please review our Privacy Policy. We do not sell your contact information to third parties.

Khronos Standard Additional links and information