▶Book Description
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
▶What You Will Learn
- Set up a Raspberry Pi for computer vision applications
- Perform basic image processing with libraries such as NumPy, Matplotlib, and OpenCV
- Demonstrate arithmetical, logical, and other operations on images
- Work with a USB webcam and the Raspberry Pi Camera Module
- Implement low-pass and high-pass filters and understand their applications in image processing
- Cover advanced techniques such as histogram equalization and morphological transformations
- Create GUI apps with Python 3 and OpenCV
- Perform machine learning with K-means clustering and image quantization
▶Key Features
- Explore the potential of computer vision with Raspberry Pi and Python programming
- Perform computer vision tasks such as image processing and manipulation using OpenCV and Raspberry Pi
- Discover easy-to-follow examples and screenshots to implement popular computer vision techniques and applications
▶Who This Book Is For
This book is for beginners as well as experienced Raspberry Pi and Python 3 enthusiasts who are looking to explore the amazing world of computer vision. Working knowledge of the Python 3 programming language is assumed.
▶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.