An Introduction to Images

Similar documents
An Introduction to Images. CS6640/BIOENG6640 Ross Whitaker SCI Institute, School of Computing University of Utah

An Introduction to Images

Computer Assisted Image Analysis TF 3p and MN1 5p Lecture 1, (GW 1, )

IMAGING. Images are stored by capturing the binary data using some electronic devices (SENSORS)

Features. Places where intensities vary is some prescribed way in a small neighborhood How to quantify this variability

UNIT-2 IMAGE REPRESENTATION IMAGE REPRESENTATION IMAGE SENSORS IMAGE SENSORS- FLEX CIRCUIT ASSEMBLY

Matrices and Digital Images

Digital Image Processing COSC 6380/4393

MEDICAL IMAGE ANALYSIS

Introduction to Computer Vision. Human Eye Sampling

Digital Image Fundamentals. Prof. George Wolberg Dept. of Computer Science City College of New York

Digital Image Fundamentals II

CP467 Image Processing and Pattern Recognition

Capturing, Modeling, Rendering 3D Structures

Basic relations between pixels (Chapter 2)

EXAM SOLUTIONS. Image Processing and Computer Vision Course 2D1421 Monday, 13 th of March 2006,

CIE L*a*b* color model

Motivation. Gray Levels

Image Acquisition Systems

Chapter 3. Image Processing Methods. (c) 2008 Prof. Dr. Michael M. Richter, Universität Kaiserslautern

Lecture 4 Image Enhancement in Spatial Domain

C E N T E R A T H O U S T O N S C H O O L of H E A L T H I N F O R M A T I O N S C I E N C E S. Image Operations II

Constructing System Matrices for SPECT Simulations and Reconstructions

Ulrik Söderström 17 Jan Image Processing. Introduction

1/12/2009. Image Elements (Pixels) Image Elements (Pixels) Digital Image. Digital Image =...

Digital Image Processing. Introduction

Babu Madhav Institute of Information Technology Years Integrated M.Sc.(IT)(Semester - 7)

Geometric Transformations and Image Warping

Color Dithering with n-best Algorithm

Digital Image Processing

CS130 : Computer Graphics Lecture 2: Graphics Pipeline. Tamar Shinar Computer Science & Engineering UC Riverside

Vivekananda. Collegee of Engineering & Technology. Question and Answers on 10CS762 /10IS762 UNIT- 5 : IMAGE ENHANCEMENT.

Image Processing. Bilkent University. CS554 Computer Vision Pinar Duygulu

In this lecture. Background. Background. Background. PAM3012 Digital Image Processing for Radiographers

Motivation. Intensity Levels

CS 664 Segmentation. Daniel Huttenlocher

Connected components - 1

Visualisation : Lecture 1. So what is visualisation? Visualisation

Multimedia Retrieval Ch 5 Image Processing. Anne Ylinen

BME I5000: Biomedical Imaging

CSC Computer Graphics

CS 5540 Spring 2013 Assignment 3, v1.0 Due: Apr. 24th 11:59PM

BME I5000: Biomedical Imaging

Image Processing using LabVIEW. By, Sandip Nair sandipnair.hpage.com

Chapter 2 - Fundamentals. Comunicação Visual Interactiva

Lecture 6: Edge Detection

Ulrik Söderström 16 Feb Image Processing. Segmentation

Image Segmentation. Ross Whitaker SCI Institute, School of Computing University of Utah

Topological structure of images

CHAPTER 3 IMAGE ENHANCEMENT IN THE SPATIAL DOMAIN

Image Acquisition + Histograms

Range Imaging Through Triangulation. Range Imaging Through Triangulation. Range Imaging Through Triangulation. Range Imaging Through Triangulation

Computer Graphics and Image Processing Introduction

ME/CS 132: Introduction to Vision-based Robot Navigation! Low-level Image Processing" Larry Matthies"

Chapter 3: Intensity Transformations and Spatial Filtering

Medical Image Analysis

