CIS 4350 Image ENHANCEMENT SPATIAL DOMAIN

Slides:



Advertisements
Similar presentations
Digital Image Processing
Advertisements

Grey Level Enhancement Contrast stretching Linear mapping Non-linear mapping Efficient implementation of mapping algorithms Design of classes to support.
Image Processing Lecture 4
CS & CS Multimedia Processing Lecture 2. Intensity Transformation and Spatial Filtering Spring 2009.
Chapter 3 Image Enhancement in the Spatial Domain.
Chapter - 2 IMAGE ENHANCEMENT
Intensity Transformations (Chapter 3)
Digital Image Processing
Image Enhancement in the Spatial Domain II Jen-Chang Liu, 2006.
Intensity Transformations
Image Processing IB Paper 8 – Part A Ognjen Arandjelović Ognjen Arandjelović
Chapter 4: Image Enhancement
Image Enhancement by Modifying Gray Scale of Individual Pixels
Digital Image Processing In The Name Of God Digital Image Processing Lecture3: Image enhancement M. Ghelich Oghli By: M. Ghelich Oghli
Digital Image Processing
DREAM PLAN IDEA IMPLEMENTATION Introduction to Image Processing Dr. Kourosh Kiani
Image Enhancement To process an image so that the result is more suitable than the original image for a specific application. Spatial domain methods and.
6/9/2015Digital Image Processing1. 2 Example Histogram.
Digital Image Processing
Image Enhancement.
Digital Image Processing
Lecture 2. Intensity Transformation and Spatial Filtering
Chapter 3 Image Enhancement in the Spatial Domain.
ECE 472/572 - Digital Image Processing Lecture 4 - Image Enhancement - Spatial Filter 09/06/11.
Digital Image Processing, 3rd ed. © 1992–2008 R. C. Gonzalez & R. E. Woods Gonzalez & Woods Chapter 3 Intensity Transformations.
University of Ioannina - Department of Computer Science Intensity Transformations (Point Processing) Christophoros Nikou Digital Image.
Chapter 3 Image Enhancement in the Spatial Domain.
Digital Image Processing Lecture 4: Image Enhancement: Point Processing Prof. Charlene Tsai.
CIS 601 Image ENHANCEMENT in the SPATIAL DOMAIN Dr. Rolf Lakaemper.
Intensity Transformations or Translation in Spatial Domain.
CIS 601 – 04 Image ENHANCEMENT in the SPATIAL DOMAIN Longin Jan Latecki Based on Slides by Dr. Rolf Lakaemper.
Lecture Reading  3.1 Background  3.2 Some Basic Gray Level Transformations Some Basic Gray Level Transformations  Image Negatives  Log.
Digital Image Processing Lecture 4: Image Enhancement: Point Processing January 13, 2004 Prof. Charlene Tsai.
Digital Image Processing Image Enhancement in Spatial Domain
Digital Image Processing, 2nd ed. © 2002 R. C. Gonzalez & R. E. Woods Chapter 3 Image Enhancement in the Spatial Domain Chapter.
Image Enhancement in the Spatial Domain.
Image Subtraction Mask mode radiography h(x,y) is the mask.
Lecture Six Figures from Gonzalez and Woods, Digital Image Processing, Second Edition, Copyright 2002.
Image enhancement algorithms & techniques Point-wise operations
IMAGE ENHANCEMENT TECHNIQUES
ECE 692 – Advanced Topics in Computer Vision
IMAGE PROCESSING INTENSITY TRANSFORMATION AND SPATIAL FILTERING
Digital Image Processing
Image Enhancement.
CIS 601 Image Fundamentals
Intensity Transformations and Spatial Filtering
CIS 601 – 03 Image ENHANCEMENT SPATIAL DOMAIN Longin Jan Latecki
Digital Image Processing
Histogram Histogram is a graph that shows frequency of anything. Histograms usually have bars that represent frequency of occuring of data. Histogram has.
Fall 2012 Longin Jan Latecki
CIS 350 – 3 Image ENHANCEMENT SPATIAL DOMAIN
Image Enhancement in the Spatial Domain
Image Enhancement in the
Lecture 3 (2.5.07) Image Enhancement in Spatial Domain
CIS 595 Image Fundamentals
CSC 381/481 Quarter: Fall 03/04 Daniela Stan Raicu
Image Enhancement Gray level transformation Linear transformation
Digital Image Processing
Digital Image Processing
Image Processing Ch3: Intensity Transformation and spatial filters
Lecture Four Chapter Three
Grey Level Enhancement
Image Enhancement To process an image so that the result is more suitable than the original image for a specific application. Spatial domain methods and.
Intensity Transformations and Spatial Filtering
IT523 Digital Image Processing
IT523 Digital Image Processing
The spatial domain processes discussed in this chapter are denoted by the expression
Image Enhancement in the Spatial Domain
Presentation transcript:

