SlideShare a Scribd company logo
Welcome, students!
Let’s learn something cool!
Is this cool?

Meet Pranav Mistry
Father of Sixth Sense Technology
PhD, MIT Media Labs
M.Des, IIT Bombay
BE, Computer Science, Nirma Institute of Technology
Why Digital Image Processing?

Machine
Learning

Gesture
Control

Face
Recognition

Computer
Vision

Biomedical
Image Pro.
So, Let’s start: Lecture Overview
Lecture 1:
Monday, 28 Oct, 2013
Duration : 90 Mins

Lecture 2:
Tuesday, 29 Oct, 2013
Duration : 90 Mins

Topics:

Topics:

1. Basic Introduction and Matlab

5. Noise Filtering and Segmentation

2. Image Handling

6. Colour Image Analysis

3. Operations on Images

7. Gesture Recognition- Case Study

4. Sample Exercises

8. Textbook and beyond

Introduction To Digital Image Processing

10/25/2013

4
1.Basic Introduction and Matlab
Digital Image: The digital image is essentially a fixed number of rows and columns of

pixels. Pixels are the smallest individual element in an image, holding
quantized values that represent the brightness of a given color at any
specific point.
-Monochrome/Grayscale Image has 1 value per pixel,
while Colour Image has 3 values per pixel. (R, G, B)

monochrome image= f( x, y)
-where x and y are spatial coordinates
-f gives amplitude of intensity
-Colour image= 3 R,G,B monochrome images

Introduction To Digital Image Processing

10/25/2013

5
Notation to represent a pixel :

where,
Pixel Location: p = (r , c)
Pixel Intensity Value: I(p) = I(r , c)

[ p, I(p)]

Note: Origin in case of Matlab Image Processing Toolbox is not p=(0,0) but p=(1,1)
The MATrix LABoratory
MATLAB is a dynamically typed language
-Means that you do not have to declare any variables
-All you need to do is initialize them and they are created

MATLAB treats all variables as matrices
-Scalar – 1 x 1 matrix. Vector – 1 x N or N x 1 matrix
-Why? Makes calculations a lot faster
These MATRICES can be manipulated in two ways:
Cleve Moler
Stanford University
1970
Introduction To Digital Image Processing

-Matrix Manipulation (usual matrix operations)
-Array Manipulation (using dot (.) operator as prefix)
-Vector Manipulation
10/25/2013

7
Basics of MATrix LABoratory
What is the best way to learn Matlab?
- Using the ‘Help’ file (sufficient for 90% operations)
- Practicing along with it.
Common Errors:
1. Select ‘Image Processing
Toolbox’ before starting to use
various image functions.
(only available with 2008b or newer)

2. Always make sure whether
current folder is same as desired.
3. Forgetting to use help command
Introduction To Digital Image Processing

10/25/2013

8
2. Image Handling
Matlab Functions
-

function[output]=name(inputs)

Create and save new ‘.m’ file in the current directory

Some inbuilt functions (in Image Pro. Toolbox) to remember:
-

If a statement
doesn’t fit a
line, we use ‘…’
, to indicate it
continues
in
next line

help, clc, type
Imread(‘filename.ext’)
imwrite(g,‘filename.ext’,’compression’,’parameter’,’resolution’,[colores,rowres],‘quality’)
mat2gray(f,[fmin,fmax])
imshow(f(:,:,x))
figure
-for holding on to an image and displaying other (used as prefix with,)
whos
-for displaying size of all images currently being used in workspace

Question: How to find intensity of a given pixel?
Introduction To Digital Image Processing

9
Image Handling (Continued)
-Accessing subset of an image:
For monochromatic images: im2 = im(row1:row2,col1:col2);
For colour images:
im2 = im(row1:row2,col1:col2,:);

Methods to fill lacking data:

-Resizing an image:

1.’nearest’= as neighborhood
2.’bilinear’=linear interpolation
3.’bicubic’=cubic int. (*best)
out = imresize(im, scale, ‘method’); or
out = imresize(im, [r c], ‘method’);

