 68

# DIGITAL IMAGE PROCESSING - mmumullana.org · Digital Image Processing The field of digital image processing refers to processing digital images by using computers. Image processing

Nov 03, 2019

## Documents

others

• COURSE – ECE-411IMAGE PROCESSING

Er. DEEPAK SHARMA

Asstt. Prof., ECE department.

MMEC, MM University, Mullana.

• Why Image Processing?

For Human Perception

To make images more beautiful or understandable

Automatic Perception of Image

We call it Machine Vision, Computer Vision, Machine

Perception, Computer Recognition

For Storage and Transmission

smaller, faster, more effective

Image Processing for New Image Generation (New trends)

Computer Graphics introduced Image Processing and

Computer Vision technologies

ECE-411 (Image Processing)

• The Electromagnetic Spectrum

Images based on radiation from the EM spectrum

EM : wave stream of mass less particles

Each particle contains energy

ECE-411 (Image Processing)

• Example: a cell

Image of a cell corrupted by

electronic noise.

Result after averaging

several noisy images (a

common technique for noise

reduction)

ECE-411 (Image Processing)

• Example: an x-ray

An original x-ray image

Result possible after

contrast and edge

enhancement

ECE-411 (Image Processing)

• Example: image deblurring

Image of a human face

blurred by uniform motion

during exposure.

Resulting image after

application of a deblurring

algorithm

ECE-411 (Image Processing)

• Simple Image Model

Monochrome image (or simply image) refers to a 2-

dimensional light intensity function f(x,y).

x and y denote spatial coordinates

the value of f(x,y) at (x,y) is proportional to the brightness (or gray

level) of the image at that point.

ECE-411 (Image Processing)

• Simple image formation

f(x,y) = i(x,y)*r(x,y) 0 < i(x,y) < ∞ ; illumination or intensity of incident light

0 < r(x,y) < 1 ; reflectance or reflectivity of object.

In real situation

Lmin ≤ f(x,y)) ≤ Lmax

ECE-411 (Image Processing)

• Why Digital? Unification of processing

Computers is at the center of information processing

Digital information is just right form for computer

processing

Text, Image, Sound, Movie, and other Multimedia are

digitized into computer

Noise reduction

Digital processing reduces noises

Guarantee the same quality regardless of time and place

Easy storage

Since the same form is used for every information, it can be

stored in H/D, CD, DVD, Flash memory, etc.

Transmission

Less Bandwidth ECE-411 (Image Processing)

• Digital image

A digital image is an image f(x,y) that has been discretized

both in spatial coordinates and in brightness.

Considered as a matrix whose row and column indices

represent a point in the image.

The corresponding matrix element value represents the gray

level at that point.

The elements of such an array are referred to as:

image elements or picture elements (pixels or pels)

ECE-411 (Image Processing)

• ECE-411 (Image Processing)

• Digital Image Processing

The field of digital image processing refers to processing

digital images by using computers.

Image processing is a branch in which both the input and

output of a process are images.

The goal of computer vision is to use computers to emulate human vision, including learning, making inferences and taking actions.

The area of image analysis is in between image processing and computer vision.

ECE-411 (Image Processing)

• Types of Processes in Image Processing

There are 3 types of computerized processes. Low level processes mid level processes and high level processes.

Low-level processes involve primitive operations such as image preprocessing to reduce noise, contrast enhancement and image sharpening.

Here both the input and output are images.

Mid-level processing involves segmentation (partitioning image into regions), description of objects to reduce them to a form so that a computer can process and classification (recognition) of objects.

Here inputs are images but outputs are attributes extracted from images.

ECE-411 (Image Processing)

• In high-level processing, we ‘make sense’ of a collectionof recognized objects.

The process of acquiring an image of a text, processing it,extracting (segmenting) individual characters, describingcharacters suitable for computer processing andrecognizing those individual characters are in the scope ofdigital image processing.

Making sense of the content of the page (text) is viewedas the domain of image analysis and computer vision.

ECE-411 (Image Processing)

• Fundamental steps in Digital Image

Processing

Image acquisition

Image enhancement

Image Restoration

Color Image Processing

Image Compression

Morphological Processing

Image Segmentation

Representation and description

Recognition

ECE-411 (Image Processing)

• Fundamental steps in Digital Image

Processing

ECE-411 (Image Processing)

• Steps in an image processing system

Image acquisition

This stage involves preprocessing, such as scaling.

Acquire a digital image using an image sensor

In detail, devices that are sensitive to

energy(electromagnetic, sound, … )

If not digital, an analog-to-digital conversion process is

required

The nature of the image sensor (and the produced image)

are determined by the application

In general, CCD(charge-coupled device) or CMOS sensors

are widely used