CIS 4350 Image ENHANCEMENT SPATIAL DOMAIN in the SPATIAL DOMAIN Dr. Rolf Lakaemper

Most of these slides base on the book Digital Image Processing by Gonzales/Woods Chapter 3

Image Enhancement ? Spatial Domain ? Introduction Image Enhancement ? enhance otherwise hidden information Filter important image features Discard unimportant image features Spatial Domain ? Refers to the image plane (the ‘natural’ image) Direct image manipulation

A 2D grayvalue - image is a 2D -> 1D function, Remember ? A 2D grayvalue - image is a 2D -> 1D function, v = f(x,y)

As we have a function, we can apply operators to this function, e.g. Remember ? As we have a function, we can apply operators to this function, e.g. T(f(x,y)) = f(x,y) / 2 Operator Image (= function !)

T transforms the given image f(x,y) into another image g(x,y) Remember ? T transforms the given image f(x,y) into another image g(x,y) f(x,y) g(x,y)

The operator T can be defined over Spatial Domain The operator T can be defined over The set of pixels (x,y) of the image The set of ‘neighborhoods’ N(x,y) of each pixel A set of images f1,f2,f3,…

Operation on the set of image-pixels Spatial Domain Operation on the set of image-pixels 6 8 2 3 4 1 12 200 20 10 6 100 10 5 (Operator: Div. by 2)

Operation on the set of ‘neighborhoods’ N(x,y) of each pixel Spatial Domain Operation on the set of ‘neighborhoods’ N(x,y) of each pixel 6 8 12 200 (Operator: sum) 6 8 2 226 12 200 20 10

Operation on a set of images f1,f2,… Spatial Domain Operation on a set of images f1,f2,… 6 8 2 12 200 20 10 11 13 3 (Operator: sum) 14 220 23 14 5 5 1 2 20 3 4

Operation on the set of image-pixels Spatial Domain Operation on the set of image-pixels Remark: these operations can also be seen as operations on the neighborhood of a pixel (x,y), by defining the neighborhood as the pixel itself. The simplest case of operators g(x,y) = T(f(x,y)) depends only on the value of f at (x,y) T is called a gray-level or intensity transformation function

Basic Gray Level Transformations Image Negatives Log Transformations Power Law Transformations Piecewise-Linear Transformation Functions For the following slides L denotes the max. possible gray value of the image, i.e. f(x,y)  [0,L]

Image Negatives: T(f)= L-f Transformations Image Negatives: T(f)= L-f T(f)=L-f Output gray level Input gray level

Transformations Log Transformations: T(f) = c * log (1+ f)

Transformations Log Transformations InvLog Log

Transformations Log Transformations

Power Law Transformations T(f) = c*f 

varying gamma () obtains family of possible transformation curves Transformations varying gamma () obtains family of possible transformation curves  > 0 Compresses dark values Expands bright values  < 0 Expands dark values Compresses bright values

Used for gamma-correction Transformations Used for gamma-correction

Used for general purpose contrast manipulation Transformations Used for general purpose contrast manipulation

Piecewise Linear Transformations

Thresholding Function Piecewise Linear Transformations Thresholding Function g(x,y) = L if f(x,y) > t, 0 else t = ‘threshold level’ Output gray level Input gray level