-Rotating an image:
out = imrotate(im, angle_in_deg, ‘method’);

Introduction To Digital Image Processing

10/25/2013

10
3. Operation on Images : Transformations
G( x, y) = T [f ( x, y)]
where, G= Processed Image
T= Operator
f=input image
-Brightness/Intensity Transformation: im2=c*im;
im2=im+c;

-Contrast Transformation:

If c > 1, c>0 increasing brightness
If c < 1, c<0 decreasing brightness

out = imadjust(im, [], [], gamma);

Contrast represents how the intensity changes from min to max value.
Introduction To Digital Image Processing

10/25/2013

11
Operations on Images: Spatial Filtering

a.k.a. neighborhood
processing

1. First we need to create an N x N matrix
called a mask, kernel, filter (or neighborhood).
2. The numbers inside the mask will help us
control the kind of operation we’re doing.
3. Different numbers allow us to
blur, sharpen, find edges, etc.
4. We need to master convolution first, and the
rest is easy!

G=

[

abc
def
ghi

]

Introduction To Digital Image Processing

H=

[

z yx
wvu
tsr

]

Mask
out = a*z + b*y + c*x + d*w + e*v + f*u + g*t + h*s + i*r,

10/25/2013

12
Application:
Before

After

What do we observe?
Introduction To Digital Image Processing

10/25/2013

13
Application: Blurring
Blurring:
-

Reduces noise (high frequency)
Reduces edges (high frequency)
Is essentially a low pass filter (eliminates high f)
Can be done through averaging filter
For colour images, we can blur each
layer independently
mask = fspecial(‘average’, N);
out = imfilter(im, mask,’conv’);

More the
Mask size,
More blur in
Result
Introduction To Digital Image Processing

10/25/2013

14
Application: Edge Detection
What is an edge? – ‘A place of change’.
f’( x, y)= f( x-1, y) – f( x+1,y)
This is a Horizontal filter.
(puts more weight on central pixel)

EXERCISE: Use following masks in fspecial function
and find out what they do- Gaussian, Laplacian,
Laplacian of Gaussian (LoG)

Alternate way: Canny Edge Detector
(most powerful edge detector)

[ g, t]= edge (f, ‘canny’, T , sigma)
Introduction To Digital Image Processing

How do we do this in MATLAB?
1) Create our Prewitt or Sobel Horizontal Masks:
mask = fspecial(‘prewitt’); or mask = fspecial(‘sobel’);
2) Convolve with each mask separately
dX = imfilter(im, mask); dY = imfilter(im, mask2);
3)Find the overall magnitude
mag = sqrt(double(dX).^(2) + double(dY).^(2));
10/25/2013

15
4. Noise Filtering
▪ In reality, pixel corruption takes place during
process of acquisition or transmission. There
is a need to remove(okay, ‘try to’) this noise.
▪ As an exercise, let’s add up artificial
noise in an image using function:
Gaussian

n = imnoise ( im, ‘salt & pepper’, density);
Use blurring filter against ‘Gaussian’ noise.
Use median filter against ‘salt & pepper noise’.

out = medfilt2( n , [M N]);
Salt & Pepper
Introduction To Digital Image Processing

Poisson
10/25/2013

16
Segmentation

division of an image into segments or parts (region of interests)

▪ This division is done mainly on the basis of :
(a) grey level

(b) texture

(d) depth
(c) motion
(e) colour

Can you think of ways in which this will prove useful?
Introduction To Digital Image Processing

10/25/2013

17
Segmentation Techniques
One way is already covered. Can you name that?
Thresholding : Simplest Segmentation Technique
Pixels are grouped into “Object” and “Background”
– Input: Gray scale image
– Output: Binary image

Implementing in Matlab:

output = im2bw(Image, k)
where, K=T/largest pixel size

Introduction To Digital Image Processing

Other Methods:
1. Region Growing: A method that
clubs similar property pixels. (Satellites)
2. Watershed Transform: grayscale
intensity is interpreted as distance.
(topographical use)
10/25/2013