Examples : Digital camera, Video camera, Scanner, ..ECE-411 (Image Processing)

• CCD (Charged-Coupled Device) cameras

Tiny solid state cells convert light energy into electrical

charge.

The image plane acts as a digital memory that can be read

row by row by a computer.

ECE-411 (Image Processing)

• Steps in an image processing system

Image enhancement – Here we bring out details that were obscured or highlight some features of interest in an image. (eg) increasing the contrast of an image.

Image Restoration – Here we talk about how to improve the appearance of an image. Unlike enhancement, which is subjective, this is objective.

Color Image Processing – Due to Internet, this area is becoming popular. Various color models are worthy to know.

Wavelets – Representing the images in various degrees of resolution in the basis of wavelets.

ECE-411 (Image Processing)

• Steps in an image processing system

Compression – It is a technique for reducing the storage required to save an image or bandwidth needed to transmit.

Morphological Processing – It deals with tools for extracting image components that are useful in the representation and description of shape.

ECE-411 (Image Processing)

• Steps in an image processing system

Segmentation

Broadly defined: breaking an image into its constituent parts

In general, one of the most difficult tasks in image processing

Good segmentation simplifies the rest of the problem

Poor segmentation make the task impossible

Output is usually raw pixel data: may represent region boundaries,

points in the region itself, etc.

Boundary representation can be useful when the focus is on external

shape characteristics (e.g. corners, rounded edges, etc.)

Region representation is appropriate when the focus is on internal

properties

ECE-411 (Image Processing)

• Steps in an image processing system

Representation & description

Representation: transforming raw data into a form suitable

for computer processing

Description (also called feature extraction) deals with

extracting features that result in some quantitative

information of interest or features which are basic for

differentiating one class of objects from another

In terms of character recognition, descriptors such as lakes

(holes) and bays help differentiate one part of the alphabet

from another

ECE-411 (Image Processing)

• Steps in an image processing system

Recognition & Interpretation

Recognition: The process which assigns a label to an object

based on the information provided by its descriptors

may be the alphanumeric character A

Interpretation: Assigning meaning to an ensemble of

recognized objects.

35487-0286 may be a ZIP code

ECE-411 (Image Processing)

• The knowledge base

• Knowledge about a problem domain is coded into an image

processing system in the form of a knowledge database

May be simple:

detailing areas of an image expected to be of interest

May be complex

A list of all possible defects of a material in a vision

inspection system

Guides operation of each processing module

Controls interaction between modules

Provides feedback through the system

ECE-411 (Image Processing)

• Steps in an image processing system

Not all image processing systems would require all

steps/processing modules

Image enhancement for human visual perception may not

go beyond the preprocessing stage

A knowledge database may not be required

Processing systems which include recognition and

interpretation are associated with image analysis systems in

which the objective is autonomous (or at least partially

automatic)

ECE-411 (Image Processing)

• Components of an Image Processing

System

ECE-411 (Image Processing)

• Basic components of a general-purpose

system used for digital image processing Image sensors – Two elements are needed to acquire digital

images.

First one is the physical device that is sensitive to energyradiated by the object that we want to image.

The second one, called the digitizer, is a device forconverting the output of the physical sensing device intodigital form.

Ex. - in a digital video camera, the sensors produce anelectrical output proportional to light intensity.

ECE-411 (Image Processing)

• Basic components of a general-purpose

system used for digital image processing

Specialized Image Processing Hardware -

It consists of digitizer plus hardware that performs other primitive operations such as an arithmetic logic unit (ALU), which performs arithmetic and logical operations on entire image.

This type of hardware is also called as front-end subsystem and its characteristic is speed.

This unit does things that require fast data throughputs which main computer cannot handle.

Computer – In an image processing system it is a general-purpose computer.

Software – It consists of specialized modules that does specific tasks (eg. matlab)

ECE-411 (Image Processing)

• Basic components of a general-purpose system

used for digital image processing

Mass storage – An image of 1024 X 1024 size, storing theintensity of each pixel in 8 bits, requires one megabyte ofstorage.

For short-time storage, we can use computer memory.

Another method is to use a specialized board called framebuffer, that store one or more images and can be accessedrapidly.

They enable us to instantaneously zoom, scroll (verticalshift) and pan (horizontal shift).

For on-line storage magnetic disks or optical-media areused.

The archival storage needs massive capacity but areaccessed infrequently.

Image Displays – These are mainly color TV monitors.

Hardcopy – These devices include laser printers, filmcameras, inkjet units, etc.

ECE-411 (Image Processing)

• Sampling & Quantization

Image sampling

Digitization of spatial coordinates (x,y)

Quantization

Amplitude digitization

The quality of a digital image is determined to a large degree

by the number of samples and discrete gray levels used in

sampling and quantization

