You are previewing Practical Image and Video Processing Using MATLAB®.
O'Reilly logo
Practical Image and Video Processing Using MATLAB®

Book Description

Up-to-date, technically accurate coverage of essential topics in image and video processing

This is the first book to combine image and video processing with a practical MATLAB®-oriented approach in order to demonstrate the most important image and video techniques and algorithms. Utilizing minimal math, the contents are presented in a clear, objective manner, emphasizing and encouraging experimentation.

The book has been organized into two parts. Part I: Image Processing begins with an overview of the field, then introduces the fundamental concepts, notation, and terminology associated with image representation and basic image processing operations. Next, it discusses MATLAB® and its Image Processing Toolbox with the start of a series of chapters with hands-on activities and step-by-step tutorials. These chapters cover image acquisition and digitization; arithmetic, logic, and geometric operations; point-based, histogram-based, and neighborhood-based image enhancement techniques; the Fourier Transform and relevant frequency-domain image filtering techniques; image restoration; mathematical morphology; edge detection techniques; image segmentation; image compression and coding; and feature extraction and representation.

Part II: Video Processing presents the main concepts and terminology associated with analog video signals and systems, as well as digital video formats and standards. It then describes the technically involved problem of standards conversion, discusses motion estimation and compensation techniques, shows how video sequences can be filtered, and concludes with an example of a solution to object detection and tracking in video sequences using MATLAB®.

Extra features of this book include:

  • More than 30 MATLAB® tutorials, which consist of step-by-step guides to exploring image and video processing techniques using MATLAB®

  • Chapters supported by figures, examples, illustrative problems, and exercises

  • Useful websites and an extensive list of bibliographical references

This accessible text is ideal for upper-level undergraduate and graduate students in digital image and video processing courses, as well as for engineers, researchers, software developers, practitioners, and anyone who wishes to learn about these increasingly popular topics on their own.

