Engineers have always tried to give the robot the gift of sight. So, they have to replicate the human vision process with computers, algorithms, cameras and more.
In the DIY area, a Raspberry Pi is the queen of prototyping platforms. It’s useful in different areas and for a large variety of applications. So, why not to use it in computer vision applications. The projects started coming fast and furious for navigation, localization, recognition, classifications, monitoring, reading and more.
There is virtually no limit what can be done with a single board computer, a camera module, a vision library such as OpenCV and a bit of creativity.
As you will see from the tutorials explored in this article, some of the most popular applications in computer vision deals with the detection, tracking and the recognition of objects and humans. Whether you are looking to build a robot able to detect a human or an automated system able to detect an object, the Raspberry Pi board is the center of your project.
From this collection of hand-picked tutorials, you will learn all kinds of tricks that can be applied to build simple and cost effective computer vision applications based on Pi.
Navigation and Obstacles Avoidance
- Navigation to a target
On the bigfacerobotics, Peter Neal shows us in a tutorial how to build an autonomous robot able to navigate to a target by detecting the coloured border of an image.
- Programming a Raspberry Pi Robot Using Python and OpenCV
In this project, the designer looking to make an autonomous robot with the py_websockets_bot library. The Python library communicates with the mobile robot over a network interface and sends commands that control the movements of the robot.
- The RR.O.P. – RaspRobot OpenCV Project
This Raspberry Pi robot uses the shapes, colors and textures of the objects to interact with the external environment.
- Final Project Car Lab
In this project, the designers build a computer vision application to avoid obstacles on a wide path defined by black parallel lines.
- OpenCV and python for a line follower
With a webcam, the OpenCV library, Python and a Raspberry Pi board, you can build a line follower robot using computer vision algorithms.
- Obstacle detection using OpenCV
In this tutorial, the designer uses four steps to detect obstacles in front of the robot. The first step is to capture an image. The second step is to convert the image into a grayscale image. The third step is to blur it slightly, and in the fourth step uses canny edge detection to highlight the edges in the image.
- Autonomous bottle recycling robot
In this tutorial, you can find how to build an eco-friendly robot engineered to avoid obstacle until the camera detects and recognizes a bottle.
Tracking and Recognition
- Wall E Robot (object/sound recognition, AI)
This tutorial is inspired by the Wall-E robot from the movie and shows you how to detect and track an object.
- OpenCV&Pi Cam – Step 7 : Face recognition
An example how to use the Pi board with OpenCV to detect human faces.
- Raspberry Pi Motion Following Network Camera Project
If you plan to build a motion tracking network pan and tilt camera, this tutorial shows you how to build it from scratch.
- Basic motion detection and tracking with Python and OpenCV
This is an example how to build a vision system for home surveillance. The system is designed to detect and track human faces.
- Raspberry Pi and the Camera Pi module: face recognition tutorial
In this tutorial for a facial recognition system, Boris Landoni shows you how to locate human parts like faces, eyes, noses, and more.
- Raspberry Pi Color Tracking Using PID
Colors are everywhere. In this tutorial, is explained how to use an OpenCV PID control algorithm to track objects.
- Using a Raspberry Pi, Arduino and Python for disguise detection
The idea of this project is to build a DIY vision system to replace the thermal cameras. In this guide is described how to use multispectral imaging by combining a high-resolution visible wavelength camera with a low-resolution IR sensor.
- Object Tracking on the Raspberry Pi with C++, OpenCV, and cvBlob
This project was built to track objects, and the algorithm is implemented in both OpenCV and cvBlob.
- Footfall: A Camera Based People Counting System for under £60
This tutorial shows you how to build a cheap vision system to count people that visit a building or are located in the building.
- Real time Drone object tracking using Python and OpenCV
This is a simple project to track objects from the air with a flying drone.
- Tutorial: Using CamShift to Track Objects in Video
This is another tutorial from Adrian Rosebrock that shows you how to use the CamShift algorithm to find and track objects in a video.
- Scanning woes revisited: a Raspberry Pi scanning machine
You can build a vision application able to detect if a page should be or not in a document. This tutorial explains to you how the vision system works.
- 3 Ways to Compare Histograms using OpenCV and Python
With OpenCV and Python, you have three options to compare histograms. All these three options are described in this tutorial.
- Raspberry Pi / Lego Ball Machine
Do you like to build robots with LEGO blocks? In this tutorial, you can find how to build a ball sorter machine with LEGO blocks, Raspberry Pi, a camera module and OpenCV.
You may be interested in the following Raspberry Pi resources as well:
The Raspberry Pi camera guide