Medical Imaging Introduction

The. Handbook ijthbdition. John C. Russ. North Carolina State University Materials Science and Engineering Department Raleigh, North Carolina

IMAGE ENHANCEMENT in SPATIAL DOMAIN by Intensity Transformations

Morphological Image Processing

COMP371 COMPUTER GRAPHICS

Development of an Automated Fingerprint Verification System

What is an Image? Image Acquisition. Image Processing - Lesson 2. An image is a projection of a 3D scene into a 2D projection plane.

Digital Image Processing. Lecture # 3 Image Enhancement

Lecture 3 - Intensity transformation

Tracking Trajectories of Migrating Birds Around a Skyscraper

Introduction. Computer Vision & Digital Image Processing. Preview. Basic Concepts from Set Theory

Volume Rendering. Lecture 21

3D Scanning. Qixing Huang Feb. 9 th Slide Credit: Yasutaka Furukawa

EE795: Computer Vision and Intelligent Systems

Image Enhancement: To improve the quality of images

11. Image Data Analytics. Jacobs University Visualization and Computer Graphics Lab

Lecture 2 Image Processing and Filtering

Calculating the Distance Map for Binary Sampled Data

Intensity Transformation and Spatial Filtering

Digital Image Processing

Structured Light II. Guido Gerig CS 6320, Spring (thanks: slides Prof. S. Narasimhan, CMU, Marc Pollefeys, UNC)

Lecture 06. Raster and Vector Data Models. Part (1) Common Data Models. Raster. Vector. Points. Points. ( x,y ) Area. Area Line.

What is Visualization? Introduction to Visualization. Why is Visualization Useful? Visualization Terminology. Visualization Terminology

Medical Image Processing using MATLAB

Biometrics Technology: Image Processing & Pattern Recognition (by Dr. Dickson Tong)

Lecture 4. Digital Image Enhancement. 1. Principle of image enhancement 2. Spatial domain transformation. Histogram processing

Computer Graphics. - Volume Rendering - Philipp Slusallek

3D graphics, raster and colors CS312 Fall 2010

Arithmetic/Logic Operations. Prof. George Wolberg Dept. of Computer Science City College of New York

CS 4300 Computer Graphics. Prof. Harriet Fell Fall 2012 Lecture 5 September 13, 2012

INTRODUCTION TO IMAGE PROCESSING (COMPUTER VISION)

An Introduc+on to Mathema+cal Image Processing IAS, Park City Mathema2cs Ins2tute, Utah Undergraduate Summer School 2010

Image Segmentation. Ross Whitaker SCI Institute, School of Computing University of Utah

Homework Graphics Input Devices Graphics Output Devices. Computer Graphics. Spring CS4815

Visualization Computer Graphics I Lecture 20

Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 12] April 23, 2002 Frank Pfenning Carnegie Mellon University

Interpolation is a basic tool used extensively in tasks such as zooming, shrinking, rotating, and geometric corrections.

Computer Vision. The image formation process

EECS490: Digital Image Processing. Lecture #22

INFOGR Computer Graphics

Sampling and Reconstruction

11/1/13. Visualization. Scientific Visualization. Types of Data. Height Field. Contour Curves. Meshes

Visualization. CSCI 420 Computer Graphics Lecture 26

Module 6: Pinhole camera model Lecture 32: Coordinate system conversion, Changing the image/world coordinate system

Transcription:

An Introduction to Images CS6640/BIOENG6640/ECE6532 Ross Whitaker, Tolga Tasdizen SCI Institute, School of Computing, Electrical and Computer Engineering University of Utah 1

What Is An 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 4

Image As A Mapping (Function) domain range 5

Image As A Mapping: Issues Dimensionality of domain (n =?) Dimensionality of range (m =?) Typically use shorthand of R n or R m 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 7

Images As 2D Functions Graph y x y Project brightness on a screen with coordinates (x,y) proportional to value of f(x,y) 8