ECE-411 (Image Processing)

• Sampling & Quantization

ECE-411 (Image Processing)

• ECE-411 (Image Processing)

• The intensity variation sampled at regular

intervals along the scan line

0 10 20 30 40 50 60 70 80 90 10050

100

150

200

250

300

ECE-411 (Image Processing)

• Four level intensity quantization of

sampled scan line

0 10 20 30 40 50 60 70 80 90 10060

80

100

120

140

160

180

200

220

240

260

ECE-411 (Image Processing)

• Formulation of Digital Image

ECE-411 (Image Processing)

• ECE-411 (Image Processing)

• Image Resolution

Spatial Resolution (x,y)

Spatial resolution is the smallest discernible detail in an image

A line pair : a line and its adjacent space

A widely used definition of resolution is the smallest number of discernible line pairs per unit distance .

Ex: 100 line pairs/mm

But, unit distance or unit area is omitted in most cases

ECE-411 (Image Processing)

• Spatial Resolution

ECE-411 (Image Processing)

• Image Resolution(Cont..)

Gray-level Resolution

Gray-level resolution is the smallest discernible change in

gray level (but, highly subjective!)

Due to hardware considerations, we only consider

quantization level

Usually an integer power of 2. The most common level is

28=256

However, we can find some systems that can digitize the

gray levels of an image with 10 to 12 bits of accuracy.

ECE-411 (Image Processing)

• Gray-level Resolution

ECE-411 (Image Processing)

• Storage

For MxN image with L(=2k) discrete gray level The number, b, of bits required to store the image is

b = M*N*k bits

Ex1: 1024x1024x8bit = 1Mbytes

Common image file formats GIF (Graphic Interchange Format) -

PNG (Portable Network Graphics)

JPEG (Joint Photographic Experts Group)

TIFF (Tagged Image File Format)

PGM (Portable Gray Map)

FITS (Flexible Image Transport System)

ECE-411 (Image Processing)

• Overview of MATLAB Data Types

Data Types

Logical (0 or 1)

Char Numeric

Integer

Signed Unsigned

Fraction

Single Double

Function handling

StructureCell or Array

• Overview of MATLAB Data Types

Data types in MATLAB

Double (64-bit double-precision floating point)

Single (32-bit single-precision floating point)

Int32 (32-bit signed integer)

Int16 (16-bit signed integer)

Int8 (8-bit signed integer)

Uint32 (32-bit unsigned integer)

Uint16 (16-bit unsigned integer)

Uint8 (8-bit unsigned integer)

• Image types

x(m,n) = 0 or 1: binary image

x(m,n) = 0, 1, 2, … P-1: grayscale image

P typically something like 256, 512 or some power of 2.

256 is really the most common

0 = black, P = white

x(m,n) = [0 to P-1, 0 to P-1, 0 to P-1]

Red, green, blue color image

Like three grayscale images

x(m,n) = index into color map.

Color map = three column table with all possible colors

Image index says which row in that table gives RBG

valuesfor that pixel

So long as table is known, very easy to store indices

• Image Type

• Difference between Indexed Image and

RGB Image

Indexed Image RGB Image

• Important MATLAB commands

figure: creates a figure on the screen.

imshow(g): which displays the matrix g as an image.

pixval : turns on the pixel values in our figure.

impixel(i,j): the command returns the value of the pixel (i,j)

iminfo: Information about the image.

• Converting between Data classes and

Image types

Converting between data classes

Converting between Image classes to data classes

Converting between Image classes

Note : When converting between data classes, it is important to

keep in mind the value range for each data classes should be in

range.

• Converting between data classes

General syntax for converting data classes

A = given data class

B = data class in which we want to convert A

B = data_class(A)

Ex : A in uint8 and we want to convert in to double, then

B = double(A)

• Converting between data classes

• Ex 1:double to unsigned integer of 8 bit

A =

34.6500

>> B =uint8(A)

B =

35

• Converting between data classes

Ex 2 : Double to unsigned integer of 8 bit

A =

265.7800

>> B = uint8(A)

B =

255

>> C = -2.76

C =

-2.7600

>> D = uint8(C)

D =

0

Note : Here range of unsigned integer of 8 bits is [0 255]

• Converting between data classes

Rule for conversion

Convert to ‘0’ all the values are less than ‘0’.

Convert to 255 all the values are greater than 255

Convert numbers between 0-255 to corresponding integer

values. E.g.: 5.8 convert into 6

• Converting between Image classes to data

classes

Conversion should perform necessary scaling for the toolbox

to recognize the data as valid image data.

Ex: im2uint8

Function set all the value less than 0 to 0

And set 1 all the value those are greater than 1

Now image range is in [0 1]

Multiplies 255 to all values and round off to integer.

