Book description
Explore the mathematical computations and algorithms for image processing using popular Python tools and frameworks.
Key Features
- Practical coverage of every image processing task with popular Python libraries
- Includes topics such as pseudo-coloring, noise smoothing, computing image descriptors
- Covers popular machine learning and deep learning techniques for complex image processing tasks
Book Description
Image processing plays an important role in our daily lives with various applications such as in social media (face detection), medical imaging (X-ray, CT-scan), security (fingerprint recognition) to robotics & space. This book will touch the core of image processing, from concepts to code using Python.
The book will start from the classical image processing techniques and explore the evolution of image processing algorithms up to the recent advances in image processing or computer vision with deep learning. We will learn how to use image processing libraries such as PIL, scikit-mage, and scipy ndimage in Python. This book will enable us to write code snippets in Python 3 and quickly implement complex image processing algorithms such as image enhancement, filtering, segmentation, object detection, and classification. We will be able to use machine learning models using the scikit-learn library and later explore deep CNN, such as VGG-19 with Keras, and we will also use an end-to-end deep learning model called YOLO for object detection. We will also cover a few advanced problems, such as image inpainting, gradient blending, variational denoising, seam carving, quilting, and morphing.
By the end of this book, we will have learned to implement various algorithms for efficient image processing.
What you will learn
- Perform basic data pre-processing tasks such as image denoising and spatial filtering in Python
- Implement Fast Fourier Transform (FFT) and Frequency domain filters (e.g., Weiner) in Python
- Do morphological image processing and segment images with different algorithms
- Learn techniques to extract features from images and match images
- Write Python code to implement supervised / unsupervised machine learning algorithms for image processing
- Use deep learning models for image classification, segmentation, object detection and style transfer
Who this book is for
This book is for Computer Vision Engineers, and machine learning developers who are good with Python programming and want to explore details and complexities of image processing. No prior knowledge of the image processing techniques is expected.
Table of contents
- Title Page
- Copyright and Credits
- Dedication
- About Packt
- Contributors
- Preface
-
Getting Started with Image Processing
- What is image processing and some applications
- The image processing pipeline
- Setting up different image processing libraries in Python
- Image I/O and display with Python
-
Dealing with different image types and file formats and performing basic image manipulations
- Dealing with different image types and file formats
-
Basic image manipulations
- Image manipulations with numpy array slicing 
-
Image manipulations with PIL
- Cropping an image
- Resizing an image
- Negating an image
- Converting an image into grayscale
- Some gray-level transformations
- Some geometric transformations
- Changing pixel values of an image
- Drawing on an image
- Drawing text on an image
- Creating a thumbnail
- Computing the basic statistics of an image
- Plotting the histograms of pixel values for the RGB channels of an image
- Separating the RGB channels of an image 
- Combining multiple channels of an image
- α-blending two images
- Superimposing two images
- Adding two images
- Computing the difference between two images
- Subtracting two images and superimposing two image negatives
- Image manipulations with scikit-image
- Image manipulation with Matplotlib
- Image manipulation with the scipy.misc and scipy.ndimage modules
- Summary
- Questions
- Further reading
- Sampling, Fourier Transform, and Convolution
- Convolution and Frequency Domain Filtering
- Image Enhancement
-
Image Enhancement Using Derivatives
- Image derivatives – Gradient and Laplacian
- Sharpening and unsharp masking
-
Edge detection using derivatives and filters (Sobel, Canny, and so on)
- With gradient magnitude computed using the partial derivatives
- Sobel edge detector with scikit-image
- Different edge detectors with scikit-image – Prewitt, Roberts, Sobel, Scharr, and Laplace
- The Canny edge detector with scikit-image
- The LoG and DoG filters
- Finding and enhancing edges with PIL
- Image pyramids (Gaussian and Laplacian) – blending images
- Summary
- Questions
- Further reading
- Morphological Image Processing
-
Extracting Image Features and Descriptors
- Feature detectors versus descriptors
- Harris Corner Detector
- Blob detectors with LoG, DoG, and DoH
- Histogram of Oriented Gradients
- Scale-invariant feature transform
- Haar-like features
- Summary
- Questions
- Further reading
-
Image Segmentation
- What is image segmentation?
- Hough transform – detecting lines and circles
- Thresholding and Otsu's segmentation
- Edges-based/region-based segmentation
- Felzenszwalb, SLIC, QuickShift, and Compact Watershed algorithms 
- Active contours, morphological snakes, and GrabCut algorithms
- Summary
- Questions
- Further reading
-
Classical Machine Learning Methods in Image Processing
- Supervised versus unsupervised learning
- Unsupervised machine learning – clustering, PCA, and eigenfaces
- Supervised machine learning – image classification
- Supervised machine learning – object detection
- Summary
- Questions
- Further reading
- Deep Learning in Image Processing - Image Classification
- Deep Learning in Image Processing - Object Detection, and more
- Additional Problems in Image Processing
- Other Books You May Enjoy
Product information
- Title: Hands-On Image Processing with Python
- Author(s):
- Release date: November 2018
- Publisher(s): Packt Publishing
- ISBN: 9781789343731
You might also like
book
Python Image Processing Cookbook
Explore Keras, scikit-image, open source computer vision (OpenCV), Matplotlib, and a wide range of other Python …
book
Deep Learning with Python
Deep Learning with Python introduces the field of deep learning using the Python language and the …
book
Deep Learning with Python, Second Edition
Printed in full color! Unlock the groundbreaking advances of deep learning with this extensively revised new …
book
Mastering OpenCV 4 with Python
Create advanced applications with Python and OpenCV, exploring the potential of facial recognition, machine learning, deep …