18
Colour Image Analysis
Trichromacy theory :All colors found
in nature can naturally be decomposed
into Red, Green and Blue.

RGB Cube

Other models: CMY, NTSC, YCbCr,
HSI, CMYK, HSV
Introduction To Digital Image Processing

10/25/2013

19
Colour Image Analysis
▪ Basic Conversions:

Loss of information due
to size of palette

What is an indexed image?
An image having two components:
1. Data Matrix
2. Colour Map (a.k.a. ‘palette’)
What is its use?
1.To make display process fast
2.To reduce size of image
Introduction To Digital Image Processing

10/25/2013

20
Gesture Recognition- Case Study

Introduction To Digital Image Processing

10/25/2013

21
Introductory Digital Image Processing using Matlab, IIT Roorkee

More Related Content

What's hot

Application of image processing
Application of image processingApplication of image processing
Application of image processing
University of Potsdam
 
Digital image processing
Digital image processingDigital image processing
Digital image processing
Yendapalli lalitha kundana
 
1. digital image processing
1. digital image processing1. digital image processing
1. digital image processing
vilasini rvr
 
Basics of digital image processing
Basics of digital image  processingBasics of digital image  processing
Basics of digital image processing
zahid6
 
IMAGE SEGMENTATION.
IMAGE SEGMENTATION.IMAGE SEGMENTATION.
IMAGE SEGMENTATION.
Tawose Olamide Timothy
 
Image compression Algorithms
Image compression AlgorithmsImage compression Algorithms
Image compression Algorithms
Shivam Shrivastava
 
Image processing
Image processingImage processing
Image processing
Paramjeet Singh Jamwal
 
Introduction to Digital Image Processing Using MATLAB
Introduction to Digital Image Processing Using MATLABIntroduction to Digital Image Processing Using MATLAB
Introduction to Digital Image Processing Using MATLAB
Ray Phan
 
Image Processing ppt
Image Processing pptImage Processing ppt
Fundamental Steps of Digital Image Processing & Image Components
Fundamental Steps of Digital Image Processing & Image ComponentsFundamental Steps of Digital Image Processing & Image Components
Fundamental Steps of Digital Image Processing & Image Components
Kalyan Acharjya
 
Image transforms
Image transformsImage transforms
Image transforms
11mr11mahesh
 
DCT image compression
DCT image compressionDCT image compression
DCT image compression
youssef ramzy
 
DIP components
DIP componentsDIP components
DIP components
Antony Vigil
 
Digital image processing
Digital image processingDigital image processing
Digital image processing
ABIRAMI M
 
Image enhancement
Image enhancementImage enhancement
Image enhancementAyaelshiwi
 
Image Processing and Computer Vision
Image Processing and Computer VisionImage Processing and Computer Vision
Image Processing and Computer Vision
Silicon Mentor
 
Image segmentation
Image segmentation Image segmentation
Fundamental steps in image processing
Fundamental steps in image processingFundamental steps in image processing
Fundamental steps in image processing
PremaPRC211300301103
 
Image processing presentation
Image processing presentationImage processing presentation
Image processing presentation
Bibus Poudel
 
Histogram Processing
Histogram ProcessingHistogram Processing
Histogram Processing
Amnaakhaan
 

What's hot (20)

Application of image processing
Application of image processingApplication of image processing
Application of image processing
 
Digital image processing
Digital image processingDigital image processing
Digital image processing
 
1. digital image processing
1. digital image processing1. digital image processing
1. digital image processing
 
Basics of digital image processing
Basics of digital image  processingBasics of digital image  processing
Basics of digital image processing
 
IMAGE SEGMENTATION.
IMAGE SEGMENTATION.IMAGE SEGMENTATION.
IMAGE SEGMENTATION.
 
Image compression Algorithms
Image compression AlgorithmsImage compression Algorithms
Image compression Algorithms
 
Image processing
Image processingImage processing
Image processing
 
Introduction to Digital Image Processing Using MATLAB
Introduction to Digital Image Processing Using MATLABIntroduction to Digital Image Processing Using MATLAB
Introduction to Digital Image Processing Using MATLAB
 
