Book Image

Raspberry Pi Computer Vision Programming - Second Edition

By : Ashwin Pajankar
5 (1)
Book Image

Raspberry Pi Computer Vision Programming - Second Edition

5 (1)
By: Ashwin Pajankar

Overview of this book

Raspberry Pi is one of the popular single-board computers of our generation. All the major image processing and computer vision algorithms and operations can be implemented easily with OpenCV on Raspberry Pi. This updated second edition is packed with cutting-edge examples and new topics, and covers the latest versions of key technologies such as Python 3, Raspberry Pi, and OpenCV. This book will equip you with the skills required to successfully design and implement your own OpenCV, Raspberry Pi, and Python-based computer vision projects. At the start, you'll learn the basics of Python 3, and the fundamentals of single-board computers and NumPy. Next, you'll discover how to install OpenCV 4 for Python 3 on Raspberry Pi, before covering major techniques and algorithms in image processing, manipulation, and computer vision. By working through the steps in each chapter, you'll understand essential OpenCV features. Later sections will take you through creating graphical user interface (GUI) apps with GPIO and OpenCV. You'll also learn to use the new computer vision library, Mahotas, to perform various image processing operations. Finally, you'll explore the Jupyter Notebook and how to set up a Windows computer and Ubuntu for computer vision. By the end of this book, you'll be able to confidently build and deploy computer vision apps.
Table of Contents (15 chapters)

What this book covers

Chapter 1, Introduction to Computer Vision and Raspberry Pi, illustrates the concept of single-board computers, OpenCV, and Raspberry Pi. We will also learn how to set up Raspbian OS on Raspberry Pi.

Chapter 2, Preparing Raspberry Pi for Computer Vision, teaches us how to set up Raspberry Pi for demonstrations of computer vision.

Chapter 3, Introduction to Python Programming, introduces us to Python 3 programming. We will learn about libraries such as NumPy and Matplotlib. We will also demonstrate the use of a few programs with LEDs and push buttons in detail.

Chapter 4, Getting Started with Computer Vision, focuses on the basics of computer vision programming and interfacing various camera modules with Raspberry Pi. We will also learn how to work with images and the GUI in this chapter in detail.

Chapter 5, Basics of Image Processing, looks at basic operations on images, such as bitwise arithmetic and bitwise logical operations.

Chapter 6, Colorspaces, Transformations, and Thresholding, is where we will analyze the concept of basic segmentation and thresholding. We will learn about various geometric and perspective transformations. We will also learn about colorspaces and their application in detail.

Chapter 7, Let's Make Some Noise, explores the concept of filters and how to use low-pass filters to reduce noise in images. We will learn about concepts such as kernels and convolution in detail.

Chapter 8, High-Pass Filters and Feature Detection, goes into the aspects of detecting various features, such as lines, circles, edges, and corners, using high-pass filtering techniques.

Chapter 9, Image Restoration, Segmentation, and Depth Map, investigates restoring degraded and damaged images, segmenting with Python's implementation of the k-means and mean-shift algorithms, and estimating depth maps.

Chapter 10, Histograms, Contours, and Morphological Transformations, analyzes images with histograms, and we will learn how to enhance images by equalizing histograms. We will also dig deeper into contours and mathematical morphological operations.

Chapter 11, Real-Life Applications of Computer Vision, demonstrates applications in the real world with OpenCV, Python 3, and Raspberry Pi.

Chapter 12, Working with Mahotas and Jupyter, delves into the brief usage of another scientific image processing library known as Mahotas. We will also understand how to work with the Jupyter Notebook for Python 3 programming.

Chapter 13, Appendix, is a collection of assorted topics relating to Python, Raspberry Pi, and computer vision that did not fit in to earlier chapters.