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 demonstrating 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
1.1 About OpenCV
1.2 Target Audients of This Book
1.3 Source Codes for This Book
1.4 Hardware Requirements and Software Versions
1.5 How This Book Is Organized
2. Installation
2.1 Install on Windows
2.2 Install Python on Ubuntu
2.3 Configure PyCharm and Install OpenCV
3. OpenCV Basics
3.1 Load and Display Images
3.2 Load and Display Videos
3.3 Display Webcam
3.4 Image Fundamentals
3.5 Draw Shapes
3.6 Draw Texts
3.7 Draw an OpenCV-like Icon
4. User Interaction
4.1 Mouse Operations
4.2 Draw Circles with Mouse
4.3 Draw Polygon with Mouse
4.4 Crop an Image with Mouse
4.5 Input Values with Trackbars
5. Image Processing
5.1 Conversion of Color Spaces
5.2 Resize, Crop and Rotate an Image
5.3 Adjust Contrast and Brightness of an Image
5.4 Adjust Hue, Saturation and Value
5.5 Blend Image
5.6 Bitwise Operation
5.7 Warp Image
5.8 Blur Image
5.9 Histogram
6. Object Detection
6.1 Canny Edge Detection
6.2 Dilation and Erosion
6.3 Shape Detection
6.4 Color Detection
6.5 Text Recognition with Tesseract
6.6 Human Detection
6.7 Face and Eye Detection
6.8 Remove Background
6.9 Blur Background
7. Machine Learning
7.1 K-Means Clustering
7.2 K-Nearest Neighbors
7.3 Support Vector Machine
7.4 Artificial Neural Network (ANN)
7.5 Convolutional Neural Network (CNN)
References
About the Author
James Chen, a highly accomplished IT professional with a solid academic background, holds a degree from Tsinghua University, one of China’s most prestigious universities, and has developed a deep understanding of computer science theory and practices. With his extensive technical background, James has played key roles in designing and developing cutting-edge software solutions for a variety of industries including technology, financial, healthcare, e-commerce, etc. He has been working with all aspects of system design and development and actively contributed as the lead implementer of complex multi-clients and multi-tiered systems such as web systems, traditional n-tiered systems, mobile applications, and mixed software/hardware systems. He has a talent for identifying key business problems and designing customized solutions that are both efficient and effective.
His wide-ranging technical interests led him to the emerging fields of computer vision and machine learning since 2016, James has a passion for artificial intelligence and has honed his skills in this area through a combination of academic study and practical experiences. He has developed an in-depth understanding of the latest tools and techniques in computer vision and machine learning and is always looking for new ways to apply this knowledge to real-world problems.