Secure CheckoutPersonal information is secured with SSL technology.
Free ShippingFree global shipping
No minimum order.
OpenVX is the computer vision API adopted by many high-performance processor vendors. It is quickly becoming the preferred way to write fast and power-efficient code on embedded systems. OpenVX Programming Guidebook presents definitive information on OpenVX 1.2 and 1.3, the Neural Network, and other extensions as well as the OpenVX Safety Critical standard.
This book gives a high-level overview of the OpenVX standard, its design principles, and overall structure. It covers computer vision functions and the graph API, providing examples of usage for the majority of the functions. It is intended both for the first-time user of OpenVX and as a reference for experienced OpenVX developers.
- Get to grips with the OpenVX standard and gain insight why various options were chosen
- Start developing efficient OpenVX code instantly
- Understand design principles and use them to create robust code
- Develop consumer and industrial products that use computer vision to understand and interact with the real world
Engineers developing products with a component of computer vision and intelligence in areas such as automotive safety, video surveillance, computational photography, autonomous mobile robots and drones. Computer Engineering students and researchers
- What is OpenVX and why do we need it?
- How portable is OpenVX
- Graph API with opaque memory model
- OpenVX vs. OpenCV and OpenCL
- What you should know before reading this book
2. Build your first OpenVX program
- With Immediate Mode API
- With Graph API
3. Using the Graph API to write efficient portable code
- Node parameters
- Graph parameters
- Execution model
- Asynchronous execution
- Control flow
- User kernels and nodes
4. Building an OpenVX graph
- Linking nodes
- Graph verification
- Parameter validation
- What can be changed at runtime?
5. Deploying an OpenVX graph to a target platform
- Exporting and importing objects
- The XML schema extension
- Immutable graphs
6. Basic image transformations
- Data objects: image, matrix
- Region of interest
- Border modes
- Undistortion with Remap
- Image filtering example
- Virtual objects
- Filter stacking example
7. Background subtraction and object detection
- User kernels
- Object detection example
8. Computational photography
9. Efficient data input/output
- Import an image to OpenVX
- Import a video stream to OpenVX
- Accessing OpenVX data
- Data structures: keypoint, array
- Delay object
- Optical flow example
11. Use OpenVX for deep neural networks
- Neural Network Extension
- Tensor objects
- How to import a network into OpenVX
12. OpenVX safety critical applications
- Feature subsets
13. Using OpenVX with other vision frameworks
- General remarks
14. Making the most of your OpenVX code
- Using OpenVX debugging capabilities to understand what is going on
- Profiling your OpenVX code
- Optimization tips
- No. of pages:
- © Academic Press 2020
- 27th May 2020
- Academic Press
- Paperback ISBN:
- eBook ISBN:
Frank Brill manages OpenVX software development for Cadence’s Tensilica Imaging and Vision DSP organization. Frank obtained his PhD in Computer Science from the University of Virginia and started his career doing computer vision research and development for video security and surveillance applications at Texas Instruments, where he obtained 5 patents related to this work. He then moved into silicon device program management, where he was responsible for several digital still camera and multimedia chips, including the first device in TI’s DaVinci line of multimedia processors (the DM6446). Frank worked at NVIDIA from 2013 to 2014, where he managed the initial development of NVIDIA OpenVX-based VisionWorks toolkit, and then worked at Samsung from 2014 to 2016, where he managed a computer vision R&D team in Samsung Mobile Processor Innovation Lab.
Design Engineering Director, Cadence
Victor Erukhimov is a CEO of itSeez3D, the company that democratized 3D scanning. He also cofounded Itseez, the company that focused on developing computer vision solutions running on embedded platforms, specifically automotive safety systems. He held the positions of CTO, CEO, and President at Itseez, before the company was acquired by Intel Corporation in 2016. Victor was the chair of the OpenVX working group in 2012--2016, creating the standard for cross-platform computer vision API.
Radhakrishna Giduthuri is currently a principal engineer at Intel, focusing on software architecture for Intel AI Accelerators. Prior to working at Intel, he built computer vision, deep learning, and video compression software acceleration libraries for AMD GPUs & CPUs. He has an extensive background with software architecture, development, and performance tuning for various computer architectures ranging from general purpose DSPs, customizable DSPs, media processors, heterogeneous processors, GPUs, and several CPUs. He is the editor of the recent Khronos OpenVX specification documents.
Radhakrishna Giduthuri, Principal Engineer
Stephen Ramm is currently a principal software engineer with Etas, a subsidiary of Bosch, where he is involved with Adaptive Autosar, working on reliable frameworks and development environments for advanced functionality in the automotive, rail, and other safety-critical industries. Until late 2017, he was Director of AI and Vision software at Imagination Technologies, where one of his responsibilities was the team producing an implementation of OpenVX accelerated by Imagination's GPU architecture.
Elsevier.com visitor survey
We are always looking for ways to improve customer experience on Elsevier.com.
We would like to ask you for a moment of your time to fill in a short questionnaire, at the end of your visit.
If you decide to participate, a new browser tab will open so you can complete the survey after you have completed your visit to this website.
Thanks in advance for your time.