The book provides a mix of theoretical and practical perceptions of the related concepts pertaining to image processing. The primary objectives are to offer an overview to the elementary concepts and practices appropriate to digital image processing as well as to provide theoretical exposition. It starts with an expanded coverage of the fundamentals to provide a more comprehensive and cohesive coverage of the topics including but not limited to:
Applications and tools for image processing, and fundamentals with several implementation examples
Concepts of image formation
OpenCV installation with step-by-step screen shots
Concepts behind intensity, brightness and contrast, color models
Ways by which noises are created in an image and the possible remedial measures
Edge detection, image segmentation, classification, regression, classification algorithms
Importance of frequency domain in image processing field
Relevant code snippets and the MATLAB codes, and several interesting sets of simple programs in OpenCV and Python to aid learning and for complete understanding
You have been exposed to image processing concepts in an extensive manner throughout this book and we hope it has been an enjoyable learning experience. For the cherry on top, this chapter shows how to play around with OpenCV and Python. An interesting set of simple programs to help enhance understanding is presented. The codes in this chapter are written in Python and run in Ubuntu as the base. Any recent version of Ubuntu should be handy and one can install Ubuntu alongside the Windows operating system. The readers are requested to install Ubuntu as presented next step-by-step. The first step is to install the OpenCV in the Ubuntu. Remember, OpenCV is not a programming language, it is a package. We are going to use Python with OpenCV, and hence we have to import OpenCV in all the programs that are to be demonstrated shortly in the chapter.
The video lectures for specific topics through YouTube enable easy inference for the readers to apply the learnt theory into practice. The addition of contents at the end of each chapter such as quizzes and review questions fully prepare the readers for further study.
Graduate students, post graduate students, researchers, and anyone in general interested in image processing, computer vision, machine learning domains etc. can find this book an excellent starting point for information and an able ally.
Author(s): A. Baskar, Muthaiah Rajappa, Shriram K, Vasudevan, T.S. Murugesh
Edition: 1
Publisher: CRC Press
Year: 2023
Language: English
Pages: 208
Cover
Half Title
Title Page
Copyright Page
Table of Contents
Preface
Authors
Chapter 1 Introduction to Image Processing: Fundamentals First
Learning Objectives
1.1 Introduction
1.2 What Is an Image?
1.3 What Is Image Processing?
1.4 What is a Pixel?
1.5 Types of Images
1.6 Applications of Image Processing
1.7 Tools for Image Processing
1.7.1 OpenCV for Windows: Installation Procedure
1.8 Prerequisites to Learn Image Processing
1.9 Quiz
1.9.1 Answers
1.10 Review Questions
1.10.1 Answers
Further Reading
Chapter 2 Image Processing Fundamentals
Learning Objectives
2.1 Introduction
2.2 Concept of Image Formation
2.3 Bits per Pixel
2.4 Intensity, Brightness, and Contrast: Must-Know Concepts
2.5 Pixel Resolution and Pixel Density
2.6 Understanding the Color Models
2.6.1 What Is a Color Model?
2.6.2 RGB Color Model and CMY Color Model
2.6.2.1 What Is an Additive Color Model?
2.6.2.2 What Is a Subtractive Primary Color?
2.6.3 HSV Color Model
2.6.4 YUV Color Model
2.7 Characteristics of Image Operations
2.7.1 Types of Operations
2.7.2 Types of Neighborhoods
2.8 Different Types of Image Formats
2.8.1 TIFF (Tag Image File Format)
2.8.2 JPEG (Joint Photographic Experts Group)
2.8.3 GIF (Graphics Interchange Format)
2.8.4 PNG (Portable Network Graphic)
2.8.5 RAW Format
2.9 Steps in Digital Image Processing
2.10 Elements of Digital Image Processing System
2.11 Quiz
2.11.1 Answers
2.12 Review Questions
2.12.1 Answers
Further Reading
Chapter 3 Image Noise: A Clear Understanding
Learning Objectives
3.1 Introduction
3.2 Photoelectronic Noise
3.2.1 Photon Noise (Also Called Shot Noise or Poisson Noise)
3.2.2 Thermal Noise
3.2.3 How to Overcome Photoelectronic Noise? (Thermal Noise/Photon Noise)
3.3 Impulse Noise
3.3.1 Salt-and-Pepper Noise
3.3.2 How to Overcome Impulse Noise?
3.4 Structured Noise
3.5 Quiz
3.5.1 Answers
3.6 Review Questions
3.6.1 Answers
Further Reading
Chapter 4 Edge Detection: From a Clear Perspective
Learning Objectives
4.1 Introduction
4.2 Why Detect Edges?
4.3 Modeling Intensity Changes/Types of Edges: A Quick Lesson
4.4 Steps in Edge Detection
4.5 Sobel Operator
4.6 Prewitt Edge Detector
4.7 Robinson Edge Detector
4.8 Krisch Edge Detector
4.9 Canny Edge Detection
4.10 Laplacian: The Second-Order Derivatives
4.11 Review Questions
4.11.1 Answers
Further Reading
Chapter 5 Frequency Domain Processing
Learning Objectives
5.1 Introduction
5.2 Frequency Domain Flow
5.3 Low-Pass Filters: A Deeper Dive
5.3.1 Ideal Low-Pass Filter
5.3.2 Butterworth Low-Pass Filter
5.3.3 Gaussian Low-Pass Filter
5.4 High-Pass Filters/Sharpening Filters
5.4.1 Ideal High-Pass Filter
5.4.2 Butterworth High-Pass Filter
5.4.3 Gaussian High-Pass Filter
5.5 Quiz
5.5.1 Answers
5.6 Review Questions
5.6.1 Answers
Further Reading
Chapter 6 Image Segmentation: A Clear Analysis and Understanding
Learning Objectives
6.1 Introduction
6.2 Types of Segmentation
6.3 Thresholding Method
6.3.1 Segmentation Algorithm Based on a Global Threshold
6.3.2 Segmentation Algorithm Based on Multiple Thresholds
6.4 Histogram-Based Segmentation
6.4.1 Segmentation Algorithm Based on a Variable Threshold
6.4.2 Variable Thresholding through Image Partitioning
6.5 Region-Based Segmentation
6.5.1 Region-Growing Method
6.5.2 Region Split-and-Merge Technique
6.6 Edge-Based Segmentation
6.7 Clustering-Based Segmentation
6.8 Morphological Transforms-Based Segmentation
6.8.1 Dilation and Erosion
6.8.2 Opening and Closing
6.8.3 Hit-or-Miss Transform
6.9 Review Questions
6.9.1 Answers
Further Reading
Chapter 7 Classification: A Must-Know Concept
Learning Objectives
7.1 Introduction
7.2 Support Vector Machine (SVM)
7.2.1 Hyperplane
7.2.2 Support Vectors
7.2.3 Margin
7.3 How SVMs Work?
7.4 k-Nearest Neighbor (k-NN)
7.5 Clustering: An Interesting Concept to Know
7.5.1 k-Means Clustering
7.6 Quiz
7.6.1 Answers
Further Reading
Chapter 8 Playing with OpenCV and Python
8.1 Introduction
8.2 Ubuntu and OpenCV Installation
8.3 Image Resizing
8.4 Image Blurring
8.5 Image Borders
8.6 Image Conversion to Grayscale Format with OpenCV
8.7 Edge Detection with OpenCV
8.8 Counting Objects with OpenCV
8.9 Predicting Forest Fire with OpenCV
Index