An Introduction to Images Chapter 01/02 DIP CS6640/BIOENG6640 Guido Gerig U of Utah, School of Computing University of Utah Credits: Ross Whitaker, Utah SoC 1 Module 1: Goals • Understand images as mappings – Understand the difference – continuous vs discrete – Be able to identify domain and range of an image in a precise way • Know several examples of images – How they are used – How they are formed • Understand domain topology, physical dimensions, and resolution of images • Understand and be able to use (e.g. reason about and implement) – Arithmetic operations, neighborhoods, adjacency, 2 connected components What Is A Digital Image? • A file you download from the web (e.g. image.jpg) • What you see on the screen • An array (regular grid) of data values • A mapping from one domain to another – A discrete sampling (approximation) of a function 3 Digital Image Acquisition Process 4 Image As A Mapping (Function) domain range 5 Image As A Mapping: Issues • • • • Dimensionality of domain (n = ?) Dimensionality of range (m = ?) n m Typically use shorthand of R or R Discrete or continuous – Discrete reasoning/math – Continuous math (calculus) –> discrete approximation – Issues for both domain and range 6 Examples of “Images” as Functions “Graph” “x” or “t” 8 Images As 2D Functions “Graph” y x Project brightness on a screen with values at coordinates (x,y) proportional to value of f(x,y) y 9 3D Images – Volumes z y x Slice Impossible to graph: Slicing Volume rendering Scientific visualization 10 Digital Image: Continuous to Discrete Sampling (space) and Quantization (intensity) 11 Digital Image: Continuous to Discrete Sampling (space) and Quantization (intensity) 12 Multivalued Images • Color images: mappings to some subset of R3 – Color spaces: RBG, HSV, etc. • Spectral imagery – Measure energy at different bands within the electromagnetic spectrum • E.g. Satellite images 13 Image As Grid of Values Unstructured grid • Two views – Domain is a discrete set of samples – Samples are points from an underlying continuous function • How is the grid organized? – Unstructured • Points specified by position and value – Structured grids • Position inferred from structure/index • 1D, 2D, 3D, …. • Sizes w, w x h, w x h x d f1 x1 y1 f2 x2 y2 f3 x3 y3 … … … 2 1 4 3 Structured grids 14 Sampling Effect of spatial resolution 15 Quantization: Effect of intensity levels 16 Where Do Digital Images Come From? • Digitizing film or paper – Rasterize, sample reflectance/transmission on grid 17 CCD Cameras Optics Image plane 18 X-Rays Projection Image plane 19 X-Ray Images 20 Computed Tomography Series of projections Reconstruction Volume 21 CT (CAT) 22 Magnetic Resonance Imaging Generate field Coil Random orientation (water molecules) Magnetic field – align spins Detect/measure field Coil Spins become random (generate field) 23 MRI 24 Nuclear Medicine PET, SPECT, … Injection&detection Reconstruction Volume/Image Emission 25 Detectors Serial Sectioning Electron Beam/Light Thin Section Specimen Projection (Film) 26 Serial Section Transmission Electron Microscopy 27 Examples • Quality control of surface-mount packaging • Retinal architecture from serial section TEM • Image-based phenotyping Wild Types Images Mutant Images 28 Fingerprint images • Ink technique – spread ink – press on paper – capture with CCD camera or scanner • Latent fingerprints • Live-scan – Optical sensors – Capacitive sensor – Thermal sensor – Pizoelectric (pressure) 29 Tolga Tasdizen - ECE 6962 Lecture Notes, U. of Utah Fingerprint matching • Fingerprint patterns are unique to the individual • Matching Minutiae – using the ridges directly is hard – often singularity points are used • Local: Minutiae • Global: Loop, delta, ... Loop Delta Ridges 30 Tolga Tasdizen - ECE 6962 Lecture Notes, U. of Utah Array vs. Matrix Operations Matrix multiply ( MATLAB A*X ) Array multiply ( MATLAB A.*X ) Images can be represented as matrices, but the operations refer to array operations unless otherwise specified 38 Arithmetic Operations on Images • Arithmetic operations on pixel values – Multiple images with the same domain – Image become arguments • Implied that the operation is applied pointwise across the domain – Addition, subtraction, multiply, divide, boolean 39 Arithmetic operations: f + g Averaging (adding) multiple images can reduce noise 40 © 1992–2008 R. C. Gonzalez & R. E. Woods Arithmetic operations: f - g Digital Subtractive Angiography (DSA) 41 © 1992–2008 R. C. Gonzalez & R. E. Woods Image Subtraction: Motion Detection 42 © 1992–2008 R. C. Gonzalez & R. E. Woods Arithmetic operations: f x g 43 © 1992–2008 R. C. Gonzalez & R. E. Woods Arithmetic operations: f / g Captured image Illumination Corrected image 44 Operations on Cartesian Image Grids • • • • • • Grid resolution Neighborhoods Adjacency and connectivity Paths Connected components Flood fill 45 Image Coordinates and Resolution • A single point on an image grid is a “pixel” – Sometimes this is just the location, sometimes also the value • References to pixels – Single index (implied ordering) “i” or “f(i)” – Multiple index (gives position on logical grid) “i,j” or “f(i,j)” • Physical coordinates – Logical coordinates place the pixel in physical space Different physical realizations of the – r - resolution (e.g. mm’s) same logical grid – o - origin Resolution vs size vs dimension 46 Index Sets • An index set is a collection of pixel locations – Used to specify subsets of an image – All boolean set operations apply • Convention • Represent the set as an image with 0 indicating non membership and >0 indicating membership • Logical operations become arithmetic operations 47 Neighborhood • Neighborhood (N): a set of relative indices that satisfy the symmetry condition – Symmetry: • Applying neighborhoods: – I.e. you translate neighborhoods to different locations • Notice: 48 Adjacency • Impose topological structure on the grid • Local relationships between pixels • Help to establish distances, paths, connectedness, etc. • Typically adjacency is local and symmetric • For 2D images we consider: 4 connected 8 connected Denote 49 Paths • Path: Ordered set of indices such that consecutive indices are adjacent • Noncylic path – unique indices • Closed path – noncyclic and first and last adjacent 50 Distances in Images • Grid distance vs physical distance – Physical distance between pixels I and J – Grid distance: options • Grid Euclidean • Manhattan (city block) • Shortest path – Assign cost to each transition between adjacent pixels – Find path with shortest cost 51 Distances in Images • Grid distance vs physical distance – Physical distance between pixels I and J – Grid distance: options • Grid Euclidean • Manhattan (city block) • Shortest path – Assign cost to each transition between adjacent pixels – Find path with shortest cost 52 Manhattan Distance / City Block Distance 53 Manhattan Distance / City Block Distance 54 Manhattan Distance / City Block Distance (x,y) Which path is shorter? D4 ( p, q) x s y t (y,t) 55 Pixels with D4 distance from center 56 Pixels with D8 distance from center 57 Connected Component • Consider image with a binary property – I.e. test on each index B(I) returns either true or false • Correct path : path for which every pixel satisfies B(I) • Connected component (C) : set of pixels such that for every pair of pixels in C there exists a correct path between them 58 Connected Component • How many distinct CC’s are there? 59 A Simple Algorithm: Flood Fill • Highlight regions in an image • “Test(i, j)” - is value at pixel (i,j) between a and b • Inputs: seed, image, test function • Data structures: input array, output array, list of grid points to be processed 60 A Simple Algorithm: Flood Fill • Empty list, clear output buffer (=0) • Start at seed (i,j) and if Test(i,j), put (i,j) on list and mark out[i,j]=1 • Repeat until list of points is empty: – Remove point (i,j) from list – (Loop) for all 4 neighbors (i’,j’) of (i,j) • If (Test(i’,j’) and out[I’,j’]==0) put (i’,j’) on list and mark out[i’,j’]=1 • Properties – Guaranteed to stop – Worst case run time 61 Connected Component Analysis • Input: image and test • Output: an integer image (label map) that has either “0” (failed test) or a positive integer associated with each distinct connected component 62 CC – Purpose • When objects are distinguishable by a simple test (e.g. intensity threshold) • Delineate distinct objects for subsequent processing – E.g Count the number, sizes, etc. – Statistics, find outliers irregular objects 63 CC Output/Extensions • Output is typically a “label map” • How to handle foreground/background, etc • How to display 64 Next Class • First part Chapter 03 G&W: Gray Levels, Probability, Histograms • Reading material: Review of probabilities 65

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement