Introduction


The Open Source Computer Vision (OpenCV) package is a collection of native (C/C++) libraries containing over 2500 low- and mid-level image processing and computer vision functions. This free, open source (BSD licensed) package has been around for a decade and is widely used by application developers to create both open-source and commercial, high-level computer vision applications. It has a large community of around 50,000 users all over the world and has been downloaded over eight million times.

OpenCV supports several desktop and mobile operating systems including Windows, Linux, Mac OS X, Android and iOS. It runs on x86, MIPS, and ARM CPU architectures. Currently, it also supports CUDA on both desktop and mobile GPUs. The cross platform nature of OpenCV is advantageous to developers. It allows them to quickly cross compile their existing OpenCV applications for different platforms without significant effort.

OpenCV for Tegra

OpenCV for Android is a port of OpenCV to run on the Android operating system. It enables the development of mobile computer vision applications for smart phones and tablets using OpenCV.

OpenCV for Tegra is a version of OpenCV for Android that NVIDIA optimized specifically for Tegra platform family. It is available for Android and Vibrante (Embedded Linux) operating systems. On Android, it currently supports Android API levels 9 and higher. It contains Tegra-specific optimizations that enable OpenCV for Tegra to often run several times faster than the open-source OpenCV for Android implementation.

NVIDIA CodeWorks for Android includes a Software Development Kit (SDK) package for OpenCV for Tegra. It is a one-stop shop for everything developers need to start creating their very own blazing fast Android computer vision applications on Tegra using OpenCV.

OpenCV for Tegra is identical to OpenCV for Android in most respects including functionality, usage, and interface. The only difference between them is in the actual execution of functions on the Tegra platforms. The functions in OpenCV for Tegra are highly optimized for Tegra in comparison to the functions in OpenCV for Android.

This documentation is not intended to be a guide for learning OpenCV. If you are new to OpenCV, we recommend that you start with OpenCV’s comprehensive online documentation. It contains a wealth of information including an introduction to OpenCV, a reference manual, which describes its complete Application Programming Interface (API), many tutorials, a user guide, as well as links to books and “how to” videos for beginners of OpenCV.

Further note, that this document assumes some basic familiarity with Android application development. If you are new to Android, we strongly encourage you to first review Develop Apps Using the Android Application Lifecycle.

This chapter provides information about OpenCV for Tegra, its usage models, its interface, some sample Android applications, and instructions on how to include the OpenCV for Tegra libraries in Android applications. Note, that some parts of this information are identical to the corresponding information for OpenCV for Android. However, we also list some features and limitations that are unique to OpenCV for Tegra.

 

 


NVIDIA® GameWorks™ Documentation Rev. 1.0.200601 ©2014-2020. NVIDIA Corporation. All Rights Reserved.