You are on page 1of 44

DIGITAL IMAGE

PROCESSING
LECTURE # 5

IMAGE ENHANCEMENT IN
SPATIAL DOMAIN-I
3 Topics to
Cover
Image Enhancement

Basic Operations of Image Enhancement


Point Operations
Local Operations
Global Operations

Gray Level Transformation Functions


Identity Function
Image Negation
Power Law transform
Log Transform
Piece Wise Linear Transform

Contrast Stretching
Gray level Slicing
Bit Plane Slicing

Arithmetic/Logical operations on Images


4
Image Enhancement
Process an image to make the result more suitable than the original image for a
specific application
 The reasons for doing this include:
 Highlighting interesting details in the image
 Removing noise from images
 Making images visually more appealing

 Image enhancement is subjective (problem /application oriented)


5
Image Enhancement
 There are two broad categories of Image enhancement techniques:

 Spatial domain: Direct manipulation of pixel in an image (on the image plane)

 Frequency domain: Processing the image based on modifying the Fourier transform of an
image

Many techniques are based on various combinations of methods from these two
categories
6
Image Enhancement
 Spatial domain enhancement methods can be generalized as

 g(x,y)= T [f(x,y)]
 f(x,y): input image
 g(x,y): processed (output) image

 T[*]: an operator on f (or a set of input images), defined over neighborhood of (x,y)

 Neighborhood about (x,y): a square or rectangular sub-image area centered at (x,y)


7
Image Enhancement
8
Pixel Operations
 g(x,y) = T [f(x,y)]

 Pixel/point operation: The simplest operation in the image processing occurs when the
neighborhood is simply the pixel itself

 Neighborhood of size 1x1: g depends only on f at (x,y)


 T: a gray-level/intensity transformation/mapping function
 Let r = f(x,y) s = g(x,y)
 r and s represent gray levels of f and g at (x,y)
 Then s = T(r)
9
Pixel Operations
Example

 Image negation or invert


 Power Law Transform
 Log Transform
 Piece wise linear Transform
 Thresholding

Thresholding

Image negation Power Law


Transform
10
Local Operations
 g(x,y) = T [f(x,y)]

Local operations:

 g depends on the predefined number of neighbors of f at (x,y)


 Implemented by using mask processing or filtering
 Masks (filters, windows, kernels, templates) : a small (e.g. 3×3) 2-D array, in which
the values of the coefficients determine the nature of the process
11
Local Operations
Example

 Image Smoothing (Noise


Removal)
 Image Sharpening (Edge
Detection)

Image Image
Smoothing Sharpening
12
Global Operations
 Global operations:
 An operation on an image that will manipulate the images as a
whole
 Example:: Histogram Equalization
Gray level Transformation functions [1-
3]
13

 Linear function

 Negative and identity


transformations

 Logarithm function

 Log and inverse-log transformation

 Power-law function

 nth power and nth root transformations


14
Identity functions
 Output intensities are identical to input intensities.

 Is included in the graph only for completeness.


15
Image Negative
A negative image is a total inversion of a positive image, in which light areas appear dark
and vice versa. A negative color image is additionally color reversed, with red areas
appearing cyan, greens appearing magenta and blues appearing yellow.

Color, positive picture (A) and negative (B), monochrome positive picture (C) and negative
(D)
16
Image Negative
Reverses the gray level order

The output grey value s is related to the input grey value as follows:

For L gray levels the transformation function is

 s =T(r) = (L - 1) – r
Gray level transformation function for obtaining the image negative of an image
Negative images are useful for enhancing white or grey detail embedded in dark regions of an
image
17
Logarithmic Transformation [2]
Logarithmic Transformations can be used to brighten the intensities of an image. More often, it is used
to increase the detail (or contrast) of lower intensity values.

They are especially useful for bringing out detail in Fourier transforms

Function of Log Transform , s = c * Log(1+r)


 r= Input Pixel Values
 s= Output Pixel values

The constant c is usually used to scale the range of the log function to match the input domain.

It can also be used to further increase contrast—the higher the c, the brighter the image will appear. Used this way,
the log function can produce values too bright to be displayed.
24
Power Law Transformation
The images shows the Magnetic Resonance image of a fractured human spine
Different curves highlight different details

1 1 1
0 0 0
. . .
9 9 9
0 0 0
. . .
8 8 8
0 0 0
. . .
7 7 7
0 0 0
. . .
6 0 0.2 0.4 0.6 0.8 1 6 0 0.2 0.4 0.6 1 6 0 0.2 0.4 0.6 1
0 Old Intensities 0 0.8 0 0.8
Original Original
. . Intensities . Intensities
5 5 5
0 0 0
. . .
4 4 4
0 0 0
25
Power Law Transformation
An aerial photo of a runway is shown
This time Power Law Transform is used to darken the image

 Different curves highlight different details

γ = 5.0
1
0.
9
0.
8
0.
7
0.
6
0.
5
0.
4
0. 0 0.2 0.4 0.6 0.8 1
3 Original Intensities
0.
2
0.
1
0
27
Contrast Stretching: Example
Figure below shows a typical transformation used for contrast stretching. The locations of
points (r1, s1) and (r2, s2) control the shape of the transformation function.

 If r1=s1, r2=s2
Transformation= Linear

 If r1=r2, s1=0, s2=L-1 Transformation= Thresholding function for binary image


formation

 If (r1,s1)= (rmin,
0)
(r2,s2)= (rmax, L-1) functio
Transformation
stretches the levels n linearly from original range to full range [0, L-1]