Image Processing ppt
Image Processing pptImage Processing ppt
Image Processing ppt
 
Fundamental Steps of Digital Image Processing & Image Components
Fundamental Steps of Digital Image Processing & Image ComponentsFundamental Steps of Digital Image Processing & Image Components
Fundamental Steps of Digital Image Processing & Image Components
 
Image transforms
Image transformsImage transforms
Image transforms
 
DCT image compression
DCT image compressionDCT image compression
DCT image compression
 
DIP components
DIP componentsDIP components
DIP components
 
Digital image processing
Digital image processingDigital image processing
Digital image processing
 
Image enhancement
Image enhancementImage enhancement
Image enhancement
 
Image Processing and Computer Vision
Image Processing and Computer VisionImage Processing and Computer Vision
Image Processing and Computer Vision
 
Image segmentation
Image segmentation Image segmentation
Image segmentation
 
Fundamental steps in image processing
Fundamental steps in image processingFundamental steps in image processing
Fundamental steps in image processing
 
Image processing presentation
Image processing presentationImage processing presentation
Image processing presentation
 
Histogram Processing
Histogram ProcessingHistogram Processing
Histogram Processing
 

Viewers also liked

Snapshots Taken At Iit Roorkee
Snapshots Taken At Iit RoorkeeSnapshots Taken At Iit Roorkee
Snapshots Taken At Iit Roorkee
Mani Kumar
 
Sattviko idea cafe- The free coworking space at IIT Roorkee
Sattviko idea cafe- The free coworking space at IIT RoorkeeSattviko idea cafe- The free coworking space at IIT Roorkee
Sattviko idea cafe- The free coworking space at IIT Roorkee
Prasoon Gupta
 
Acoustics case study IIT Roorkee Church
Acoustics case study IIT Roorkee ChurchAcoustics case study IIT Roorkee Church
Acoustics case study IIT Roorkee Church
Aniruddh Jain
 
Department ppt_IIT Roorkee
Department ppt_IIT RoorkeeDepartment ppt_IIT Roorkee
Department ppt_IIT Roorkee
Arvind Kumar
 
IIT Desk top study (Roorkee)
IIT Desk top study (Roorkee)IIT Desk top study (Roorkee)
IIT Desk top study (Roorkee)
parvathiharini
 
Solar pannels 2
Solar pannels 2Solar pannels 2
Solar pannels 2
parvathiharini
 
Streetscape of IIT Roorkee
Streetscape of IIT RoorkeeStreetscape of IIT Roorkee
Streetscape of IIT Roorkee
Aniruddh Jain
 
AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017
AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017
AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017
Carol Smith
 

Viewers also liked (8)

Snapshots Taken At Iit Roorkee
Snapshots Taken At Iit RoorkeeSnapshots Taken At Iit Roorkee
Snapshots Taken At Iit Roorkee
 
Sattviko idea cafe- The free coworking space at IIT Roorkee
Sattviko idea cafe- The free coworking space at IIT RoorkeeSattviko idea cafe- The free coworking space at IIT Roorkee
Sattviko idea cafe- The free coworking space at IIT Roorkee
 
Acoustics case study IIT Roorkee Church
Acoustics case study IIT Roorkee ChurchAcoustics case study IIT Roorkee Church
Acoustics case study IIT Roorkee Church
 
Department ppt_IIT Roorkee
Department ppt_IIT RoorkeeDepartment ppt_IIT Roorkee
Department ppt_IIT Roorkee
 
IIT Desk top study (Roorkee)
IIT Desk top study (Roorkee)IIT Desk top study (Roorkee)
IIT Desk top study (Roorkee)
 
Solar pannels 2
Solar pannels 2Solar pannels 2
Solar pannels 2
 
Streetscape of IIT Roorkee
Streetscape of IIT RoorkeeStreetscape of IIT Roorkee
Streetscape of IIT Roorkee
 
AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017
AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017
AI and Machine Learning Demystified by Carol Smith at Midwest UX 2017
 

