A Computational Introduction to Digital Image Processing 2nd edition by Alasdair McAndrew – Ebook PDF Instant Download/Delivery: 1482247329, 9781482247329
Full download A Computational Introduction to Digital Image Processing 2nd edition after payment

Product details:
ISBN 10: 1482247329
ISBN 13: 9781482247329
Author: Alasdair McAndrew
Highly Regarded, Accessible Approach to Image Processing Using Open-Source and Commercial SoftwareA Computational Introduction to Digital Image Processing, Second Edition explores the nature and use of digital images and shows how they can be obtained, stored, and displayed. Taking a strictly elementary perspective, the book only covers topics that
A Computational Introduction to Digital Image Processing 2nd Table of contents:
1 Introduction
1.1 Images and Pictures
1.2 What Is Image Processing?
Figure 1.1: Image sharpening
Figure 1.2: Removing noise from an image
Figure 1.3: Image deblurring
Figure 1.4: Finding edges in an image
Figure 1.5: Blurring an image
1.3 Image Acquisition and Sampling
Figure 1.6: Sampling a function—undersampling
Figure 1.7: Sampling a function with more points
Figure 1.8: Effects of sampling
Using Light
Figure 1.9: Capturing an image with a CCD array
Figure 1.10: Capturing an image with a CCD scanner
Other Energy Sources
Figure 1.11: The electromagnetic spectrum
Figure 1.12: X-ray tomography
1.4 Images and Digital Images
Figure 1.13: An image as a function
Figure 1.14: The image of Figure 1.13 plotted as a function of two variables
Figure 1.15: Pixels, with a neighborhood
1.5 Some Applications
1.6 Image Processing Operations
1.7 An Image Processing Task
1.8 Types of Digital Images
Figure 1.16: A binary image
Figure 1.17: A grayscale image
Figure 1.18: SEE COLOR INSERT A true color image
Figure 1.19: SEE COLOR INSERT An indexed color image
1.9 Image File Sizes
1.10 Image Perception
Figure 1.20: A gray square on different backgrounds
Figure 1.21: Continuously varying intensities
Exercises
2 Images Files and File Types
2.1 Opening and Viewing Grayscale Images
Figure 2.1: The wombats image with impixelinfo
Figure 2.2: The wombats image with ImageViewer
2.2 RGB Images
Figure 2.3: The color cube for the RGB color model
2.3 Indexed Color Images
Information About Your Image
2.4 Numeric Types and Conversions
Table 2.1 Some numeric data types
Table 2.2 Converting images in MATLAB and Octave
Table 2.3 Converting images in Python
2.5 Image Files and Formats
A Hexadecimal Dump Function
Vector versus Raster Images
A Simple Raster Format
Figure 2.4: The start of a PGM file
Microsoft BMP
GIF and PNG
JPEG
TIFF
Writing Image Files
2.6 Programs
Exercises
3 Image Display
3.1 Introduction
3.2 The imshow Function
Grayscale Images
Figure 3.1: An attempt at data type conversion
Figure 3.2: Scaling by dividing an image matrix by a scalar
Binary images
Figure 3.3: Making the image binary
3.3 Bit Planes
Figure 3.4: The bit planes of an 8-bit grayscale image
3.4 Spatial Resolution
Figure 3.5: Reducing resolution of an image
Figure 3.6: Further reducing the resolution of an image
Figure 3.7: Reducing the resolution of an image even more
3.5 Quantization and Dithering
Figure 3.8: A mapping for uniform quantization
Figure 3.9: Quantization (1)
Figure 3.10: Quantization (2)
Figure 3.11: Quantization (3)
Figure 3.12: The image quantized to 2 grayscales
Figure 3.13: Patterns for dithering output
Dithering
Figure 3.14: Examples of dithering
Figure 3.15: Dithering to more than two grayscales
Error Diffusion
Figure 3.16: The thylacine image after Floyd-Steinberg error diffusion
Figure 3.17: Different error diffusion schemes
Figure 3.18: Using other error-diffusion schemes
3.6 Programs
Exercises
4 Point Processing
4.1 Introduction
Figure 4.1: Schema for transform processing
4.2 Arithmetic Operations
Figure 4.2: Adding and subtracting a constant in MATLAB and Octave
Figure 4.3: Adding and subtracting a constant in Python
Figure 4.4: Arithmetic operations on an image: adding or subtracting a constant
Figure 4.5: Adding 128 to an image in Python
Figure 4.6: Using multiplication and division
Figure 4.7: Arithmetic operations on an image: multiplication and division
Complements
Figure 4.8: Image complementation: 255-b
Figure 4.9: Part complementation
4.3 Histograms
Figure 4.10: The image chickens.png and its histogram
Histogram Stretching (Contrast Stretching)
Figure 4.11: A histogram of a poorly contrasted image and a stretching function
Figure 4.12: Histogram after stretching
MATLAB/Octave: Use of imadjust.
Figure 4.13: The stretching function given by imadjust
Figure 4.14: The imadjust function with gamma not equal to 1
Figure 4.15: The chickens image with different adjustments with the gamma value
Adjustment in Python
Figure 4.16: The function used in Figure 4.15
A Piecewise Linear Stretching Function
Figure 4.17: A piecewise linear stretching function
Figure 4.18: Another histogram indicating poor contrast
Histogram Equalization
An Example
Figure 4.19: The histogram of Figure 4.18 after equalization
Figure 4.20: The histogram of Figure 4.10 after equalization
Figure 4.21: The sunset image and its histogram, with equalization
Why It Works
Figure 4.22: The cumulative histogram
4.4 Lookup Tables
Exercises
5 Neighborhood Processing
5.1 Introduction
Figure 5.1: Using a spatial mask on an image
Figure 5.2: Performing linear spatial filtering
5.2 Notation
Borders of the Image
Figure 5.3: A mask at the edge of an image
Figure 5.4: Repeating an image for filtering at its borders
Figure 5.5: The result of filtering with different modes
5.3 Filtering in MATLAB and Octave
Figure 5.6: Average filtering
Separable Filters
5.4 Filtering in Python
Figure 5.7: Average filtering in Python
5.5 Frequencies; Low and High Pass Filters
Figure 5.8: High pass filtering
Figure 5.9: Laplacian filtering without any extra processing
Values Outside the Range 0–255
Figure 5.10: Using a high pass filter and displaying the result
5.6 Gaussian Filters
Figure 5.11: One-dimensional Gaussians
Figure 5.12: Two-dimensional Gaussians.
Figure 5.13: Effects of different Gaussian filters on an image
5.7 Edge Sharpening
Unsharp Masking
Figure 5.14: Schema for unsharp masking
Figure 5.15: An example of unsharp masking
Figure 5.16: Unsharp masking
Figure 5.17: Edge enhancement with unsharp masking
High Boost Filtering
Figure 5.18: High boost filtering
5.8 Non-Linear Filters
Figure 5.19: Using non-linear filters
5.9 Edge-Preserving Blurring Filters
Figure 5.20: Using a median filter
Figure 5.21: The neighborhoods used in the Kuwahara filter
Kuwahara Filters
Figure 5.22: Alternative neighborhoods for a Kuwahara filter
Bilateral Filters
Figure 5.23: Using Kuwahara filters
Figure 5.24: Bilateral filtering
5.10 Region of Interest Processing
Regions of Interest in MATLAB
Region of Interest Filtering
Figure 5.25: An image with an ROI, and the ROI mask
Figure 5.26: Examples of the use of roifilt2
Figure 5.27: ROI filtering with a polygonal mask
Regions of Interest in Octave and Python
5.11 Programs
Exercises
6 Image Geometry
6.1 Interpolation of Data
Figure 6.1: Replacing four points with eight
Figure 6.2: Figure 6.1 slightly redrawn
Figure 6.3: Nearest neighbor interpolation
Figure 6.4: Linear interpolation
Figure 6.5: Calculating linearly interpolated values
6.2 Image Interpolation
Figure 6.6: Interpolation on an image
Figure 6.7: Interpolation between four image points
Figure 6.8: The head
6.3 General Interpolation
Figure 6.9: Scaling by interpolation
Figure 6.10: Using a general interpolation function
Figure 6.11: Two interpolation functions
Figure 6.12: The cubic interpolation function R3(u)
Figure 6.13: Using R3(u) for interpolation
Figure 6.14: How to apply bicubic interpolation
Figure 6.15: Enlargement using bicubic interpolation
6.4 Enlargement by Spatial Filtering
Figure 6.16: Enlargement by spatial filtering
6.5 Scaling Smaller
Figure 6.17: Minimization
6.6 Rotation
Figure 6.18: Rotating a point through angle θ
Figure 6.19: Rotating a rectangle
Figure 6.20: A rectangle surrounding a rotated image
Figure 6.21: The points on a grid after rotation
Figure 6.22: Rotating a point back into the original image
Figure 6.23: Rotation with interpolation
6.7 Correcting Image Distortion
Figure 6.24: Perspective distortion
Figure 6.25: The corners of the building
Figure 6.26: A general symmetric trapezoid
Figure 6.27: The trapezoid around the building
Figure 6.28: The image corrected for perspective distortion
Exercises
7 The Fourier Transform
7.1 Introduction
7.2 Background
Figure 7.1: A function and its trigonometric decomposition
Figure 7.2: A square wave and its trigonometric approximation
7.3 The One-Dimensional Discrete Fourier Transform
Figure 7.3: Expressing a discrete function as the sum of sines
Definition of the One-Dimensional DFT
The Inverse DFT
7.4 Properties of the One-Dimensional DFT
Figure 7.4: Visualizing circular convolution
Table 7.1 Comparison of FFT and direct arithmetic
7.5 The Two-Dimensional DFT
Some Properties of the Two-Dimensional Fourier Transform
Figure 7.5: A “corrugation” function
Figure 7.6: Where each corrugation is positioned on the spectrum
Figure 7.7: Calculating a 2D DFT
Figure 7.8: Shifting a DFT
Figure 7.9: Conjugate symmetry in the DFT
7.6 Experimenting with Fourier Transforms
7.7 Fourier Transforms of Synthetic Images
Figure 7.10: A single edge and its DFT
Figure 7.11: A box and its DFT
Figure 7.12: A rotated box and its DFT
Figure 7.13: A circle and its DFT
7.8 Filtering in the Frequency Domain
Ideal Filtering
Low Pass Filtering
Figure 7.14: The “cameraman” image and its DFT
Figure 7.15: Applying ideal low pass filtering
Figure 7.16: Ideal low pass filtering with different cutoffs
High Pass Filtering
Figure 7.17: Applying an ideal high pass filter to an image
Figure 7.18: Ideal high pass filtering with different cutoffs
Butterworth Filtering
Figure 7.19: Ideal filter functions
Figure 7.20: Butterworth filter functions with n = 2
Figure 7.21: Butterworth filter functions with n = 4
Figure 7.22: Butterworth low pass filtering
Figure 7.23: Butterworth high pass filtering
Gaussian Filtering
Figure 7.24: Applying a Gaussian low pass filter in the frequency domain
Figure 7.25: Applying a Gaussian high pass filter in the frequency domain
7.9 Homomorphic Filtering
Figure 7.26: A schema for homomorphic filtering
Figure 7.27: A simpler schema for homomorphic filtering
Figure 7.28: Varying illumination across an image
Figure 7.29: The result of homomorphic filtering
Figure 7.30: Applying homomorphic filtering to an image
7.10 Programs
Exercises
8 Image Restoration
8.1 Introduction
A Model of Image Degradation
8.2 Noise
Salt and Pepper Noise
Figure 8.1: Noise on an image
Gaussian Noise
Speckle Noise
Figure 8.2: The gull image corrupted by Gaussian and speckle noise
Periodic Noise
Figure 8.3: The gull image corrupted by periodic noise
8.3 Cleaning Salt and Pepper Noise
Low Pass Filtering
Figure 8.4: Attempting to clean salt and pepper noise with average filtering
Median Filtering
Figure 8.5: Cleaning salt and pepper noise with a median filter
Figure 8.6: Using a 3 × 3 median filter on more noise
Figure 8.7: Cleaning 20% salt and pepper noise with median filtering
Rank-Order Filtering
An Outlier Method
8.4 Cleaning Gaussian Noise
Image Averaging
Figure 8.8: Applying the outlier method to 10% salt and pepper noise
Figure 8.9: Image averaging to remove Gaussian noise
Average Filtering
Figure 8.10: Using averaging filtering to remove Gaussian noise
Adaptive Filtering
Figure 8.11: Examples of adaptive filtering to remove Gaussian noise
Figure 8.12: Using adaptive filtering to remove Gaussian noise with low variance
8.5 Removal of Periodic Noise
Figure 8.13: The gull image (a) with periodic noise and (b) its transform
Figure 8.14: Removing periodic noise with a band-reject filter
Figure 8.15: Removing periodic noise with wider band-reject filters
Figure 8.16: Removing periodic noise with a criss-cross filter
8.6 Inverse
Figure 8.17: An attempt at inverse filtering
Figure 8.18: Inverse filtering using low pass filtering to eliminate zeros
Figure 8.19: Inverse filtering using constrained division
Motion Deblurring
Figure 8.20: The result of motion blur
Figure 8.21: Attempts at removing motion blur
8.7 Wiener Filtering
Figure 8.22: Wiener filtering
Exercises
9 Image Segmentation
9.1 Introduction
9.2 Thresholding
Single Thresholding
Figure 9.1: Thresholded image of flying birds
Figure 9.2: Thresholded image of paperclips
Figure 9.3: The paper image and result after thresholding
Double Thresholding
Figure 9.4: The image xray.png and the result after double thresholding
9.3 Applications of Thresholding
9.4 Choosing an Appropriate Threshold Value
Figure 9.5: Attempts at thresholding
Figure 9.6: Histograms
Figure 9.7: Splitting up a histogram for thresholding
Otsu’s Method
Figure 9.8: An example of a histogram illustrating Otsu’s method
The ISODATA Method
Figure 9.9: Images to be thresholded
Figure 9.10: Thresholding with values obtained with Otsu’s method
9.5 Adaptive Thresholding
Figure 9.11: An attempt at thresholding
Figure 9.12: An attempt at thresholding—functional version
Figure 9.13: Adaptive thresholding
9.6 Edge Detection
Figure 9.14: Blocks of pixels
9.7 Derivatives and Edges
Fundamental Definitions
Figure 9.15: Edges and their profiles
Figure 9.16: The derivative of the edge profile
Some Edge Detection Filters
Figure 9.17: A set of steps: A test image for edge detection
Figure 9.18: The result after filtering with the Prewitt filters
Figure 9.19: All the edges of the image
Figure 9.20: The prewitt option of edge
Figure 9.21: Results of the Roberts and Sobel filters
Figure 9.22: Results of the Roberts and Sobel filters in Python
9.8 Second Derivatives
The Laplacian
Figure 9.23: Second derivatives of an edge function
Figure 9.24: Result after filtering with a discrete Laplacian
Zero Crossings
Figure 9.25: Locating zero crossings in an image
Figure 9.26: Edges and second differences
Figure 9.27: Edge detection using zero crossings
9.9 The Canny Edge Detector
Figure 9.28: Non-maximum suppression in the Canny edge detector
Figure 9.29: Using pixel locations to quantize the gradient
Figure 9.30: Quantizing in non-maximum suppression
Figure 9.31: Canny edge detection
9.10 Corner Detection
Figure 9.32: Canny edge detection with different thresholds
Moravec Corner Detection
Figure 9.33: Moravec corner detection
Figure 9.34: A simple image with one corner
Figure 9.35: Moravec detection in MATLAB, Octave, and Python compared
The Harris-Stephens Detector
Figure 9.36: The ellipse associated with the Harris matrix H
Figure 9.37: Harris-Stephens corner detection
9.11 The Hough and Radon Transforms
Figure 9.38: A line and its parameters
Figure 9.39: A simple Hough example
Figure 9.40: A Hough transform
Figure 9.41: The Radon transform
Figure 9.42: The Fourier slice theorem
Figure 9.43: The Radon transform of the edges of an image
Figure 9.44: Finding a line in an image
Exercises
10 Mathematical Morphology
10.1 Introduction
10.2 Basic Ideas
Translation
Figure 10.1: Translation
Reflection
Figure 10.2: Reflection
10.3 Dilation and Erosion
Dilation
Figure 10.3: Dilation
Figure 10.4: A dilation for which
Figure 10.5: Dilation of a binary image
Erosion
Figure 10.6: Erosion with a cross-shaped structuring element
Figure 10.7: Erosion with a structuring element not containing the origin
Figure 10.8: Erosion of a binary image
Relationship between Erosion and Dilation
An Application: Boundary Detection
Figure 10.9: Boundaries
Figure 10.10: “Internal boundary” of a binary image
Figure 10.11: “External boundary” and the morphological gradient of a binary image
10.4 Opening and Closing
Opening
Figure 10.12: Opening
Closing
Figure 10.13: Closing
Figure 10.14: Open and closing with the cross-shaped structuring element
Figure 10.15: Opening and closing with the square structuring element
Figure 10.16: An example of closing
An Application: Noise Removal
Relationship between Opening and Closing
Figure 10.17: A noisy binary image and results after morphological filtering with different structuring elements.
10.5 The Hit-or-Miss Transform
Figure 10.18: An image A containing a shape to be found
Figure 10.19: The erosion A ⊖ B
Figure 10.20: The complement Ā and the second structuring element
Figure 10.21: The erosion Ā ⊖ C
Figure 10.22: Text eroded by a dot-shaped structuring element
10.6 Some Morphological Algorithms
Region Filling
Figure 10.23: An 8-connected boundary of a region to be filled
Figure 10.24: The process of filling the region
Connected Components
Figure 10.25: Filling connected components
Figure 10.26: Labeling connected components
Skeletonization
Figure 10.27: Region filling
Table 10.1 Operations used to construct the skeleton
Figure 10.28: Skeletonization
Figure 10.29: The final skeleton
Figure 10.30: Skeletonization of a binary image
10.7 A Note on the bwmorph Function in MATLAB and Octave
10.8 Grayscale Morphology
Figure 10.31: An example for erosion
Figure 10.32: An example for grayscale erosion and dilation
Relationship between Grayscale Erosion and Dilation
Figure 10.33: Grayscale dilation and erosion
Opening and Closing
10.9 Applications of Grayscale Morphology
Figure 10.34: Grayscale opening and closing
Edge Detection
Figure 10.35: Use of the morphological gradient
Figure 10.36: Morphological edge finding
Noise Removal
Figure 10.37: Use of morphological filtering to remove noise
10.10 Programs
Exercises
11 Image Topology
11.1 Introduction
Figure 11.1: How many blobs?
11.2 Neighbors and Adjacency
11.3 Paths and Components
Figure 11.2: Topological connectedness
Figure 11.3: Components depend on connectedness
11.4 Equivalence Relations
11.5 Component Labeling
Figure 11.4: An example for the connectedness algorithm
Figure 11.5: Starting the connectedness algorithm
Figure 11.6: Continuing the connectedness algorithm
Figure 11.7: Finishing the connectedness algorithm
11.6 Lookup Tables
Figure 11.8: Boundaries of circles
11.7 Distances and Metrics
Figure 11.9: Comparison of three metrics
The Distance Transform
Figure 11.10: Simple pair of masks for the two-pass distance transform
Figure 11.11: More accurate pair of masks for the two-pass distance transform
Figure 11.12: Masks that are more accurate still
Implementing the Distance Transform
11.8 Skeletonization
Figure 11.13: Examples of a distance transform
Figure 11.14: Examples of skeletonization
Figure 11.15: Skeletons after small changes to an object
Figure 11.16: The medial axis of an object
Figure 11.17: A non-deletable pixel: creates a hole
Figure 11.18: A non-deletable pixel: removes a hole
Figure 11.19: A non-deletable pixel: disconnects an object
Figure 11.20: Are the center points deletable?
Figure 11.21: Components of
How Not To Do Skeletonization
The Zhang-Suen Skeletonization Algorithm
Figure 11.22: Deletion in the Zhang-Suen algorithm
Figure 11.23: Steps 1 and 2 of a Zhang-Suen skeletonization
Figure 11.24: Steps 3 and 4 of a Zhang-Suen skeletonization
The Guo-Hall Skeletonization Algorithm
Figure 11.25: Examples of the Zhang-Suen skeletonization
Figure 11.26: Steps 1 and 2 of a Guo-Hall skeletonization
Figure 11.27: Steps 3 and 4 of a Guo-Hall skeletonization
Figure 11.28: Examples of Guo-Hall skeletonization
Skeletonization Using the Distance Transform
Figure 11.29: Skeletonization using the distance transform
11.9 Programs
Exercises
12 Shapes and Boundaries
12.1 Introduction
12.2 Chain Codes and Shape Numbers
Figure 12.1: Directions for chain codes
Figure 12.2: A 4-connected object and its boundary
Figure 12.3: Obtaining the chain code from the object in Figure 12.2
Figure 12.4: Traversing a neighborhood
Normalization of Chain Codes
Figure 12.5: A chain code written cyclically
Shape Numbers
Figure 12.6: A simple L-shape
12.3 Fourier Descriptors
Figure 12.7: Boundary pixels
Figure 12.8: Fourier descriptors of an L shape
Figure 12.9: Unshifted one-dimensional DFT
Figure 12.10: Excluding elements from the DFT
Figure 12.11: Fourier descriptors drawn differently
Figure 12.12: Three shapes
Figure 12.13: Using only 8 pairs of values from the Fourier transform
Figure 12.14: Using 20 pairs of values from the Fourier transform
Figure 12.15: Using 32 pairs of values from the Fourier transform
Exercises
Figure 12.16: Shapes for Question 1
Figure 12.17: Shapes for Question 3
13 Color Processing
13.1 What Is Color?
Physical Aspects of Color
Perceptual Aspects of Color
Figure 13.1: RGB color matching functions (CIE, 1931)
Figure 13.2: XYZ color matching functions (CIE, 1931)
Figure 13.3: A chromaticity diagram
13.2 Color Models
RGB
Figure 13.4: SEE COLOR INSERT The RGB gamut
HSV
Figure 13.5: The color space HSV as a cone
Conversion between RGB and HSV
YIQ
Figure 13.6: The RGB cube and its YIQ transformation
13.3 Manipulating Color Images
Figure 13.7: A three-dimensional array for an RGB image
Figure 13.8: SEE COLOR INSERT An RGB color image and its components
Figure 13.9: The HSV components
Figure 13.10: The YIQ components
13.4 Pseudocoloring
Intensity Slicing
Figure 13.11: Intensity slicing as a mapping
Gray-Color Transformations
Figure 13.12: Mapping grays to colors
Figure 13.13: SEE COLOR INSERT Applying a color map to a grayscale image
Figure 13.14: SEE COLOR INSERT An image colored with a “handmade” color map
13.5 Processing of Color Images
Contrast Enhancement
Figure 13.15: Color processing
Figure 13.16: SEE COLOR INSERT An attempt at color contrast enhancement
Figure 13.17: SEE COLOR INSERT A better attempt at color contrast enhancement
Figure 13.18: SEE COLOR INSERT Another example of color contrast enhancement
Spatial Filtering
Figure 13.19: SEE COLOR INSERT Unsharp masking of a color image
Figure 13.20: SEE COLOR INSERT Kuwahara filtering of a color image
Noise Reduction
Figure 13.21: SEE COLOR INSERT Noise on a color image
Figure 13.22: SEE COLOR INSERT Attempts at denoising a color image
Edge Detection
Figure 13.23: The edges of a color image
The Retinex Algorithm
Figure 13.24: An application of center/surround retinex
Figure 13.25: SEE COLOR INSERT The botanic gardens, Melbourne, Australia
Figure 13.26: SEE COLOR INSERT Center/surround retinex on a color image
13.6 Programs
Exercises
14 Image Coding and Compression
14.1 Lossless and Lossy Compression
14.2 Huffman Coding
Figure 14.1: Forming the Huffman code tree
Figure 14.2: Assigning 0’s and 1’s to the branches
14.3 Run Length Encoding
Implementing Run Length Coding
14.4 Dictionary Coding: LZW Compression
14.5 The JPEG Algorithm
Figure 14.3: Comparison of the FFT and the DCT
Figure 14.4: Reading the elements from a DCT block
Figure 14.5: An image before and after JPEG compression and decompression
Figure 14.6: The difference between an image and its JPEG decompression
Figure 14.7: JPEG compression with a scale factor of 2
Figure 14.8: JPEG compression with a scale factor of 5
Figure 14.9: JPEG compression with a scale factor of 10
Figure 14.10: An image closeup
Figure 14.11: Closeups after the scale factors of 1 and 2
Figure 14.12: Closeups after the scale factors of 5 and 10
14.6 Programs
Exercises
15 Wavelets
15.1 Waves and Wavelets
Figure 15.1: Comparing a wave and a wavelet
A Simple Wavelet Transform
Figure 15.2: Shifts and dilations of the wavelet w(x)
15.2 A Simple Wavelet: The Haar Wavelet
Figure 15.3: The Haar wavelet and pulse function
Applying the Haar Wavelet
Two-Dimensional Wavelets
Figure 15.4: The standard decomposition of the two-dimensional DWT
Figure 15.5: The non-standard decomposition of the two-dimensional DWT
15.3 Wavelets and Images
Figure 15.6: Different displays of a 1-scale DWT applied to an image
Figure 15.7: Different displays of a 3-scale DWT applied to an image
Figure 15.8: A 3-scale standard decomposition DWT applied to an image
15.4 The Daubechies Wavelets
Figure 15.9: The 1-scale wavelet transform in terms of filters
Figure 15.10: A plot of the Haar wavelet
Figure 15.11: A plot of the Daubechies-4 wavelet
15.5 Image Compression Using Wavelets
Thresholding and Quantization
Figure 15.12: An image after DWT thresholding and inversion
Figure 15.13: Use of different wavelets
Figure 15.14: Results of wavelet compression with d = 30 and d = 50
Extraction
Figure 15.15: Closeups of wavelet compression using d = 10
Figure 15.16: Closeups of wavelet compression using d = 30 and d = 50
Figure 15.17: An image after DWT extraction and inversion
Figure 15.18: Compression by DWT extraction
15.6 High Pass Filtering Using Wavelets
Figure 15.19: High pass filtering with wavelets
15.7 Denoising Using Wavelets
Figure 15.20: Denoising using wavelets
Figure 15.21: Denoising using different thresholds
Exercises
16 Special Effects
16.1 Polar Coordinates
An Example: Radial Pixelization
Figure 16.1: Radial pixelation
16.2 Ripple Effects
Figure 16.2: “Bathroom glass” rippling on an image
16.3 General Distortion Effects
Figure 16.3: “Pond rippling” on an image
Figure 16.4: Fisheye and twirls
Figure 16.5: Jitter and circular slice
Figure 16.6: The “square slice” effect
Figure 16.7: The fuzzy effect using different neighborhoods
16.4 Pixel Effects
Figure 16.8: The oil painting effect with different filter sizes
Figure 16.9: The solarization effect
Figure 16.10: More solarization effects
16.5 Color Images
Figure 16.11: SEE COLOR INSERT Effects on a color image
Exercises
Back Matter
Appendix A Introduction to MATLAB and Octave
A.1 Introduction
Figure A.1: The MATLAB command window ready for action
A.2 Basic Use
Figure A.2: The Octave command window ready for action
A.3 Variables and the Workspace
The Workspace
A.4 Dealing with Matrices
Matrix Elements
Matrix Operations
The Dot Operators
Operators on Matrices
Constructing Matrices
Vectorization
Cell Arrays
A.5 Plots
Figure A.3: A simple plot in MATLAB/Octave
Figure A.4: A different plot in MATLAB/Octave
A.6 Online Help
Figure A.5: The MATLAB help browser
A.7 Programming
Script Files
Functions
Anonymous Functions
Exercises
Appendix B Introduction to Python
Figure B.1: Python development environments
B.1 Basic Use
B.2 Arrays
B.3 Graphics and Plots
Figure B.2: A plot with pyplot in Python
B.4 Programming
Appendix C The Fast Fourier Transform
Figure C.1: A butterfly diagram
Figure C.2: A general butterfly
Figure C.3: A butterfly diagram for a four-element FFT
Figure C.4: A butterfly diagram for an eight-element FFT
Figure C.5: A complete butterfly diagram for an eight-element FFT
Bibliography
Index
Color Plate
FIGURE 1.18: A true color image
FIGURE 1.19: An indexed color image
FIGURE 13.4: The RGB gamut
FIGURE 13.8: An RGB color image and its components
FIGURE 13.13: Applying a color map to a grayscale image
FIGURE 13.14: An image colored with a “handmade” color map
FIGURE 13.16: An attempt at color contrast enhancement
FIGURE 13.17: A better attempt at color contrast enhancement
FIGURE 13.18: Another example of color contrast enhancement
FIGURE 13.19: Unsharp masking of a color image
FIGURE 13.20: Kuwahara filtering of a color image
FIGURE 13.21: Noise on a color image
FIGURE 13.22: Attempts at denoising a color image
FIGURE 13.25: The botanic gardens, Melbourne, Australia
FIGURE 13.26: Center/surround retinex on a color image
FIGURE 16.11: Effects on a color image
People also search for A Computational Introduction to Digital Image Processing 2nd :
introduction to computational theory
what is computational technology
what is a computational tool
a computational introduction to number theory and algebra
introduction to computational media
Tags: Alasdair McAndrew, A Computational, Digital Image