OpenCV (open source computer vision) was developed for real-time computer vision applications and is used widely in robotics for vision applications like facial recognition, gesture recognition, human–computer interaction, in mobile robotics for object identification, segmentation and recognition, motion tracking, augmented reality, and the list can continue.
With a large support for operating systems like Windows, Linux, Mac OS, iOS or Android, in the following are available a series of tutorials that covers everything about how to setup the OpenCV software on all these operating systems.
With an opened platform, Open Source Computer Vision is one of the most used real-time vision software in robotics for educational, hobbyists or research purposes. It is written in C++ and has its interface compatible with C++, Python, Java, and Matlab/Octave.
The latest version 2.4.8 of OpenCV was released at the end of 2013 and is available here for the above operating systems:
The following tutorials explored common installations and configuration requirements on several platforms in order to start developing vision applications for robots.
Setup OpenCV on Android and Examples
Even is a robot that runs Android OS, or a robot controlled with a mobile devices such as smartphones and tablet computers that runs Android OS, the operating system based on the Linux kernel is widely adopted in the robotics community to acquire, process, analyze and understand images.
In the following, I explore several tutorials from where you can learn how to install the OpenCV on Android OS, how to use the vision software with development environments, as well as many more resources to start develop applications.
- Introduction to OpenCV – this tutorial is part of the official documentation for OpenCV 2.4.8 and is the starting point in working with OpenCV and Android OS. Even was written for Windows 7 users, it should work with Linux and Apple Mac OS as well. Following all the well documented steps of this tutorial, finally you have a development environment based on Eclipse ready for your first own application;
- Using Android binary package with Eclipse – a guide that follows step by step the setup of Android development environment on all operating systems supported by Android SDK including Windows 7, Linux Ubuntu, or Mac OS;
- Introduction into Android Development – a guide that helps you to learn the basics of Android and OpenCV development on Windows 7, Linux Ubuntu, Mac OS X, or any other operating system supported by Android SDK;
- OpenCV on Android – based on the OpenCV 2.4.3 version, this is another tutorial from where you can learn how to setup the OpenCV on Eclipse and start working on Android Virtual Device Manager;
- Building OpenCV4Android from trunk – comprehensive tutorial how to setup the Android NDK, CMake, and OpenCV on different operating systems including Windows, Mac OS, and Linux;
- Get started with OpenCV on Android – from this tutorial you can learn how to get started with OpenCV version 2.4.3 on Android, how to capture and process images from the Android camera with OpenCV, as well as display the results of the processed image;
- OpenCV Tutorial 1: Camera Preview – if you have finally done successfully the installation of OpenCV for Android OS, this could be a good exercise to understand how Android OS and OpenCV are interfaced to have a camera preview of your mobile device;
- Android eye detection updated for OpenCV 2.4.6 – finally you can build the first real-time application that highlight the true power of the OpenCV software;
Setup OpenCV on iOS and Examples
Since was renamed as iOS on 2010, the operating system became a main point in the Apple marketing literature as a common operating system for the iPhone, iPad, and iPod Touch. The iOS has definitely impressed features for robotic applications, while a list with tutorials and examples will demonstrate the sense of using iOS with OpenCV.
- Installation in iOS – short guide to follow for OpenCV setup to run with iOS using CMake and Command Line;
- Installing OpenCV for iOS – from this tutorial you can learn step by step how to setup the OpenCV to work with iOS operating system and start building applications in minutes;
- Building OpenCV for iPhone in one click – sometimes you can use shortcuts to reach the ultimate goal, and in this tutorial you can find the right script to build the OpenCV library for the iPhone, iPad, and any other device that runs the iOS operating system;
- OpenCV iOS – Video Processing – with this tutorial you enter in the sample area of image processing. This is a simple example of where you can learn how to process video frames using the iPhone’s camera and OpenCV;
- Computer vision with iOS Part 1: Building an OpenCV framework – if you want to install the OpenCV for iOS devices and then start to build the first application that uses the camera and the real-time computer vision software, this tutorial describes step by step how to start and what to do in order to make the first step in computer vision for OpenCV and iOS;
- OpenCV iOS Hello – tutorial with simple application for OpenCV and iOS;
- Near realtime face detection on the iPhone w/ OpenCV port – comprehensive tutorial to learn how to use and the iPhone and OpenCV for real-time face detection and tracking;
Setup OpenCV on Windows Phone and Example
Things went slowly between the OpenCV and Windows Phone and there are real plans to support the Windows Phone 8 in the following versions. Regarding Windows Phone 7, the situation is slightly better with more information and fewer applications.
This section will be updated with tutorials and applications after official support of OpenCV for WP 7 and WP 8.
- Face Detection For Windows Phone 7 – this is a guide that shows you how to use a library built for Windows Phone OS to perform a face detection application with OpenCV and Windows Phone 7;
Setup OpenCV on Linux and Examples
One of the most common operating system in robotics is Linux and this is a good reason to explore a long list with tutorials that explain you how to setup the OpenCV framework on different Linux versions, and learn how to build vision applications from several examples.
- Installation in Linux – the official OpenCV setup tutorial on Linux Ubuntu 10.04 or later;
- OpenCV – this is an installation guide of OpenCV on Linux Ubuntu;
- Installing OpenCV on Debian Linux – a complete tutorial from where you can learn how to setup OpenCV 2.4.2 or 2.4.3 on Linux Debian;
- Installation on Linux – installation steps and details how OpenCV can run together with the Code Blocks IDE to build visual applications;
- Beginning OpenCV – simple example how to use the OpenCV on Linux OS to load an image;
- Object Tracking on the Raspberry Pi with C++, OpenCV, and cvBlob – Raspberry Pi is a single board computer able to run a full version of Linux, and this is a good example to learn how to develop an application for OpenCV and Linux on the Raspberry Pi for image processing and object tracking using a simple webcam;
Setup OpenCV on Windows and Examples
The OpenCV community includes a complete support for all Windows PC versions and for development environments such as Visual Studio or NetBeans IDE. Given the wide range of operating system version, I try to cover with tutorials and examples the most used Windows versions including here the Windows 7 and Windows 8 operating systems.
- Installation in Windows – this is the tutorial from the community that show you step by step how to install the OpenCV software on Windows 7;
- Using OpenCV 2.4.2 with Visual Studio 2012 on Windows 7 (64-BIT) – comprehensive tutorial to setup OpenCV with Visual Studio forWindows 7 (64-bit);
- Installing & Configuring with Visual Studio – comprehensive guide to install and configure the OpenCV with Visual Studio on Windows 7;
- How to Use OpenCV with Java under NetBeans IDE – complete guide to setup the OpenCV and NetBeans IDE on Windows 8;
- OpenCV 2.4.3 with Microsoft Visual Studio 2012 on Windows 8 (64-bit) – more than a complete tutorial from where you can learn how to setup OpenCV on Windows 8;
- Install OpenCV in Windows for Python – if you would like to use Python programming language with OpenCV under Windows, you can start to learn from this tutorial how to install the entire suite of software;
Setup OpenCV on Mac OS and Examples
- OpenCV–Face Detection for Java Developers – comprehensive tutorial from where you can learn how to setup the OpenCV on Mac OS and start building a vision application for face detection in Java programming language;
- Tutorial: Installing OpenCV on Mac OS X Mountain Lion – if you would like to use the Mac OS X Mountain Lion with OpenCV, you can start from this tutorial that show you how to make the setup and build the first application that load an image and save it;
- Installing OpenCV on Mac Mountain Lion/Mavericks – simple guide to setup the OpenCV on Mac Mountain Lion or Mavericks;
This article was last modified on 03 February 2014.