Purpose: Highlight a specific range of grayvalues Two approaches: Piecewise Linear Transformations Gray Level Slicing Purpose: Highlight a specific range of grayvalues Two approaches: Display high value for range of interest, low value else (‘discard background’) Display high value for range of interest, original value else (‘preserve background’)

Piecewise Linear Transformations Gray Level Slicing

Extracts the information of a single bitplane Piecewise Linear Transformations Bitplane Slicing Extracts the information of a single bitplane

Piecewise Linear Transformations BP 0 BP 5 BP 7

How does the transformation function look for bitplanes 0,1,… ? Piecewise Linear Transformations Exercise: How does the transformation function look for bitplanes 0,1,… ? What is the easiest way to filter a single bitplane (e.g. in MATLAB) ?

Histogram Processing Histograms 1 4 5 3 1 5 1 Number of Pixels 3 1 5 1 Number of Pixels gray level

Histogram Equalization: Histograms Histogram Equalization: Preprocessing technique to enhance contrast in ‘natural’ images Target: find gray level transformation function T to transform image f such that the histogram of T(f) is ‘equalized’

Histogram Equalization Equalized Histogram: The image consists of an equal number of pixels for every gray-value, the histogram is constant !

Example: T We are looking for this transformation ! Histogram Equalization Example: T We are looking for this transformation !

Observation (continous model !): Histogram Equalization Target: Find a transformation T to transform the grayvalues g1[0..1] of an image I to grayvalues g2 = T(g1) such that the histogram is equalized, i.e. there’s an equal amount of pixels for each grayvalue. Observation (continous model !): Assumption: Total image area = 1 (normalized). Then: The area(!) of pixels of the transformed image in the gray-value range 0..g2 equals the gray-value g2.

Histogram Equalization The area(!) of pixels of the transformed image in the gray-value range 0..g2 equals the gray-value g2. Every g1 is transformed to a grayvalue that equals the area (discrete: number of pixels) in the image covered by pixels having gray-values from 0 to g1. The transformation T function t is the area- integral: T: g2 = 0..g1 I da

Histogram Equalization Discrete: g1 is mapped to the (normalized) number of pixels having grayvalues 0..g1 .

The results achieved do NOT hold for discrete spaces ! Histogram Equalization Mathematically the transformation is deducted by theorems in continous (not discrete) spaces. The results achieved do NOT hold for discrete spaces ! (Why ?) However, it’s visually close.

Histogram Equalization Conclusion: The transformation function that yields an image having an equalized histogram is the integral of the histogram of the source-image The discrete integral is given by the cumulative sum, MATLAB function: cumsum() The function transforms an image into an image, NOT a histogram into a histogram ! The histogram is just a control tool ! In general the transformation does not create an image with an equalized histogram in the discrete case !

Operation on a set of images f1,f2,… Operations on a set of images Operation on a set of images f1,f2,… 6 8 2 12 200 20 10 11 13 3 (Operator: sum) 14 220 23 14 5 5 1 2 20 3 4

Logic (Bitwise) Operations Operations on a set of images Logic (Bitwise) Operations AND OR NOT

The operators AND,OR,NOT are functionally complete: Operations on a set of images The operators AND,OR,NOT are functionally complete: Any logic operator can be implemented using only these 3 operators

Any logic operator can be implemented using only these 3 operators: Operations on a set of images Any logic operator can be implemented using only these 3 operators: A B Op 1 Op= NOT(A) AND NOT(B) OR NOT(A) AND B

Image 1 AND Image 2 Operations on a set of images 1 2 3 9 7 3 6 4 1 1 1 1 (Operator: AND) 2 2 2 1 1 1 1 2 2 2 2

Used for Bitplane-Slicing and Operations on a set of images Image 1 AND Image 2: Used for Bitplane-Slicing and Masking

Operations on a set of images Exercise: Define the mask-image, that transforms image1 into image2 using the OR operand 1 2 3 9 7 3 6 4 255 2 7 255 (Operator: OR) 255 3 7 255

Arithmetic Operations on a set of images 1 2 3 9 7 3 6 4 2 3 4 10 (Operator: +) 9 5 8 6 1 1 1 1 2 2 2 2