In general, r1 ≤ r2 and s1 ≤ s2 is assumed, so the function is always


increasing.
Piecewise-Linear Transformation: Bit Plane
30
slicing

Bit-plane 7 Bit-plane 6

Bit- Bit- Bit-


plane 5 plane 4 plane 3
Bit- Bit- Bit-
plane 2 plane 1 plane 0
Arithmetic/Logical Operations on
Images
31
Addition

 Averaging images for noise removal


 Add edge image into blurred image to get the sharper image
Subtraction

 Removal of background from images


 Image matching
 Moving/displaced object tracking

Multiplication/Division

 Scaling
 Shading
 Convolution
AND / OR operations
 To remove the unnecessary area of an image through mask

operations
NOT operation

 For Image Inversion


Image Addition
32
In its most straightforward implementation, this operator takes as input two identically sized
images and produces as output a third image of the same size as the first two, in which each pixel value
is the sum of the values of the corresponding pixel from each of the two input images. More
sophisticated versions allow more than two images to be combined with a single operation.

A common variant of the operator simply allows a specified constant to be added to every
pixel.
Image Addition
33

How It Works?
The addition of two images is performed straightforwardly in a single pass. The output pixel values are given by:

Or if it is simply desired to add a constant value C to a single image then:

If the pixel values in the input images are actually vectors rather than scalar values (e.g. for color images) then
the individual components (e.g. red, blue and green components) are simply added separately to produce the
output value.
Image Averaging for Noise Reduction
34
Image Averaging for Noise Reduction
35
Image Subtraction
36
Takes two images as input and produces a third image whose pixel values are those of the first image
minus the corresponding pixel values from the second image

Variants

 It is also often possible to just use a single image as input and subtract a constant value from all the
pixels
 Just output the absolute difference between pixel values, rather than the straightforward signed
output.
Image Subtraction
37

 The subtraction of images


two performed in a single is
pass

 If the operator computes


absolute differences between the two
input images, then:

 If it is simply desired to subtract


a constant value C from a single
image, then:
Image Subtraction
38

If the operator calculates absolute differences, then it is impossible for the output pixel
values to be outside the range

In rest of the two cases the pixel value may become negative

This is one good reason for using absolute differences.

How to solve problem of negative pixels?


Image Subtraction
39

How to solve problem of negative pixels?


1st Method
 Let we have an 8-bit Gray scale image (Value Range= 0 t0 255)

 The result of image subtraction may come in the range of -255 to +255
 One scheme can be to add 255 to every pixel and then divide by 2

 Method is easy and fast


 Limitations
 Truncation errors can cause loss of accuracy
 Full range of display may not be utilized
Image Subtraction
40

How to solve problem of negative pixels?

2nd Method

first, find the minimum gray value of the


subtracted image and its negative is added to all the
pixels in the difference image

Then all the pixels in the image are scaled to


the interval [0, 255], by multiplying each pixel
value by 255/max, where max is the maximum
pixel value in the modified difference image
Example: Background Removal Using Image
Subtraction
41
Image Multiplication
42

Like other image arithmetic operators, multiplication comes in two main forms.
 The first form takes two input images and produces an output image in which the pixel values are just
those of the first image, multiplied by the values of the corresponding values in the second image.
 The second form takes a single input image and produces output in which each pixel value is
multiplied by a specified constant.

How It Works

 The multiplication of two images is performed in the obvious way in a single pass using the formula:

 Scaling by a constant is performed


using:
Image Multiplication
43

Guidelines for Use

There are many specialist uses for scaling. In general, though, given a scaling factor greater than
one, scaling will brighten an image. Given a factor less than one, it will darken the image.

For instance, shows a picture of model robot that was taken under low lighting conditions.
Simply scaling every pixel by a factor of 3, we obtain the one shown in the middle which is much clearer.
However, when using pixel multiplication, we should make sure that the calculated pixel values
don't exceed the maximum possible value. If we, for example, scale the above image by a factor of 5 using
an 8-bit representation, we obtain the one shown in last. All the pixels which, in the original image, have a
value greater than 51 exceed the maximum value and are (in this implementation) wrapped around from 255
back to 0.
Image Multiplication
44

 Multiplication also provides a good way of "shading" artwork. You can use it to
introduce a sense of diffuse lighting into your painting.
Image Multiplication
45

 Multiplication provides a good way to color line drawings. Here you can
really see the "black times anything is black, white times anything is that
thing unchanged" rule in action.
Logic Operations
46

AND / OR / NOT Operations

To remove the unnecessary area of an image through mask


(AND/OR) operations

To invert the image same as image negative


(NOT)
Logic Operations
47

 Logical operators operate on a pixel-by-pixel basis

When Logical operation performs on gray-level images, the pixel values are
processed as string of binary numbers

 E.g. performing the NOT operation on a black, 8-bit pixel (a string of 8


0’s) produces a white pixel (a string of 8 1’s)

 Intermediate values are processed the same way changing all 1’s to 0’s
and vice versa

 NOT operation = negative transformation


Logic Operations
48

The AND and OR operations are used for masking; that is for selecting sub-images in an
image as mentioned in the figure 3.27

Light represents a binary 1, and dark represents a binary 0


Operations
Example
Reference
49
s
DIP by Gonzalez
1.

2.http://www.cs.uregina.ca/Links/class-info/425/Lab3/

3.http://www.tutorialspoint.com/dip/Gray_Level_Transformations.htm
For any query Feel Free to
50
ask

You might also like