Image processing and machine learning are used in conjunction to analyze and understand images. Where image processing is used to pre-process images using techniques such as filtering, segmentation, and feature extraction, machine learning algorithms are used to interpret the processed data through classification, clustering, and object detection. This book serves as a textbook for students and instructors of image processing, covering the theoretical foundations and practical applications of some of the most prevalent image processing methods and approaches.
Divided into two volumes, this first installment explores the fundamental concepts and techniques in image processing, starting with pixel operations and their properties and exploring spatial filtering, edge detection, image segmentation, corner detection, and geometric transformations. It provides a solid foundation for readers interested in understanding the core principles and practical applications of image processing, establishing the essential groundwork necessary for further explorations covered in Volume 2.
Written with instructors and students of image processing in mind, this book’s intuitive organization also contains appeal for app developers and engineers.
Author(s): Erik Cuevas, Alma Nayeli Rodríguez
Publisher: CRC Press
Year: 2023
Language: English
Pages: 225
Cover
Half Title
Title Page
Copyright Page
Table of Contents
Preface Volume 1
1. Pixel Operations
1.1 Introduction
1.2 Changing the Pixel Intensity Value
1.2.1 Contrast and Illumination or Brightness
1.2.2 Delimitation of Results by Pixel Operations
1.2.3 Image Complement
1.2.4 Segmentation by Threshold
1.3 Histogram and Pixel Operations
1.3.1 Histogram
1.3.2 Image Acquisition Characteristics
1.3.3 Calculating the Histogram of an Image with MATLAB
1.3.4 Color Image Histograms
1.3.5 Effects of Pixel Operations on Histograms
1.3.6 Automatic Contrast Adjustment
1.3.7 Cumulative Histogram
1.3.8 Histogram Linear Equalization
1.4 Gamma Correction
1.4.1 The Gamma Function
1.4.2 Use of Gamma Correction
1.5 MATLAB Pixel Operations
1.5.1 Changing Contrast and Illumination in MATLAB
1.5.2 Segmenting an Image by Thresholding Using MATLAB
1.5.3 Contrast Adjustment with MATLAB
1.5.4 Histogram Equalization Using MATLAB
1.6 Multi-Source Pixel Operations
1.6.1 Logical and Arithmetic Operations
1.6.2 Alpha Blending Operation
References
2. Spatial Filtering
2.1 Introduction
2.2 What Is a Filter?
2.3 Spatial Linear Filters
2.3.1 The Filter Matrix
2.3.2 Filter Operation
2.4 Calculation of Filter Operations in MATLAB
2.5 Types of Linear Filters
2.5.1 Smoothing Filters
2.5.2 The “Box” Filter
2.5.3 The Gaussian Filter
2.5.4 Difference Filters
2.6 Formal Characteristics of Linear Filters
2.6.1 Linear Convolution and Correlation
2.6.2 Linear Convolution Properties
2.6.3 Filter Separability
2.6.4 Impulse Response of a Filter
2.7 Add Noise to Images with MATLAB
2.8 Spatial Non-Linear Filters
2.8.1 Maximum and Minimum Filters
2.8.2 The Median Filter
2.8.3 Median Filter with Multiplicity Window
2.8.4 Other Non-Linear Filters
2.9 Linear Spatial Filters in MATLAB
2.9.1 Correlation Size and Convolution
2.9.2 Handling Image Borders
2.9.3 MATLAB Functions for the Implementation of Linear Spatial Filters
2.9.4 MATLAB Functions for Non-Linear Spatial Filtering
2.10 Binary Filter
2.10.1 Implementation of the Binary Filter in MATLAB
References
3. Edge Detection
3.1 Borders and Contours
3.2 Edge Detection Using Gradient-Based Techniques
3.2.1 Partial Derivative and Gradient
3.2.2 Derived Filter
3.3 Filters for Edge Detection
3.3.1 Prewitt and Sobel Operators
3.3.2 The Roberts Operator
3.3.3 Compass Operators
3.3.4 Edge Detection with MATLAB
3.3.5 MATLAB Functions for Edge Detection
3.4 Operators Based on the Second Derivative
3.4.1 Edge Detection Using the Second-Derivative Technique
3.4.2 Sharpness Enhancement in Images
3.4.3 Use of MATLAB for the Implementation of the Laplacian Filter and the Enhancement of Sharpness
3.4.4 The Canny Filter
3.4.5 MATLAB Tools that Implement the Canny Filter
References
4. Segmentation and Processing of Binary Images
4.1 Introduction
4.2 Segmentation
4.3 Threshold
4.4 The Optimal Threshold
4.5 Otsu Algorithm
4.6 Segmentation by Region Growth
4.6.1 Initial Pixel
4.6.2 Local Search
4.7 Labeling of Objects in Binary Images
4.7.1 Temporary Labeling of Objects (Step 1)
4.7.2 Propagation of Labeling
4.7.3 Adjacent Tagging
4.7.4 Collision Resolution (Step 2)
4.7.5 Implementation of the Object Labeling Algorithm Using MATLAB
4.8 Object Borders in Binary Images
4.8.1 External and Internal Contours
4.8.2 Combination of Contour Identification and Object Labeling
4.8.3 Implementation in MATLAB
4.9 Representation of Binary Objects
4.9.1 Length Encoding
4.9.2 Chain Code
4.9.3 Differential Chain Code
4.9.4 Shape Numbers
4.9.5 Fourier Descriptors
4.10 Features of Binary Objects
4.10.1 Features
4.10.2 Geometric Features
4.10.3 Perimeter
4.10.4 Area
4.10.5 Compaction and Roundness
4.10.6 Bounding Box
References
5. Corner Detection
5.1 Corners in an Image
5.2 The Harris Algorithm
5.2.1 Matrix of Structures
5.2.2 Filtering of the Matrix of Structures
5.2.3 Calculation of Eigenvalues and Eigenvectors
5.2.4 Corner Value Function (V)
5.2.5 Determination of the Corner Points
5.2.6 Algorithm Implementation
5.3 Determination of Corner Points Using MATLAB
5.4 Other Corner Detectors
5.4.1 Beaudet Detector
5.4.2 Kitchen & Rosenfield Detector
5.4.3 Wang & Brady Detector
References
6. Line Detection
6.1 Structures in an Image
6.2 Hough Transform
6.2.1 Parameter Space
6.2.2 Accumulation Records Matrix
6.2.3 Parametric Model Change
6.3 Hough Transform Implementation
6.4 Encoding the Hough Transform in MATLAB
6.5 Line Detection Using MATLAB Functions
6.5.1 Example of Line Detection Using MATLAB Functions
References
Index