Transforming images to images

Presentation on theme: "Transforming images to images"— Presentation transcript:

Transforming images to images
Image Transforms Transforming images to images

Classification of Image Transforms
Point transforms modify individual pixels modify pixels’ locations Local transforms output derived from neighbourhood Global transforms whole image contributes to each output value Image Processing and Computer Vision: 2

Point Transforms Manipulating individual pixel values
Brightness adjustment Contrast adjustment Histogram manipulation equalisation Image magnification Image Processing and Computer Vision: 2

Grey Scale Manipulation
Brightness modifications Contrast modifications Histogram manipulation Image Processing and Computer Vision: 2

Add a constant to all values g’ = g + k (k = 50) Image Processing and Computer Vision: 2

Contrast Adjustment Scale all values by a constant g’ = g*k (k = 1.5)
Image Processing and Computer Vision: 2

Image Histogram Measure frequency of occurrence of each grey/colour value Image Processing and Computer Vision: 2

Histogram Manipulation
Modify distribution of grey values to achieve some effect Image Processing and Computer Vision: 2

Specifically to make histogram uniform Image Processing and Computer Vision: 2

Equalisation Transform
Equalised image has n x m/l pixels per grey level Cumulative to level j jnm/l pixels Equate to a value in input cumulative histogram C[i] C[i] = jnm/l j = C[i]l/nm Modifications to prevent mapping to –1. Image Processing and Computer Vision: 2

Thresholding Transform grey/colour image to binary
if f(x, y) > T output = 1 else 0 How to find T? Image Processing and Computer Vision: 2

Threshold Value Manual P-Tile Mode Other automatic methods
User defines a threshold P-Tile Mode Other automatic methods Image Processing and Computer Vision: 2

P-Tile If we know the proportion of the image that is object
Threshold the image to select this proportion of pixels Image Processing and Computer Vision: 2

Mode Threshold at the minimum between the histogram’s peaks.
Image Processing and Computer Vision: 2

Automated Methods Find a threshold  such that
(Start at  = 0 and work upwards.) Average l Average h Image Processing and Computer Vision: 2

Image Magnification Reducing Enlarging
new value is weighted sum of nearest neighbours new value equals nearest neighbour Enlarging add noise to obscure pixelation Image Processing and Computer Vision: 2

Local Transforms Convolution Applications smoothing sharpening
matching Image Processing and Computer Vision: 2

Convolution Definition
Place template on image Multiply overlapping values in image and template Sum products and normalise (Templates usually small) Image Processing and Computer Vision: 2

Example Image Template Result … . . . . . ... … 3 5 7 4 4 …
… … … … … … … … … … … … 1 1 1 1 2 1 Divide by template sum Image Processing and Computer Vision: 2

Separable Templates Convolve with n x n template
n2 multiplications and additions Convolve with two n x 1 templates 2n multiplications and additions Image Processing and Computer Vision: 2

Example Laplacian template Separated kernels 0 –1 0 -1 4 –1 -1 -1 2 -1
0 –1 0 -1 4 –1 -1 2 Image Processing and Computer Vision: 2

Composite Filters Convolution is distributive
Can create a composite filter and do a single convolution Not convolve image with one filter and convolve result with second. Efficiency gain Image Processing and Computer Vision: 2

Applications Usefulness of convolution is the effects generated by changing templates Smoothing Noise reduction Sharpening Edge enhancement Template matching A later lecture Image Processing and Computer Vision: 2

Smoothing Aim is to reduce noise What is “noise”? How is it reduced

Noise Definition Noise is deviation of a value from its expected value
Random changes x  x + n Salt and pepper x  {max, min} Image Processing and Computer Vision: 2

Noise Reduction By smoothing S(x + n) = S(x) + S(n) = S(x)
Since noise is random and zero mean Smooth locally or temporally Local smoothing Removes detail Introduces ringing Image Processing and Computer Vision: 2

Adaptive Smoothing Compute smoothed value, s
Output = s if |s – x| > T x otherwise Image Processing and Computer Vision: 2

Median Smoothing Median is one value in an ordered set:
Image Processing and Computer Vision: 2

Original Smoothed Median Smoothing
Image Processing and Computer Vision: 2

Gaussian Smoothing To reduce ringing Weighted smoothing
Numbers from Gaussian (normal) distribution are weights. Image Processing and Computer Vision: 2

Sharpening What is it? Why do it? Enhancing discontinuities
Edge detection Why do it? Perceptually important Computationally important Image Processing and Computer Vision: 2

