Processing and understanding objects by robots is a complex process designed to produce information based on visual systems and software. Based on idea to duplicate the human vision ability, a computer vision system use electronic parts and algorithms instead eyes and brain. Open Source Computer Vision Library (OpenCV) is the most used libraries in robotics for detection and to understand the objects captured by image sensors.
OpenCV is an open-source library opened for everyone who wants to add new functionalities. It can be downloaded and installed on Ubuntu, Windows or MacOS operating systems. Installation guide with steps and setup is available here.
OpenCV is compatible with next compilers:
- Ubuntu: GCC 4.4.3 (Ubuntu 10.04), GCC 4.6 (Ubuntu 11.10), GCC 4.6.3(Ubuntu 12.04);
- Windows: MSVC 2008, 2010, MinGW 4.5.1 x64, 4.6 x86;
- MacOS: GCC 4.2.1 ;
In order to get started using OpenCV, we make an overview of tutorials and resources focused on OpenCV library.
Detect and Track Objects With OpenCV
In the following we make an overview of tutorials and guides that learn you how to use OpenCV for detection and tracking objects. OpenCV is a library for computer visions designed for analyze, process, and understand the objects from images aiming to produce information.
- OpenCV Tutorials – comprehensive list with basic OpenCV tutorials and source code based on OpenCV library;
- Object Detection & Tracking Using Color – example of application where OpenCV is used to detect objects based on color differences;
- Face Detection Using OpenCV - guide how to use OpenCV to detect one or more faces from the same image;
- SURF in OpenCV – tutorial how to use SURF algorithm designed to detect key-points and descriptors in images;
- Introduction to Face Detection and Face Recognition – face detection and recognition are one of the most common application in computer vision from robotics and this tutorial present the steps how a face is detected and recognized from images;
- Find Objects with a Webcam – using a simple webcam mounted on a robot and this Simple Qt interface designed to work with OpenCV, an object can be detected and tracked in images;
- Features 2D + Homography to Find a Known Object – tutorial with programming code and explanation in order to use two important functions included in OpenCV. These two function used to find objects in images are: findHomography and perspectiveTransform. findHomography is a function based on a technique called
Key-point Matching. perspectiveTransform is an advanced class capable of mapping the points from the image;
- Back Projection – tutorial based on calcBackProject function designed to calculate the back project of the histogram;
- Tracking Colored Objects in OpenCV – tutorial for colored object detection and tracking using OpenCV library;
- OpenCV Tutorials – Based on “Learning OpenCV – Computer Vision with the OpenCV Library” – in order to be familiar with computer vision concepts, these tutorials can be useful for beginner and advanced users;
Detect and Track Object Tutorials for Mobile Devices
Mobile devices like smartphones or tablets that runs iOS or Android operating systems can be integrated into robots and used to detect and track objects. Below is an overview of tutorials with comprehensive information for tracking objects using mobile devices.
- OpenCV Tutorial – comprehensive tutorial how to use iPhone and OpenCV to process frames from video images;
- A Complete iOS OpenCV Sample Project – this tutorial explains how can be used an iPhone and OpenCV API’s together with Objective-C to process images. It can be a source of inspiration for robotics projects where is used an iPhone device for control and to detect objects;
- Using OpenCV on iPhone – tutorial for face detection using OpenCV and iPhone device. There are available steps to setup OpenCV as well as programming code;
- Tutorial 1: Object Recognition With OpenCV and Android – Overview of Object Recognition – using Android device and OpenCV library, this tutorial explains how to setup the Android to detect and track objects in images;
- Developing OpenCV Computer Vision Apps for the Android Platform – resources to detect face using Android device and OpenCV4Android. OpenCV4Android is a customized library designed to run on Android devices;
- Get Started with OpenCV on Android – a tutorial written by a researcher engineer from Sony that uses an Android device and OpenCV library for face detection and tracking;
- Using the EMGRobotics Robot Controller for Android – tutorial that explain how can be used the EMGRobotics, OpenCV, and an Android smartphone to control a robot with face detecting and tracking application;
Below is a list with resources including OpenCV documentation, libraries, and compatible tools with OpenCV.
- Welcome to OpenCV Documentation
- OpenCV4Android SDK
- Object Detection
- Serialization of cv::Mat objects using Boost
Last update on 23.09.2013