Why do you need to read this book?
“Why do i need to learn computer vision?” This question has been asked to me countless times in the last few years. When that happens I always proceed with a counter question. Do you want an excellent high paying job? If your answer is yes then you must keep up with technological advances. And If you learn OpenCV you bought a ticket for the future.
Computer vision is an area of artificial intelligence which we use to train the computer to interpret and understand the visual world. It enables machines to see, identify and process images in the same way like humans do. In the last few years there has been a significant progress of computer vision achievements. Nowadays, processing of images is faster and more efficient than ever. Cars, robots, and drones today are able to understand and recognize objects with very high accuracy, almost like humans. And all these technologies today use computer vision in some way or the other.
OpenCV is the most awesome, fascinating and the most popular computer vision library in the world used for all types of image and video analysis. Therefore, the reason why I decided to write a book on this subject is pretty obvious. If you want to start a career in image processing, deep learning, or machine learning, you simply must master computer vision and OpenCV. This book will be an important and beneficial step to achieve that goal.
- Mathematical explanation and theory intuition – Every single line of code needs to be thoroughly understood. There is no point of memorizing and copying the code and not understanding the theory behind it. That is why this book is providing great explanations of algorithms being used in python code.
- Amazing illustrations – It is my belief that any complex mathematical problem can be better understood if it is illustrated properly. That is why this book has many great illustrations that can help you to comprehend these complicated math equations
- Python code – efficient and easy to understand
This book will help you to understand the large number of functions available in the OpenCV library and to learn which function to use in order to solve specific problems.
The book begins with an introduction to computer vision and continues with a step by step explanation of the OpenCV library in Python. Then I take you further through the chapters which are written in such a way that they can be easily understood by beginners with no programming experience. Then, chapters are gradually becoming more and more complex. But don’t worry. If you read a few opening chapters thoroughly you will be able to understand complex mathematical equations and lines of code that seemed so incomprehensible. Each chapter addresses a specific image processing problem and offers a most accurate and productive solution. Furthermore, every task covered in this book contains an extensive both theoretical and mathematical explanation.
What you will learn
First three chapters of this book are written for those who have never written a single line of code in their lives. This is basic OpenCV from scratch using Python which contains some basic operations which are necessary for building your computer vision applications. Here you will learn what is the pixel, how images and videos are represented in a computer and how to manipulate image pixels.
Learn to create simple GIF animations and to draw basic geometric shapes
Moreover you will learn how to read, capture, display and save videos using OpenCV, and how to create some simple video animations. Also, you will learn how to write and draw basic geometric shapes on images, and eve to create GIF animations from scratch.
Learn how to transform and how to blur and sharpen an image
As you advance through the chapters things are starting to be a little bit trickier. But still, nothing extremely complicated. You should keep in mind that these techniques are fundamental tools for almost all areas of computer vision. Here you will learn how to translate, scale and rotate an image, how to blur and sharpen an image or create some cool effects. Also, a whole chapter is dedicated to basic arithmetic and logical operations.
Learn about dilation and erosion and what is K-Means algorithm
The next section discusses one of the most popular clustering machine learning algorithms called K-Means which is used for color quantization. Morphological transformations like dilation and erosion are also discussed in detail.
Learn to detect object on images
Next, you’ll learn how to detect objects in images. For example, you will learn to detect faces, eyes and smiles using Haar Cascade Classifiers, and to detect facial landmarks using DLIB and OpenCV libraries. One of the most important chapters in this book discusses face alignment, which is a crucial step you absolutely need to master before you start to work on some more complicated image processing tasks.
Learn about eye blinking detection, procrustes analysis, Eigenfaces and face swaping
Last five chapters are written for those who are interested in diving deeper in Computer vision problems. Here you will learn about eye blinking detection, procrustes analysis, Eigenfaces, and also the book will provide you insights to most popular face detection algorithms. Finally after reading all of these previous chapters you will be able to swap faces in two videos using OpenCV with Python.
So there you go. After reading this book, you will be able to implement a large number of computer vision algorithms in order to create your own complex OpenCV projects.
What you will learn
- How to access and edit pixel values in OpenCV with Python?
- How to read a video and access a webcam with OpenCV in Python?
- How to draw lines, rectangles, circles and write text on images with OpenCV in Python?
- How to resize, translate, flip and rotate an image with OpenCV?
- How to smooth and sharpen an image in OpenCV?
- Image Arithmetic and Logical operations in OpenCV with Python
- Morphological transformations with OpenCV in Python
- How to apply color quantization using K-means clustering
- How to detect faces, eyes and smiles using Haar Cascade Classifiers with OpenCV in Python?
- How to detect facial landmarks using DLIB and OpenCV?
- How to align faces with OpenCV in Python?
- How to detect eye blinking in videos using dlib and OpenCV in Python
- Most popular face detection algorithms
- What is Procrustes analysis
- What are Eigenfaces?
- How to swap faces in OpenCV with Python?
Who is this book for?
This book is written for anyone interested in computer vision and image processing. If you want to gain a basic understanding of computer vision concepts and python programming languages, this is a perfect book for you. But also if you already learned the fundamentals of OpenCV, you can still upgrade your knowledge. So whether you are a beginner, student, or a programmer this book offers a little bit knowledge for anybody.
About the Author
For the last 15 years, I have been tackling problems in Machine Learning, Data Science, Signal and Image Processing. I was a university professor for 4 years. I’ve been improving my teaching methods and I judged my results by the final students projects that they had to deliver. So, after a few years, I was able to witness a face recognition system, license plate recognition and emotion recognition systems. This experience I now transfer to my blog posts and also accompany it from my understanding of industry needs. I have worked as a computer vision engineer within a camera team, and we were making software for self-driving cars. Hence, I do hope that I’m in a position to instruct you on what is the most beneficial road to take in order to start this journey.