Table of Contents
About the Author
About the Technical Reviewer
Acknowledgments
Introduction
Chapter 1: Setup Environment
Install Anaconda
Windows
macOS
Ubuntu
Install OpenCV
Install Keras
Test the Installations
Virtual Environments
Chapter 2: Introduction to Image Processing
Images
Pixels
Image Resolution
PPI and DPI
Bitmap Images
Lossless Compression
Lossy Compression
Image File Formats
Color Spaces
RGB
XYZ
HSV/HSL
LAB
LCH
YPbPr
YUV
YIQ
Advanced Image Concepts
Bezier Curve
Ellipsoid
Gamma Correction
Structural Similarity Index
Deconvolution
Homography
Convolution
Chapter 3: Basics of Python and Scikit Image
Basics of Python
Variables and Data Types
Data Structures
Lists
Dictionaries
Tuples
Control Flow Statements
Conditional Statements
Functions
Scikit Image
Uploading and Viewing an Image
Getting Image Resolution
Looking at Pixel Values
Converting Color Space
RGB to HSV and Vice Versa
RGB to XYZ and Vice Versa
RGB to LAB and Vice Versa
RGB to YUV and Vice Versa
RGB to YIQ and Vice Versa
RGB to YPbPr and Vice Versa
Saving an Image
Creating Basic Drawings
Lines
Rectangles
Circles
Bezier Curve
Doing Gamma Correction
Rotating, Shifting, and Scaling Images
Determining Structural Similarity
Chapter 4: Advanced Image Processing Using OpenCV
Blending Two Images
Changing Contrast and Brightness
Adding Text to Images
Smoothing Images
Median Filter
Gaussian Filter
Bilateral Filter
Changing the Shape of Images
Effecting Image Thresholding
Calculating Gradients
Performing Histogram Equalization
Chapter 5: Image Processing Using Machine Learning
Feature Mapping Using the SIFT Algorithm
Step 1: Space Construction
Step 2: Difference between the Gaussians
Step 3: Important Points
Step 4: Unimportant Key Points
Step 5: Orientation of Key Points
Step 6: Key Features
Image Registration Using the RANSAC Algorithm
estimate_affine
residual_lengths
Processing the Images
The Complete Code
Image Classification Using Artificial Neural Networks
Image Classification Using CNNs
Image Classification Using Machine Learning Approaches
Decision Trees
Support Vector Machines
Logistic Regression
Code
Important Terms
Chapter 6: Real-time Use Cases
Finding Palm Lines
Detecting Faces
Recognizing Faces
Tracking Movements
Detecting Lanes
Appendix: Important Concepts and Terminology
Adaboost
XGBoost
Pulse-coupled Neural Networks
Gradient Descent
Stochastic Gradient Descent
AdaDelta
Canny Edge Detector
Sobel Transformation
Haar Cascade
LBPH Face Recognition
Image Moments
Image Contours
Chessboard Corners Function
Calibrate Camera Function
Perspective Transformation Function
Index