Similar to Introductory Digital Image Processing using Matlab, IIT Roorkee

Introduction to Machine Vision
Introduction to Machine VisionIntroduction to Machine Vision
Introduction to Machine VisionNasir Jumani
 
BMVA summer school MATLAB programming tutorial
BMVA summer school MATLAB programming tutorialBMVA summer school MATLAB programming tutorial
BMVA summer school MATLAB programming tutorial
potaters
 
الوسائط المتعددة Multimedia تاج
الوسائط المتعددة  Multimedia تاجالوسائط المتعددة  Multimedia تاج
الوسائط المتعددة Multimedia تاج
maaz hamed
 
Log polar coordinates
Log polar coordinatesLog polar coordinates
Log polar coordinates
Oğul Göçmen
 
Laureate Online Education Internet and Multimedia Technolog.docx
Laureate Online Education    Internet and Multimedia Technolog.docxLaureate Online Education    Internet and Multimedia Technolog.docx
Laureate Online Education Internet and Multimedia Technolog.docx
DIPESH30
 
Image De-Noising Using Deep Neural Network
Image De-Noising Using Deep Neural NetworkImage De-Noising Using Deep Neural Network
Image De-Noising Using Deep Neural Network
aciijournal
 
IMAGE DE-NOISING USING DEEP NEURAL NETWORK
IMAGE DE-NOISING USING DEEP NEURAL NETWORKIMAGE DE-NOISING USING DEEP NEURAL NETWORK
IMAGE DE-NOISING USING DEEP NEURAL NETWORK
aciijournal
 
Introduction in Image Processing Matlab Toolbox
Introduction in Image Processing Matlab ToolboxIntroduction in Image Processing Matlab Toolbox
Introduction in Image Processing Matlab Toolbox
Shahriar Yazdipour
 
Image De-Noising Using Deep Neural Network
Image De-Noising Using Deep Neural NetworkImage De-Noising Using Deep Neural Network
Image De-Noising Using Deep Neural Network
aciijournal
 
AN EMERGING TREND OF FEATURE EXTRACTION METHOD IN VIDEO PROCESSING
AN EMERGING TREND OF FEATURE EXTRACTION METHOD IN VIDEO PROCESSINGAN EMERGING TREND OF FEATURE EXTRACTION METHOD IN VIDEO PROCESSING
AN EMERGING TREND OF FEATURE EXTRACTION METHOD IN VIDEO PROCESSING
cscpconf
 
ImageProcessingWithMatlab(HasithaEdiriweera)
ImageProcessingWithMatlab(HasithaEdiriweera)ImageProcessingWithMatlab(HasithaEdiriweera)
ImageProcessingWithMatlab(HasithaEdiriweera)Hasitha Ediriweera
 
Fundamentals of image processing
Fundamentals of image processingFundamentals of image processing
Fundamentals of image processing
RoufulAlamBhat1
 
Digital Image Processing
Digital Image ProcessingDigital Image Processing
Digital Image Processing
Ankur Nanda
 
Ch1.pptx
Ch1.pptxCh1.pptx
Ch1.pptx
danielzewde12
 
Designed by Identity MLP
Designed by Identity MLP Designed by Identity MLP
Designed by Identity MLP butest
 
computervision1.pdf it is about computer vision
computervision1.pdf it is about computer visioncomputervision1.pdf it is about computer vision
computervision1.pdf it is about computer vision
shesnasuneer
 
Removal of Gaussian noise on the image edges using the Prewitt operator and t...
Removal of Gaussian noise on the image edges using the Prewitt operator and t...Removal of Gaussian noise on the image edges using the Prewitt operator and t...
Removal of Gaussian noise on the image edges using the Prewitt operator and t...
IOSR Journals
 
Digital Image Processing
Digital Image ProcessingDigital Image Processing
Digital Image Processing
Reshma KC
 

Similar to Introductory Digital Image Processing using Matlab, IIT Roorkee (20)

