Digital Image Processing
Applied mathematics for real images -- pixels, convolution, transformations, frequency analysis, and restoration, built on Linear Algebra, Fourier Analysis, and Calculus III, with every technique answering "what does this do to an image?"
Free to read now, no account needed: Readiness review. Create a free account to open the other chapters, take the quizzes and keep your progress.
- Chapter overview
- Scalars, vectors, matrices, and tensors, revisited for images ~14 min
- Coordinate systems and functions as mappings ~12 min
- Summation notation and discrete functions ~12 min
- Complex numbers, revisited for Fourier work ~13 min
- Reading NumPy array conventions for images ~10 min
- An image as a matrix-valued function -- the bridge into Chapter 1 ~10 min
1 What is a digital image? π
Create a free account to open this chapter.
- Pixels and image dimensions ~12 min
- Grayscale images as a matrix of intensities ~10 min
- RGB and multichannel images ~12 min
- Alpha channels and compositing ~11 min
- Bit depth and dynamic range ~12 min
- Integer vs. floating-point image representations ~10 min
- Quantization ~11 min
- Spatial resolution and pixel density ~10 min
- Sampling and a first look at aliasing ~12 min
- Binary images and image metadata ~10 min
2 Point operations and image enhancement π
Create a free account to open this chapter.
- Images as functions: point operations ~10 min
- Brightness and the image negative ~10 min
- Thresholding as a point operation ~10 min
- Log transformations ~11 min
- Gamma/power-law transformations and display nonlinearity ~12 min
- The image histogram ~11 min
- Histogram equalization ~13 min
- Histogram matching (specification) ~12 min
- Contrast stretching and clipping ~10 min
3 Convolution and correlation for images π
Create a free account to open this chapter.
- Recalling 1D convolution from Fourier Analysis ~12 min
- Neighborhood operations and the sliding window ~10 min
- 2D discrete convolution and correlation, defined ~13 min
- Kernel flipping -- why it matters, and when it doesn't ~10 min
- Padding strategies ~11 min
- Stride and output size ~10 min
- Separable filters ~12 min
- Linear vs. nonlinear filtering, a first look ~10 min
- Classical kernels: identity, box, Gaussian ~11 min
4 Spatial filtering: smoothing and sharpening π
Create a free account to open this chapter.
- Gaussian smoothing, properly derived ~11 min
- Median filtering (nonlinear) ~11 min
- Bilateral filtering ~12 min
- Noise models: Gaussian, salt-and-pepper, speckle ~11 min
- Comparing smoothing filters against a noise type ~11 min
- The discrete Laplacian ~11 min
- Unsharp masking ~13 min
- High-boost filtering ~10 min
- Choosing a filter: a decision rule ~9 min
5 Image gradients and edge detection π
Create a free account to open this chapter.
- Recalling the gradient and directional derivative ~11 min
- The discrete image gradient ~12 min
- Sobel and Prewitt operators ~12 min
- Gradient magnitude and direction ~11 min
- The Laplacian of Gaussian ~11 min
- The Canny edge detector: what it adds over a raw gradient ~10 min
- Non-maximum suppression ~12 min
- Hysteresis thresholding ~11 min
- The full Canny pipeline, step by step ~14 min
6 Geometric transformations of images π
Create a free account to open this chapter.
- Translation and scaling ~12 min
- Rotation, reflection, and shear ~13 min
- Affine transformations and homogeneous coordinates ~13 min
- Composing and inverting transformations ~12 min
- Image warping and resampling ~12 min
- Nearest-neighbor, bilinear, and bicubic interpolation ~13 min
- Perspective transformations and homographies ~13 min
- Recovering a homography from four point correspondences ~13 min
- Applied: perspective-correcting a photographed document ~14 min
7 Morphological image processing π
Create a free account to open this chapter.
- Binary images and structuring elements ~11 min
- Erosion ~12 min
- Dilation ~11 min
- Opening and closing ~13 min
- The morphological gradient, top-hat, and black-hat ~13 min
- Hit-or-miss ~12 min
- Skeletonization ~13 min
- Connected-component labeling ~12 min
8 The frequency domain: 2D Fourier analysis for images π
Create a free account to open this chapter.
- Recalling the 1D and multidimensional Fourier transform ~12 min
- The 2D discrete Fourier transform ~12 min
- The magnitude and phase spectrum ~12 min
- What image structure looks like in frequency ~12 min
- The convolution theorem for images ~12 min
- Low-pass and high-pass filtering ~12 min
- Band-pass and notch filtering ~12 min
- The ringing artifact ~12 min
- Aliasing, revisited ~12 min
9 Image restoration π
Create a free account to open this chapter.
- Noise, revisited in the frequency domain ~12 min
- The degradation model and the point spread function ~13 min
- Inverse filtering, and why it's unstable ~13 min
- Wiener filtering ~14 min
- Recalling least squares and regularization ~14 min
- Motion blur and deblurring ~13 min
- Regularized restoration as an inverse problem ~13 min
- When restoration can't recover what's lost ~12 min
10 Segmentation π
Create a free account to open this chapter.
- Global thresholding ~10 min
- Otsu's method ~12 min
- Adaptive and local thresholding ~12 min
- Edge-based segmentation ~11 min
- Region growing ~11 min
- K-means image segmentation ~12 min
- The watershed transform ~12 min
- Connected components, revisited for segmentation ~10 min
- Applied: building a document scanner ~15 min
11 Color image processing π
Create a free account to open this chapter.
- RGB and device color ~12 min
- CMY, CMYK, and the print color gap ~12 min
- HSV and HSL ~14 min
- YCbCr and why video uses it ~13 min
- CIE and perceptual color spaces (Lab) ~13 min
- Color transformations and channel-wise operations ~13 min
- Color-based segmentation ~13 min
- Pseudocolor for grayscale and scientific data ~12 min
12 Compression π
Create a free account to open this chapter.
- Redundancy: spatial, coding, and psychovisual ~13 min
- Run-length coding ~12 min
- Entropy coding: Huffman and arithmetic coding ~15 min
- The discrete cosine transform ~16 min
- Block-based transform coding ~14 min
- Quantization and the JPEG quantization table ~15 min
- The JPEG pipeline, assembled ~16 min
- Compression artifacts and the quality/size trade-off ~14 min
13 Eigenimages, PCA, and optimization-based processing π
Create a free account to open this chapter.
- Recalling covariance and low-rank structure ~13 min
- Images as vectors ~12 min
- The covariance matrix of an image dataset ~14 min
- Eigenimages and dimensionality reduction ~14 min
- Reconstruction and compression via PCA ~14 min
- Denoising as an optimization problem ~13 min
- Total variation regularization, briefly ~12 min
- Gradient descent for image reconstruction ~14 min
14 An introduction to computer vision π
Create a free account to open this chapter.
- Corners, and why edges aren't enough ~12 min
- The Harris corner detector ~14 min
- Feature descriptors, conceptually (SIFT) ~13 min
- Feature matching ~12 min
- Outlier rejection (RANSAC) ~14 min
- Template matching ~12 min
- Optical flow, conceptually ~14 min
- What a dedicated CV/ML course adds from here ~15 min
Appendices
Reference chapters on the tools the course uses. Dip in when a lab or a section sends you here; they are not part of the course exam.
A Appendix A: Images as arrays π
Create a free account to open this chapter.
- An image is a NumPy array ~8 min
- uint8 vs. float, and clipping ~10 min
- Channels and shape conventions ~10 min
- scikit-image and scipy: array-native tools ~11 min
- OpenCV: the odd one out ~11 min
- Pillow (PIL): images as objects, not just arrays ~9 min
- Building, reading, and saving image arrays ~9 min