3D Images Volumes z x y Slice Impossible to graph: Slicing Volume rendering Scientific visualization 9

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 10

Image As Grid of Values 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 Unstructured grid f1 x1 y1 f2 x2 y2 f3 x3 y3 1 4 Structured grids 2 3 11

Where Do Digital Images Come From? Digitizing film or paper Rasterize, sample reflectance/transmission on grid 12

CCD Cameras Optics Image plane 13

X-Rays Projection Image plane 14

X-Ray Images 15

Computed Tomography Series of projections Reconstruction Volume 16

CT (CAT) 17

Magnetic Resonance Imaging Generate field Detect/measure field Coil Coil Random orientation (water molecules) Magnetic field align spins Spins become random (generate field) 18

MRI 19

Nuclear Medicine PET, SPECT, Injection&detection Reconstruction Volume/Image Emission Detectors 20

Serial Sectioning Electron Beam/Light Thin Section Projection (Film) Specimen 21

Serial Section Transmission Electron Microscopy 22

Examples Quality control of surface-mount packaging Retinal architecture from serial section TEM Image-based phenotyping Wild Types Images Mutant Images 23

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) 24 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 Ridges Delta 25 Tolga Tasdizen - ECE 6962 Lecture Notes, U. of Utah

Data Structures for Images Typically objects Matlab - Arrays Toolkits define image objects Header information Dimension, size, datatype, grid spacing (resolution) Metadata (e.g. annotation) Data options Nested arrays Unroll structured grid into 1D array Coherent chunk of memory Pointer to memory Often controlled access to memory (e.g. Matlab and speed) Data listed in row-major order 26

What Appears on Screen/Monitor? A mapping from abstract image to computer/ graphics hardware Processing for this mapping is one goal of IP Typically Values (greyscale or color) map to brightness of screen pixels (proportionally) Domain of image (e.g. grid) maps to screen relestate (proportionally) How do colors and pixel positions get mapped? 27

Image Viewers Displays Conventions to make things easy E.g. 24 bit RGB mapped to RGB of screen buffer Color images 8 or 16 bit unsigned data is displayed as greyscale Generally R=G=B (approximately) Other data Negative numbers Floats Larger integers Special numbers such as NaN, etc. Depends on the viewer. Typically min and max of the data set are set to black and white, respectively, and the rest are mapped propotionally. The viewer doesn t always make clear what it is doing. Beware when looking at nonstandard data. 28

Image Viewers Matlab - built in display imview(arg1) Photoshop Native on OS Preview (Mac OS) Windows Picture and Fax Viewer Web browsers Open source Gimp XV 29

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 33

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 34

Arithmetic operations: f + g Averaging (adding) multiple images can reduce noise 35 1992 2008 R. C. Gonzalez & R. E. Woods

Arithmetic operations: f - g Digital Subtractive Angiography (DSA) 36 1992 2008 R. C. Gonzalez & R. E. Woods

Image Subtraction: Motion Detection 37 1992 2008 R. C. Gonzalez & R. E. Woods

Arithmetic operations: f x g 38 1992 2008 R. C. Gonzalez & R. E. Woods

Arithmetic operations: f / g Captured image Illumination Corrected image 39

Operations on Cartesian Image Grids Grid resolution Neighborhoods Adjacency and connectivity Paths Connected components Flood fill 40

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 r - resolution (e.g. mm s) o - origin Different physical realizations of the same logical grid Resolution vs size vs dimension 41

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 42

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: 43

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 44

Paths Path: Ordered set of indices such that consecutive indices are adjacent Noncylic path unique indices Closed path noncyclic and first and last adjacent 45

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 46

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 47

Connected Component How many distinct CC s are there? 48

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 49

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) Properties If (Test(i,j ) and out[i,j ]==0) put (i,j ) on list and mark out[i,j ]=1 Guaranteed to stop Worst case run time 50

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 51

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 52

CC Output/Extensions Output is typically a label map How to handle foreground/background, etc How to display 53