Introduction to Machine Vision
Introduction to Machine VisionIntroduction to Machine Vision
Introduction to Machine Vision
 
BMVA summer school MATLAB programming tutorial
BMVA summer school MATLAB programming tutorialBMVA summer school MATLAB programming tutorial
BMVA summer school MATLAB programming tutorial
 
الوسائط المتعددة Multimedia تاج
الوسائط المتعددة  Multimedia تاجالوسائط المتعددة  Multimedia تاج
الوسائط المتعددة Multimedia تاج
 
Image_processing
Image_processingImage_processing
Image_processing
 
Log polar coordinates
Log polar coordinatesLog polar coordinates
Log polar coordinates
 
Laureate Online Education Internet and Multimedia Technolog.docx
Laureate Online Education    Internet and Multimedia Technolog.docxLaureate Online Education    Internet and Multimedia Technolog.docx
Laureate Online Education Internet and Multimedia Technolog.docx
 
Image De-Noising Using Deep Neural Network
Image De-Noising Using Deep Neural NetworkImage De-Noising Using Deep Neural Network
Image De-Noising Using Deep Neural Network
 
IMAGE DE-NOISING USING DEEP NEURAL NETWORK
IMAGE DE-NOISING USING DEEP NEURAL NETWORKIMAGE DE-NOISING USING DEEP NEURAL NETWORK
IMAGE DE-NOISING USING DEEP NEURAL NETWORK
 
Introduction in Image Processing Matlab Toolbox
Introduction in Image Processing Matlab ToolboxIntroduction in Image Processing Matlab Toolbox
Introduction in Image Processing Matlab Toolbox
 
Image De-Noising Using Deep Neural Network
Image De-Noising Using Deep Neural NetworkImage De-Noising Using Deep Neural Network
Image De-Noising Using Deep Neural Network
 
AN EMERGING TREND OF FEATURE EXTRACTION METHOD IN VIDEO PROCESSING
AN EMERGING TREND OF FEATURE EXTRACTION METHOD IN VIDEO PROCESSINGAN EMERGING TREND OF FEATURE EXTRACTION METHOD IN VIDEO PROCESSING
AN EMERGING TREND OF FEATURE EXTRACTION METHOD IN VIDEO PROCESSING
 
ImageProcessingWithMatlab(HasithaEdiriweera)
ImageProcessingWithMatlab(HasithaEdiriweera)ImageProcessingWithMatlab(HasithaEdiriweera)
ImageProcessingWithMatlab(HasithaEdiriweera)
 
Fundamentals of image processing
Fundamentals of image processingFundamentals of image processing
Fundamentals of image processing
 
Digital Image Processing
Digital Image ProcessingDigital Image Processing
Digital Image Processing
 
Ch1.pptx
Ch1.pptxCh1.pptx
Ch1.pptx
 
Designed by Identity MLP
Designed by Identity MLP Designed by Identity MLP
Designed by Identity MLP
 
computervision1.pdf it is about computer vision
computervision1.pdf it is about computer visioncomputervision1.pdf it is about computer vision
computervision1.pdf it is about computer vision
 
Removal of Gaussian noise on the image edges using the Prewitt operator and t...
Removal of Gaussian noise on the image edges using the Prewitt operator and t...Removal of Gaussian noise on the image edges using the Prewitt operator and t...
Removal of Gaussian noise on the image edges using the Prewitt operator and t...
 
Digital Image Processing
Digital Image ProcessingDigital Image Processing
Digital Image Processing
 
project_final
project_finalproject_final
project_final
 

Recently uploaded

RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
UiPathCommunity
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 

Recently uploaded (20)

RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 