What could the operators + and – be used for ? Operations Exercise: What could the operators + and – be used for ?

(MATLAB) Example: Operator – Foreground-Extraction Operations (MATLAB) Example: Operator – Foreground-Extraction

Operations (MATLAB) Example: Operator + Image Averaging

CIS 4350 Image ENHANCEMENT SPATIAL DOMAIN in the SPATIAL DOMAIN Part 2

Histogram equalization Now: Histogram statistics So far (part 1) : Histogram definition Histogram equalization Now: Histogram statistics

The histogram shows the number of pixels having a certain gray-value Remember: The histogram shows the number of pixels having a certain gray-value number of pixels grayvalue (0..1)

The sum of all values in the normalized histogram is 1. Histograms The NORMALIZED histogram is the histogram divided by the total number of pixels in the source image. The sum of all values in the normalized histogram is 1. The value given by the normalized histogram for a certain gray value can be read as the probability of randomly picking a pixel having that gray value

What can the (normalized) histogram tell about the image ? Histograms What can the (normalized) histogram tell about the image ?

The MEAN VALUE (or average gray level) Histograms The MEAN VALUE (or average gray level) M = g g h(g) 1*0.3+2*0.1+3*0.2+4*0.1+5*0.2+6*0.1= 2.6 0.3 0.2 0.1 0.0 1 2 3 4 5 6

Histograms The MEAN value is the average gray value of the image, the ‘overall brightness appearance’.

The STANDARD DEVIATION Histograms 2. The VARIANCE V = g (g-M)2 h(g) (with M = mean) or similar: The STANDARD DEVIATION D = sqrt(V)

Histograms VARIANCE gives a measure about the distribution of the histogram values around the mean. 0.3 0.2 0.1 0.0 0.3 0.2 0.1 0.0 V1 > V2

Histograms The STANDARD DEVIATION is a value on the gray level axis, showing the average distance of all pixels to the mean 0.3 0.2 0.1 0.0 0.3 0.2 0.1 0.0 D1 > D2

Histograms VARIANCE and STANDARD DEVIATION of the histogram tell us about the average contrast of the image ! The higher the VARIANCE (=the higher the STANDARD DEVIATION), the higher the image’s contrast !

Image and blurred version Histograms Example: Image and blurred version

Histograms with MEAN and STANDARD DEVIATION M=0.73 D=0.32 M=0.71 D=0.27

Design an autofocus system for a digital camera ! Histograms Exercise: Design an autofocus system for a digital camera ! The system should analyse an area in the middle of the picture and automatically adjust the lens such that this area is sharp.

…histograms can give us a first hint how to create image databases: In between the basics… …histograms can give us a first hint how to create image databases:

Feature Based Coding Determine a feature-vector for a given image Compare images by their feature-vectors Two operations need to be defined: a mapping of shape into the feature space and a similarity of feature vectors. Where are the histograms ? Representation Feature Extraction Vector Comparison

Feature Based Coding Determine a feature-vector for a given image Compare images by their feature-vectors Two operations need to be defined: a mapping of shape into the feature space and a similarity of feature vectors. HERE ! Question: how can we compare histograms (vectors) ? Representation HISTOGRAM Histogram Comp.

Vector Comparison Vector Comparison ,

Vector Comparison

Vector Comparison

What’s the meaning of the Cosine Distance with respect to histograms ? Vector Comparison What’s the meaning of the Cosine Distance with respect to histograms ? i.e.: what’s the consequence of eliminating the vector’s length information ?

More Vector Distances: Vector Comparison More Vector Distances: Quadratic Form Distance Earth Movers Distance Proportional Transportation Distance …

Histogram Intersection (non symmetric): Vector Comparison Histogram Intersection (non symmetric): d(h1,h2) = 1 -  min(h1 ,h2 ) /  h1 Ex.: What could be a huge drawback of image comparison using histogram intersection ? i i i i i

Histograms Exercise: Outline an image database system, using statistical (histogram) information

Histograms Discussion: Which problems could occur if the database consists of the following images ?

Histograms

And now to something completely different … Spatial Filtering End of histograms. And now to something completely different …