An edge is a significant local change in image intensity.
Edge Definition An edge is a significant local change in image intensity. Image Processing and Computer Vision: 2

Edge Types Step edge Line edge Roof edge Real edges
Image Processing and Computer Vision: 2

If an edge is a discontinuity Can detect it by differencing Image Processing and Computer Vision: 2

Roberts Cross Edge Detector
Simplest edge detector Inaccurate localisation -1 1 -1 1 Image Processing and Computer Vision: 2

Prewitt/Sobel Edge Detector
-1 1 -1 1 Image Processing and Computer Vision: 2

Edge Detection Combine horizontal and vertical edge estimates
Image Processing and Computer Vision: 2

Problems Enhanced edges are noise sensitive Scale What is “local”?
Image Processing and Computer Vision: 2

Canny/Deriche Edge Detector
Require edges to be detected accurate localisation single response to an edge Solution Convolve image with Difference of Gaussian (DoG) Image Processing and Computer Vision: 2

Example Results Image Processing and Computer Vision: 2

Second Derivative Operators Zero Crossing
Model HVS Locate edge to subpixel accuracy Convolve image with Laplacian of Gaussian (LoG) Edge location at crossing of zero axis Image Processing and Computer Vision: 2

Example Results Image Processing and Computer Vision: 2

Image Processing and Computer Vision: 2

Global Transforms Computing a new value for a pixel using the whole image as input Cosine and Sine transforms Fourier transform Frequency domain processing Hough transform Karhunen-Loeve transform Wavelet transform Image Processing and Computer Vision: 2

Cosine/Sine A halfway solution to the Fourier Transform
Used in image coding Image Processing and Computer Vision: 2

Fourier All periodic signals can be represented by a sum of appropriately weighted sine/cosine waves Image Processing and Computer Vision: 2

Transformed section of BT Building image.
Image Processing and Computer Vision: 2

Frequency Domain Filtering
Convolution Theorem: Convolution in spatial domain is equivalent to Multiplication in frequency domain Image Processing and Computer Vision: 2

Smoothing Suppress high frequency components
Image Processing and Computer Vision: 2

Sharpening Suppress low frequency components
Image Processing and Computer Vision: 2

Example Image Processing and Computer Vision: 2

Wavelet A hierarchical representation detail
Image Processing and Computer Vision: 2

Hough Transform To detect curves analytically Example straight lines
Image Processing and Computer Vision: 2

Straight Line y = mx + c c = -mx + y
gradient m, intercept c c = -mx + y gradient -x, intercept y ALL points in (x, y) transform to a straight line in (c, m) Can therefore detect collinear points Image Processing and Computer Vision: 2

Analytic Curve Finding
Alternative representation to avoid infinities Other curves higher dimensional accumulators Image Processing and Computer Vision: 2

Performance Improvement Techniques
Look at pairs of points Use edge orientation Image Processing and Computer Vision: 2

Karhunen-Loeve (Principal Component)
A compact method of representing variation in a set of images PCs define a co-ordinate system 1st PC records most of variation 2nd PC records most of remainder etc Image Processing and Computer Vision: 2

Method Take a set of typical images
Compute mean image and subtract from each sample Transform images into columns Group images into a matrix Compute covariance matrix Compute eigenvectors these are the PCs eigenvalues show their importance Image Processing and Computer Vision: 2

Uses Compact representation of variable data Object recognition
Image Processing and Computer Vision: 2

Uses Hierarchical representation Multiresolution processing Coding
Image Processing and Computer Vision: 2

Geometric Transformations
Definitions Affine and non-affine transforms Applications Manipulating image shapes Image Processing and Computer Vision: 2

Affine Transforms Scale, Shear, Rotate, Translate
Length and areas preserved. x’ y’ 1 [ ] a b c d e f g h i x y = Change values of transform matrix elements according to desired effect. a, e  scaling b, d  shearing a, b, d, e  rotation c, f  translation Image Processing and Computer Vision: 2

Affine Transform Examples
Image Processing and Computer Vision: 2

Image Processing and Computer Vision: 2

Image Resampling Moving source to destination pixels
x’ and y’ could be non-integer Round result can create holes in image Manipulate in reverse where did warped pixel come from source is non-integer interpolate nearest neighbours Image Processing and Computer Vision: 2

You Should Know… Point transforms Local transforms Global transforms
scaling, histogram manipulation,thresholding Local transforms edge detection, smoothing Global transforms Fourier, Hough, Principal Component, Wavelet Geometrical transforms Image Processing and Computer Vision: 2