Introductory Digital Image Processing using Matlab, IIT Roorkee

  • 2. Is this cool? Meet Pranav Mistry Father of Sixth Sense Technology PhD, MIT Media Labs M.Des, IIT Bombay BE, Computer Science, Nirma Institute of Technology
  • 3. Why Digital Image Processing? Machine Learning Gesture Control Face Recognition Computer Vision Biomedical Image Pro.
  • 4. So, Let’s start: Lecture Overview Lecture 1: Monday, 28 Oct, 2013 Duration : 90 Mins Lecture 2: Tuesday, 29 Oct, 2013 Duration : 90 Mins Topics: Topics: 1. Basic Introduction and Matlab 5. Noise Filtering and Segmentation 2. Image Handling 6. Colour Image Analysis 3. Operations on Images 7. Gesture Recognition- Case Study 4. Sample Exercises 8. Textbook and beyond Introduction To Digital Image Processing 10/25/2013 4
  • 5. 1.Basic Introduction and Matlab Digital Image: The digital image is essentially a fixed number of rows and columns of pixels. Pixels are the smallest individual element in an image, holding quantized values that represent the brightness of a given color at any specific point. -Monochrome/Grayscale Image has 1 value per pixel, while Colour Image has 3 values per pixel. (R, G, B) monochrome image= f( x, y) -where x and y are spatial coordinates -f gives amplitude of intensity -Colour image= 3 R,G,B monochrome images Introduction To Digital Image Processing 10/25/2013 5
  • 6. Notation to represent a pixel : where, Pixel Location: p = (r , c) Pixel Intensity Value: I(p) = I(r , c) [ p, I(p)] Note: Origin in case of Matlab Image Processing Toolbox is not p=(0,0) but p=(1,1)
  • 7. The MATrix LABoratory MATLAB is a dynamically typed language -Means that you do not have to declare any variables -All you need to do is initialize them and they are created MATLAB treats all variables as matrices -Scalar – 1 x 1 matrix. Vector – 1 x N or N x 1 matrix -Why? Makes calculations a lot faster These MATRICES can be manipulated in two ways: Cleve Moler Stanford University 1970 Introduction To Digital Image Processing -Matrix Manipulation (usual matrix operations) -Array Manipulation (using dot (.) operator as prefix) -Vector Manipulation 10/25/2013 7
  • 8. Basics of MATrix LABoratory What is the best way to learn Matlab? - Using the ‘Help’ file (sufficient for 90% operations) - Practicing along with it. Common Errors: 1. Select ‘Image Processing Toolbox’ before starting to use various image functions. (only available with 2008b or newer) 2. Always make sure whether current folder is same as desired. 3. Forgetting to use help command Introduction To Digital Image Processing 10/25/2013 8
  • 9. 2. Image Handling Matlab Functions - function[output]=name(inputs) Create and save new ‘.m’ file in the current directory Some inbuilt functions (in Image Pro. Toolbox) to remember: - If a statement doesn’t fit a line, we use ‘…’ , to indicate it continues in next line help, clc, type Imread(‘filename.ext’) imwrite(g,‘filename.ext’,’compression’,’parameter’,’resolution’,[colores,rowres],‘quality’) mat2gray(f,[fmin,fmax]) imshow(f(:,:,x)) figure -for holding on to an image and displaying other (used as prefix with,) whos -for displaying size of all images currently being used in workspace Question: How to find intensity of a given pixel? Introduction To Digital Image Processing 9
  • 10. Image Handling (Continued) -Accessing subset of an image: For monochromatic images: im2 = im(row1:row2,col1:col2); For colour images: im2 = im(row1:row2,col1:col2,:); Methods to fill lacking data: -Resizing an image: 1.’nearest’= as neighborhood 2.’bilinear’=linear interpolation 3.’bicubic’=cubic int. (*best) out = imresize(im, scale, ‘method’); or out = imresize(im, [r c], ‘method’); -Rotating an image: out = imrotate(im, angle_in_deg, ‘method’); Introduction To Digital Image Processing 10/25/2013 10
  • 11. 3. Operation on Images : Transformations G( x, y) = T [f ( x, y)] where, G= Processed Image T= Operator f=input image -Brightness/Intensity Transformation: im2=c*im; im2=im+c; -Contrast Transformation: If c > 1, c>0 increasing brightness If c < 1, c<0 decreasing brightness out = imadjust(im, [], [], gamma); Contrast represents how the intensity changes from min to max value. Introduction To Digital Image Processing 10/25/2013 11
  • 12. Operations on Images: Spatial Filtering a.k.a. neighborhood processing 1. First we need to create an N x N matrix called a mask, kernel, filter (or neighborhood). 2. The numbers inside the mask will help us control the kind of operation we’re doing. 3. Different numbers allow us to blur, sharpen, find edges, etc. 4. We need to master convolution first, and the rest is easy! G= [ abc def ghi ] Introduction To Digital Image Processing H= [ z yx wvu tsr ] Mask out = a*z + b*y + c*x + d*w + e*v + f*u + g*t + h*s + i*r, 10/25/2013 12
  • 13. Application: Before After What do we observe? Introduction To Digital Image Processing 10/25/2013 13
  • 14. Application: Blurring Blurring: - Reduces noise (high frequency) Reduces edges (high frequency) Is essentially a low pass filter (eliminates high f) Can be done through averaging filter For colour images, we can blur each layer independently mask = fspecial(‘average’, N); out = imfilter(im, mask,’conv’); More the Mask size, More blur in Result Introduction To Digital Image Processing 10/25/2013 14
  • 15. Application: Edge Detection What is an edge? – ‘A place of change’. f’( x, y)= f( x-1, y) – f( x+1,y) This is a Horizontal filter. (puts more weight on central pixel) EXERCISE: Use following masks in fspecial function and find out what they do- Gaussian, Laplacian, Laplacian of Gaussian (LoG) Alternate way: Canny Edge Detector (most powerful edge detector) [ g, t]= edge (f, ‘canny’, T , sigma) Introduction To Digital Image Processing How do we do this in MATLAB? 1) Create our Prewitt or Sobel Horizontal Masks: mask = fspecial(‘prewitt’); or mask = fspecial(‘sobel’); 2) Convolve with each mask separately dX = imfilter(im, mask); dY = imfilter(im, mask2); 3)Find the overall magnitude mag = sqrt(double(dX).^(2) + double(dY).^(2)); 10/25/2013 15
  • 16. 4. Noise Filtering ▪ In reality, pixel corruption takes place during process of acquisition or transmission. There is a need to remove(okay, ‘try to’) this noise. ▪ As an exercise, let’s add up artificial noise in an image using function: Gaussian n = imnoise ( im, ‘salt & pepper’, density); Use blurring filter against ‘Gaussian’ noise. Use median filter against ‘salt & pepper noise’. out = medfilt2( n , [M N]); Salt & Pepper Introduction To Digital Image Processing Poisson 10/25/2013 16
  • 17. Segmentation division of an image into segments or parts (region of interests) ▪ This division is done mainly on the basis of : (a) grey level (b) texture (d) depth (c) motion (e) colour Can you think of ways in which this will prove useful? Introduction To Digital Image Processing 10/25/2013 17
  • 18. Segmentation Techniques One way is already covered. Can you name that? Thresholding : Simplest Segmentation Technique Pixels are grouped into “Object” and “Background” – Input: Gray scale image – Output: Binary image Implementing in Matlab: output = im2bw(Image, k) where, K=T/largest pixel size Introduction To Digital Image Processing Other Methods: 1. Region Growing: A method that clubs similar property pixels. (Satellites) 2. Watershed Transform: grayscale intensity is interpreted as distance. (topographical use) 10/25/2013 18
  • 19. Colour Image Analysis Trichromacy theory :All colors found in nature can naturally be decomposed into Red, Green and Blue. RGB Cube Other models: CMY, NTSC, YCbCr, HSI, CMYK, HSV Introduction To Digital Image Processing 10/25/2013 19
  • 20. Colour Image Analysis ▪ Basic Conversions: Loss of information due to size of palette What is an indexed image? An image having two components: 1. Data Matrix 2. Colour Map (a.k.a. ‘palette’) What is its use? 1.To make display process fast 2.To reduce size of image Introduction To Digital Image Processing 10/25/2013 20
  • 21. Gesture Recognition- Case Study Introduction To Digital Image Processing 10/25/2013 21