Now range is in [0 255]

• Converting between Image classes to data

classes

Ex 3: image of class double to unsigned integer 8

f =

1.4897 0.6715 1.6302

1.4090 -1.2075 0.4889

1.4172 0.7172 1.0347

>> g=im2uint8(f)

g =

255 171 255

255 0 125

255 183 255

• Ex 4: unsigned integer8 to double

>> h = uint8(h)

h =

26 67 12

212 156 178

23 45 67

>> g = im2double(h)

g =

0.1020 0.2627 0.0471

0.8314 0.6118 0.6980

0.0902 0.1765 0.2627

• Ex 4:

Function im2double convert input image to double format in

range [0 1].

Divide all values by 255 (in case of uint8, if uint16 than divide

by 65535)

Range of image in double format must be [0 1]

Function mat2gray convert any matrix to gray image of double

data class.

• Ex 5 : any matrix to image

h =

26 67 12

212 156 178

23 45 67

>> g = mat2gray(h)

g =

0.0700 0.2750 0

1.0000 0.7200 0.8300

0.0550 0.1650 0.2750

• Ex 6 : any matrix to binary image using threshold 0.6h =

26 67 12

212 156 178

23 45 67

>> g = mat2gray(h)

g =

0.0700 0.2750 0

1.0000 0.7200 0.8300

0.0550 0.1650 0.2750

>> g=im2bw(h,0.6)

g =

0 0 0

1 1 1

0 0 0

• Ex 6:

Function im2bw(f,T) convert any image into binary image

with threshold T.

All the values less than T are set to 0

All the values greater than T are set to 1

First all values are converted into double and than threshold is

applied.

• Some important function

function convert input into Valid input Image data

class

im2uint8 uint8 Logical,uint8,uint16 and

double

im2uint16 uint16 Logical,uint8,uint16 and

double

mat2gray double (in range [0,1]) Logical,uint8,uint16 and

double

im2double double Logical,uint8,uint16 and

double

im2bw logical uint8,uint16 and double

• Converting between Image classes

Important function

gray2ind - intensity image to index image

ind2gray - indexed image to intensity image

rgb2gray - RGB image to grayscale

rgb2ind - RGB image to indexed image

• Ex 7: rgb image to gray

>> f = imread('lenna.png');

>> g = rgb2gray(f);

>> subplot(1,2,1);imshow(f);

>>subplot(1,2,2);imshow(g);

• Array Indexing

MATLAB support many powerful indexing scheme that

simplifying array manipulation and improve the efficiency of

program.

For image processing toolbox

Vector indexing

Matrix indexing

Images are represented in matrix.

• Vector Indexing

• Array of dimension 1xn : row vector

• Array of dimension nx1 : column vector

• First element will start from 1 not from 0 (zero)

• Ex: consider following vector

v = [3 8 2 7 5 9 1 4]

Different commands for vector indexing

1. v(3) = [3 8 2 7 5 9 1 4] = 2 % to access 3rd element

2. V’ = produce column vector of “v”

Note : transpose operator (.‘)

• Vector Indexing(cont.)

3. v(1:3) produce element from index 1 to 3

v(1:3) = [3 8 2 7 5 9 1 4] = 3 8 2

4. v(3:5) = [3 8 2 7 5 9 1 4] = 2 7 5

5. v(end) = [3 8 2 7 5 9 1 4] = 4 % to access last element of array

6. v(5:end) = [3 8 2 7 5 9 1 4] = 5 9 1 4 % to access 5th to last element

7. v(: ) = produce column matrix

8. V(1:2:end) = [3 8 2 7 5 9 1 4] = 3 2 5 1

9. V([1 4 7]) = [3 8 2 7 5 9 1 4] = 3 7 1

Note : index 1:2:end means start from 1 count up by 2 and end with last element. Steps can be negative,

Ex.: V(end:-2:1) = [3 8 2 7 5 9 1 4] = 3 2 5 1

Start with last element count down by 2 and end with first element

• Matrix indexing

Matrix can be written in MATLAB

>> A= [1 2 3; 4 5 6; 7 8 9]

A =

1 2 3

4 5 6

7 8 9

>> size(A) ; % to find dimention of matrix

3 3

• Matrix indexing(cont..)

Examples for matrix indexing

1. To extract element of 3rd row ,2 column

A =

1 2 3

4 5 6

7 8 9

A(3,2) = 8

Note : general format is A(row, column)

• 2. To extract all element from 2nd row

A(2,:) = 4 5 6

3. To extract all element from 3rd column

A(:,3) = 3

6

9

4. to fetch top 2 row

A(1:2,1:3) = 1 2 3

4 5 6

Same for to fetch last 2 column A(1:3, 2:3)

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Related Documents