Table of Contents

  1. Cover
  2. Title Page
  3. Copyright
  4. Dedication
  5. List of Figures
  6. List of Tables
  7. Foreword
  8. Preface
    1. Approach
    2. Key Features
    3. A Tour of the Book
    4. Notes to Instructors
  9. Acknowledgments
  10. Part I: Image Processing
    1. Chapter 1: Introduction and Overview
      1. What Will We Learn?
      2. 1.1 Motivation
      3. 1.2 Basic concepts and terminology
      4. 1.3 Examples of typical image processing operations
      5. 1.4 Components of a Digital Image Processing System
      6. 1.5 Machine Vision Systems
      7. 1.6 Resources
      8. What have we learned?
      9. Learn more about it
      10. 1.7 Problems
    2. Chapter 2: Image Processing Basics
      1. What Will We Learn?
      2. 2.1 Digital Image Representation
      3. 2.2 Image File Formats
      4. 2.3 Basic Terminology
      5. 2.4 Overview of Image Processing Operations
      6. What Have We Learned?
      7. Learn more about it
    3. Chapter 3: Matlab Basics
      1. What will we Learn?
      2. 3.1 Introduction to MATLAB
      3. 3.2 Basic Elements of MATLAB
      4. 3.3 Programming Tools: Scripts and Functions
      5. 3.4 Graphics and Visualization
      6. 3.5 Tutorial 3.1: MATLAB—a Guided Tour
      7. 3.6 Tutorial 3.2: MATLAB data Structures
      8. 3.7 Tutorial 3.3: Programming in MATLAB
      9. What have we Learned?
      10. Learn More About It
      11. On the Web
      12. 3.8 Problems
    4. Chapter 4: The Image Processing Toolbox at a Glance
      1. What Will We Learn?
      2. 4.1 The Image Processing Toolbox: an overview
      3. 4.2 Essential functions and features
      4. 4.3 Tutorial 4.1: MATLAB Image Processing Toolbox—a Guided Tour
      5. 4.4 Tutorial 4.2: Basic image manipulation
      6. What have we learned?
      7. Learn more about it
      8. On the Web
      9. 4.5 Problems
    5. Chapter 5: Image Sensing and Acquisition
      1. What will we learn?
      2. 5.1 Introduction
      3. 5.2 Light, Color, and Electromagnetic Spectrum
      4. 5.3 Image Acquisition
      5. 5.4 Image Digitization
      6. What Have We Learned?
      7. Learn More About It
      8. On the Web
      9. 5.5 Problems
    6. Chapter 6: Arithmetic and Logic Operations
      1. What will we Learn?
      2. 6.1 Arithmetic Operations: Fundamentals and Applications
      3. 6.2 Logic Operations: Fundamentals and Applications
      4. 6.3 Tutorial 6.1: Arithmetic Operations
      5. 6.4 Tutorial 6.2: Logic Operations and Region of Interest Processing
      6. What Have We Learned?
      7. 6.5 problems
    7. Chapter 7: Geometric Operations
      1. What Will we Learn?
      2. 7.1 Introduction
      3. 7.2 Mapping and Affine Transformations
      4. 7.3 Interpolation Methods
      5. 7.4 Geometric Operations Using MATLAB
      6. 7.5 Other Geometric Operations and Applications
      7. 7.6 Tutorial 7.1: Image Cropping, Resizing, Flipping, and Rotation
      8. 7.7 Tutorial 7.2: Spatial Transformations and Image Registration
      9. What have we Learned?
      10. Learn More About it
      11. On the Web
      12. 7.8 Problems
    8. Chapter 8: Gray-Level Transformations
      1. What Will We Learn?
      2. 8.1 Introduction
      3. 8.2 Overview of gray-level (point) transformations
      4. 8.3 Examples of point transformations
      5. 8.4 Specifying the transformation function
      6. 8.5 Tutorial 8.1: Gray-level transformations
      7. 8.6 Problems
    9. Chapter 9: Histogram Processing
      1. What will we learn?
      2. 9.1 Image histogram: definition and example
      3. 9.2 Computing image histograms
      4. 9.3 Interpreting image histograms
      5. 9.4 Histogram equalization
      6. 9.5 Direct histogram specification
      7. 9.6 Other histogram modification techniques
      8. 9.7 Tutorial 9.1: Image histograms
      9. 9.8 Tutorial 9.2: Histogram equalization and specification
      10. 9.9 Tutorial 9.3: Other histogram modification techniques
      11. What have we learned?
      12. Learn more about it
      13. 9.10 Problems
    10. Chapter 10: Neighborhood Processing
      1. What will We Learn?
      2. 10.1 Neighborhood Processing
      3. 10.2 Convolution and Correlation
      4. 10.3 Image Smoothing (Low-Pass Filters)
      5. 10.4 Image Sharpening (High-Pass Filters)
      6. 10.5 Region of Interest Processing
      7. 10.6 Combining Spatial Enhancement Methods
      8. 10.7 Tutorial 10.1: Convolution and Correlation
      9. 10.8 Tutorial 10.2: Smoothing Filters in the Spatial Domain
      10. 10.9 Tutorial 10.3: Sharpening Filters in the Spatial Domain
      11. What have we learned?
      12. Learn more about it
      13. 10.10 Problems
    11. Chapter 11: Frequency-Domain Filtering
      1. 11.1 Introduction
      2. 11.2 Fourier Transform: the mathematical foundation
      3. 11.3 Low-pass filtering
      4. 11.4 High-pass filtering
      5. 11.5 Tutorial 11.1: 2D Fourier Transform
      6. 11.6 Tutorial 11.2: Low-pass filters in the frequency domain
      7. 11.7 Tutorial 11.3: High-pass filters in the frequency domain
      8. What have we learned?
      9. Learn more about it
      10. 11.8 Problems
    12. Chapter 12: Image Restoration
      1. What will We Learn?
      2. 12.1 Modeling of the Image Degradation and Restoration Problem
      3. 12.2 Noise and Noise Models
      4. 12.3 Noise Reduction Using Spatial-Domain Techniques
      5. 12.4 Noise Reduction Using Frequency-Domain Techniques
      6. 12.5 Image deblurring techniques
      7. 12.6 Tutorial 12.1: Noise Reduction Using Spatial-Domain Techniques
      8. 12.7 Problems
    13. Chapter 13: Morphological Image Processing
      1. What will We Learn?
      2. 13.1 Introduction
      3. 13.2 Fundamental concepts and operations
      4. 13.3 Dilation and erosion
      5. 13.4 Compound operations
      6. 13.5 Morphological filtering
      7. 13.6 Basic morphological algorithms
      8. 13.7 Grayscale morphology
      9. 13.8 Tutorial 13.1: Binary morphological image processing
      10. 13.9 Tutorial 13.2: Basic morphological algorithms
      11. What have we learned?
      12. Learn more about it
      13. 13.10 Problems
    14. Chapter 14: Edge Detection
      1. What will We Learn?
      2. 14.1 Formulation of the problem
      3. 14.2 Basic concepts
      4. 14.3 First-order derivative edge detection
      5. 14.4 Second-order derivative edge detection
      6. 14.5 The Canny edge detector
      7. 14.6 Edge linking and boundary detection
      8. 14.7 Tutorial 14.1: Edge detection
      9. 14.8 Problems
    15. Chapter 15: Image Segmentation
      1. What Will We Learn?
      2. 15.1 Introduction
      3. 15.2 Intensity-Based Segmentation
      4. 15.3 Region-Based Segmentation
      5. 15.4 Watershed Segmentation
      6. 15.5 Tutorial 15.1: Image Thresholding
      7. What Have We Learned?
      8. Learn More About It
      9. On The Web
      10. 15.6 Problems
    16. Chapter 16: Color Image Processing
      1. What Will we Learn?
      2. 16.1 The Psychophysics of Color
      3. 16.2 Color Models
      4. 16.3 Representation of color images in MATLAB
      5. 16.4 Pseudocolor Image Processing
      6. 16.5 Full-Color Image Processing
      7. 16.6 Tutorial 16.1: Pseudocolor Image Processing
      8. 16.7 Tutorial 16.2: Full-Color Image Processing
      9. What have We Learned?
      10. Learn More About It
      11. On the Web
      12. 16.8 Problems
    17. Chapter 17: Image Compression and Coding
      1. What will we learn?
      2. 17.1 Introduction
      3. 17.2 Basic concepts
      4. 17.3 Lossless and lossy compression techniques
      5. 17.4 Image compression standards
      6. 17.5 Image quality measures
      7. 17.6 Tutorial 17.1: Image compression
      8. What have we learned?
      9. Learn more about it
      10. On the Web
    18. Chapter 18: Feature Extraction and Representation
      1. What will we learn?
      2. 18.1 Introduction
      3. 18.2 Feature vectors and vector spaces
      4. 18.3 Binary object features
      5. 18.4 Boundary descriptors
      6. 18.5 Histogram-based (statistical) features
      7. 18.6 Texture features
      8. 18.7 Tutorial 18.1: Feature extraction and representation
      9. What have we learned?
      10. Learn more about it
      11. 18.8 Problems
    19. Chapter 19: Visual Pattern Recognition
      1. What Will We Learn?
      2. 19.1 Introduction
      3. 19.2 Fundamentals
      4. 19.3 Statistical Pattern Classification Techniques
      5. 19.4 Tutorial 19.1: Pattern classification
      6. What Have We Learned?
      7. Learn More About it
      8. On the Web
      9. 19.5 Problems
  11. Part II: Video Processing
    1. Chapter 20: Video Fundamentals
      1. What Will We Learn?
      2. 20.1 Basic Concepts and Terminology
      3. 20.2 Monochrome Analog Video
      4. 20.3 Color in Video
      5. 20.4 Analog Video Standards
      6. 20.5 Digital Video Basics
      7. 20.6 Analog-to-Digital Conversion
      8. 20.7 Color Representation and Chroma Subsampling
      9. 20.8 Digital Video Formats and Standards
      10. 20.9 Video Compression Techniques and Standards
      11. 20.10 Video processing in MATLAB
      12. 20.11 Tutorial 20.1: Basic Digital Video Manipulation in MATLAB
      13. 20.12 Tutorial 20.2: Working with YUV video data
      14. What Have We Learned?
      15. Learn More About It
      16. On the Web
      17. 20.13 Problems
    2. Chapter 21: Video Sampling Rate and Standards Conversion
      1. What Will We Learn?
      2. 21.1 Video Sampling
      3. 21.2 Sampling Rate Conversion
      4. 21.3 Standards Conversion
      5. 21.4 Tutorial 21.1: Line Down-Conversion
      6. 21.5 Tutorial 21.2: Deinterlacing
      7. 21.6 Tutorial 21.3: NTSC to PAL Conversion
      8. 21.7 Tutorial 21.4: 3:2 Pull-Down
      9. What Have We learned?
      10. Learn More About It
      11. 21.8 Problems
    3. Chapter 22: Digital Video Processing Techniques and Applications
      1. What Will We Learn?
      2. 22.1 Fundamentals of Motion Estimation and Motion Compensation
      3. 22.2 General Methodologies in Motion Estimation
      4. 22.3 Motion Estimation Algorithms
      5. 22.4 Video Enhancement and Noise Reduction
      6. 22.5 Case Study: Object Segmentation and Tracking in the Presence of Complex Background
      7. 22.6 Tutorial 22.1: Block-based Motion Estimation
      8. 22.7 Tutorial 22.2: Intraframe and Interframe Filtering Techniques
      9. What Have We Learned?
      10. Learn More About It
      11. 22.8 Problems
  12. Appendix A: Human Visual Perception
    1. A.1 Introduction
    2. A.2 The Human Eye
    3. A.3 Characteristics of Human Vision
    4. A.4 Implications and Applications of Knowledge about the Human Visual System
    5. Learn More About It
    6. On the Web
  13. Appendix B: Gui Development
    1. B.1 Introduction
    2. B.2 GUI File Structure
    3. B.3 Passing System Control
    4. B.4 The UserData Object
    5. B.5 A Working GUI Demo
    6. B.6 Concluding Remarks
  14. References
  15. Index