This book is a comprehensive guide to learning the basics of computer vision and machine learning using the powerful OpenCV library and the Python programming language. The book offers a practical, hands-on approach to learn the concepts and techniques of computer vision through practical example. All codes in this book are available at Github.
Through a series of examples, the book covers a wide range of topics including image and video processing, feature detection, object detection and recognition, machine learning and deep neural networks. Each chapter includes detailed explanations of the concepts and techniques involved, as well as practical examples and code snippets that demonstrate how to implement them in Python. Throughout the book, readers will work through hands-on examples and projects, learning how to build image processing applications from scratch.
Whether you are a beginner or an experienced programmer, this book provides a valuable resource for learning computer vision with OpenCV and Python. The clear and concise writing style makes it easy for readers to follow along, and the numerous examples ensure that readers can practice and apply what they have learned. By the end of the book, readers will have a solid understanding of the fundamentals of computer vision and be able to build their own computer vision applications with confidence. This book is an excellent resource for anyone looking to learn computer vision and machine learning using the OpenCV library and Python programming language.
Table of Contents
1. Introduction 5
2. Installation 13
2.1 Install on Windows 14
2.2 Install Python on Ubuntu 16
2.3 Configure PyCharm and Install OpenCV 18
3. OpenCV Basics 25
3.1 Load and Display Images 26
3.2 Load and Display Videos 30
3.3 Display Webcam 32
3.4 Image Fundamentals 35
3.5 Draw Shapes 42
3.6 Draw Texts 48
3.7 Draw an OpenCV-like Icon 50
4. User Interaction 52
4.1 Mouse Operations 53
4.2 Draw Circles with Mouse 56
4.3 Draw Polygon with Mouse 60
4.4 Crop an Image with Mouse 62
4.5 Input Values with Trackbars 64
5. Image Processing 70
5.1 Conversion of Color Spaces 72
5.2 Resize, Crop and Rotate an Image 77
5.3 Adjust Contrast and Brightness of an Image 83
5.4 Adjust Hue, Saturation and Value 87
5.5 Blend Image 91
5.6 Bitwise Operation 94
5.7 Warp Image 101
5.8 Blur Image 107
5.9 Histogram 114
6. Object Detection 120
6.1 Canny Edge Detection 122
6.2 Dilation and Erosion 125
6.3 Shape Detection 129
6.4 Color Detection 139
6.5 Text Recognition with Tesseract 150
6.6 Human Detection 161
6.7 Face and Eye Detection 165
6.8 Remove Background 170
6.9 Blur Background 189
7. Machine Learning 196
7.1 K-Means Clustering 200
7.2 K-Nearest Neighbors 216
7.3 Support Vector Machine 237
7.4 Artificial Neural Network (ANN) 254
7.5 Convolutional Neural Network (CNN) 276
Index 305
References 308
About the Author 310