Images replaced for licensing. The book is published under a CC BY-NC-ND license, which covers only the book as a whole and not its individual images, so this page does not republish the book’s photographs. License-free images stand in for them:
- The astronaut photograph (scikit-image) stands in for a color photograph of the MIT dome (Figure 18.2).
- The coffee photograph with added noise (scikit-image) stands in for a noisy photograph of a stop sign (Figure 18.6).
- The cameraman photograph (scikit-image) stands in for a photograph of a zebra (Figure 18.8).
- A generated spoked wheel stands in for a photograph of a wheel (Figure 18.18).
- The coffee photograph (scikit-image) stands in for a photograph of a boat (Figure 18.23).
Discretizing the image derivative
The continuous partial derivative becomes a finite difference. Two choices dominate: is a half-pixel-shifted difference; is centered (no shift) and a touch smoother. Applying across and down gives the two derivative images of Figure 18.2 (the book’s version). Following the book, the derivative of each color channel is shown signed around mid-gray: light where intensity rises and dark where it falls, which paints edges in blue/orange.
What the two kernels do in frequency
An ideal derivative multiplies each frequency by , i.e. magnitude grows linearly with frequency. The DFTs both approximate at low frequencies. tracks the ideal further up the band; rolls off earlier (it suppresses the highest frequencies, so it is smoother and less noisy).
Gaussian derivatives beat noise
Differentiation amplifies high frequencies, so a raw derivative of a noisy image is dominated by noise. Because differentiation and convolution commute, you can differentiate the smooth Gaussian instead of the noisy image. The first Gaussian derivative smooths and differentiates in one pass. Figure 18.6 contrasts the two on a noisy photo (the book’s version).
Gaussian derivatives and the Hermite family
Higher derivative orders of the Gaussian are Hermite polynomials times the Gaussian: Each order adds one more oscillation. Orders 0 to 3 for :
The 2-D Gaussian-derivative triangle
Because the 2-D Gaussian is separable, every mixed partial is just the outer product of two 1-D Hermite-weighted Gaussians. Arranged by total order they form a triangle (the top is itself; each row adds one derivative). Each kernel is shown signed around mid-gray. These are exactly the oriented center-surround filters a linear front-end computes.
Multiscale Gaussian derivatives
The scale selects which edges survive: small picks up fine texture, large only the coarse structure. Here is the Gaussian x-derivative of a photograph at (the book uses a zebra).
Derivatives from binomial filters
Convolving a binomial smoother (Pascal’s triangle) with the elementary difference gives a family of discrete derivative kernels : smoother as grows, all with DC gain 0.
Roberts and Sobel in frequency
The Roberts cross ( diagonal differences) and the Sobel-Feldman operator ( derivative smoothing) are the classic 2-D edge operators. Sobel is separable, , and its smoothing makes it the most isotropic and noise-tolerant. The 2-D DFT magnitudes below show each operator’s directional selectivity.
Image gradient and directional derivatives
The gradient is a per-pixel vector. The derivative in any direction is just a linear combination of the two you already have, with no new convolution needed:
The Laplacian and Laplacian-of-Gaussian
The Laplacian is the simplest rotationally invariant second-order operator. Smoothed with a Gaussian it becomes the Laplacian-of-Gaussian (the Mexican-hat wavelet), a center-surround kernel that responds to blobs and zero-crosses at edges. The book shows the second derivatives on a photograph of a wheel; below, a synthetic spoked wheel has edges at every orientation, which is what tests isotropy.

Sharpening: unsharp masking
Subtracting a blurred copy from twice the image boosts the high frequencies the blur removed: Applied repeatedly it keeps enhancing edges (until artifacts appear). The photo is in color, so the sharpen kernel is applied to each channel independently. The book uses a photograph of a boat.
Retinex: separating reflectance from illumination
An image is reflectance times illumination, . In the log domain this is a sum, and Land’s Retinex exploits a statistical gap: reflectance edges are sharp (large log-gradients) while illumination varies smoothly (small gradients). So you threshold the log-gradient: keep the large part as reflectance, integrate it back with a (mirror-padded) Poisson solve, and take the smooth remainder as illumination. The test setup follows the book: a synthetic Mondrian (piecewise-constant reflectance patches) under a smooth, left-bright illumination, laid out as the book’s decomposition. Because the ground truth is known, you can measure the recovery: the smooth illumination is recovered almost exactly (correlation ~0.97), and the reflectance comes out flat (~0.77; the residual is faint illumination the single global threshold cannot fully separate).
Concluding remarks
From a single idea, differencing neighboring pixels, the chapter builds edge detection, scale selection (Gaussian derivatives), the isotropic Laplacian, sharpening, and gradient-domain reasoning strong enough to separate reflectance from illumination. These operators are the front end of nearly every classical vision pipeline (SIFT, HOG) and echo the center-surround receptive fields of early biological vision.

