OpenCV is an open-source computer vision library comprising 500+ API functions for image and video processing.
The videantis OpenCV software portfolio includes a growing set of library functions being made available as accelerated function calls for high-level algorithm implementations on general purpose embedded CPUs. Libray functions are available from the following functional classes:
Image processing
- Histograms
- Filtering, e.g., dilate, erode, Laplace, Sobel
- Image transforms, e.g., affine transform, warp
- Feature detection, e.g. Canny, Hough
Feature detection and descriptor extraction
- Feature detection and description, e.g., SURF
Object detection
- Cascade classification, e.g., Haar classifier
Video analysis
- Motion analysis and object tracking














Accelerating the execution of OpenCV functions on a processor can be addressed in two ways:
1. tailoring the OpenCV functionality to take advantage of the underlying processor
2. tailoring the processor so it matches the application-specific requirements
Combining both approaches promises the best result. In a recent case study Synopsys used the well-understood CannyEdge algorithm example from the OpenCV library to demonstrate the gains that can be achieved by building an application-specific processor. It shows a gain (in per cycles / pixel) of more than 100x over a plain RISC architecture and more than 10x over an optimized algorithm tailored for the TI DSP 320C64x architecture.
You can learn more from Synopsys’ webinar on this use case, which features the Embedded Vision Processor Starter Kit used in the above-mentioned case study.