SlideShare a Scribd company logo
1
ECE 472/572 - Digital Image
Processing
Lecture 1 - Introduction
08/18/11
2
What is an image? - The bitmap
representation
Also called “raster or pixel maps”
representation
An image is broken up into a grid
pixel
Gray level
Original picture Digital image
f(x, y) I[i, j] or I[x, y]
x
y
3
What is an image? - The vector
representation
Object-oriented representation
Does not show information of individual
pixel, but information of an object (circle,
line, square, etc.)
Circle(100, 20, 20)
Line(xa1, ya1, xa2, ya2)
Line(xb1, yb1, xb2, yb2)
Line(xc1, yc1, xc2, yc2)
Line(xd1, yd1, xd2, yd2)
4
Comparison
 Bitmap
– Can represent images with
complex variations in
colors, shades, shapes.
– Larger image size
– Fixed resolution
– Easier to implement
 Vector
– Can only represent simple
line drawings (CAD),
shapes, shadings, etc.
– Efficient
– Flexible
– Difficult to implement
5
How did it start?
 Early 1960s
 NASA’s Jet Propulsion Laboratory (JPL)
 Process video images from spacecraft (Ranger)
 IBM 360 Computer
Images from H. Andrews and B. Hunt, Digital Image Restoration, Prentice-Hall, 1977.
6
Why image processing?
 Application
– Fingerprint retrieval
– Automatic target recognition
– Industrial inspection
– Medical imaging
– and more …
 Can commercial software do all the work?
7
Histogram Equalization
GLG in HSI space – better than Photoshop resultGLG in RGB space
Photoshop “Auto Contrast”
result1.42=APDG 1.12=TEN 4.28=APDG 0.22=TEN 9.72=APDG 8.20=TEN
3.76=APDG 0.27=TEN 6.78=APDG 6.26=TENGLG-RGB GLG-HSI
Photoshop
Original image of
Mars and its moon
From Zhiyu Chen’s preliminary proposal defense, January 2009
8
Some clarification
Image & Graphics
Image processing & Computer vision
Image processing & Image understanding
Image processing & Pattern recognition
– Image Processing: ECE472, ECE572
– Pattern Recognition: ECE471, ECE571
– Computer Vision: ECE573
– Computer Graphics: CS494, CS594
9
Goals of image processing
Image improvement
– Improving the visual appearance of images to
a human viewer
Image analysis
– Preparing images for measurement of the
features and structures present
10
What to learn?
Image
Acquisition
Image
Enhancement
Image
Restoration
Image
Compression
Image
Segmentation
Representation
& Description
Recognition &
Interpretation
Knowledge Base
Preprocessing – low level
Image Improvement
Image
Coding
Morphological
Image Processing
Wavelet
Analysis
High-level IP
Image Analysis
11
Image acquisition
 Video camera
 Infrared camera
 Range camera
 Line-scan camera
 Hyperspectral camera
 Omni-directional camera
 and more …
12
Some simple operations
13
Image enhancement
14
Movie film restoration
15
Image restoration
16
Image correction
Geometric correction
Radiometric correction
Image warping – geometric
transformation
18
Image warping – another
example
From Joey Howell and Cory McKay, ECE472, Fall 2000
19
Image segmentation
20
Image description
OCR – optical character
recognition, license plate
recognition
21
Beyond
Content-based image retrieval
Human identification
Multi-sensor data fusion
Hexagonal pixel
Steganography
22
Image processing for fine arts
23
Real-world reasoning demo
24
How to address pixels of an
image?
int i, j, k;
int nr, // number of rows
nc, // number of columns
nchan;// number of channels
nr = 128; nc = 128; nchan = 3;
for (i=0; i<nr; i++) {
for (j=0; j<nc; j++) {
for (k=0; k<nchan; j++) {
do the processing on (i,j,k);
………
}
}
}
25
j
(i, j) (i, j+1)(i, j-1)
(i-1, j) (i-1, j+1)
(i+1, j+1)(i+1, j)
(i-1, j-1)
(i+1, j-1)
i
(row)
(column)
4-neighborhood 8-neighborhood
Types of neighborhoods
Neighbors of a pixel
26
Closedness ambiguity
27
The Image library
/include: the header file
– Image.h
– Dip.h
/lib: image processing routines
– Image.cpp
– colorProcessing.cpp
– imageIO.cpp
– matrixProcessing.cpp
– cs.cpp
– Makefile
/test: the test code
28
// Test code to show how to read and write an image
#include "Image.h" // need to include the image library header
#include "Dip.h"
#include <iostream>
#include <cstdlib>
using namespace std;
#define Usage "./readwrite input-img output-img n"
int main(int argc, char **argv)
{
Image img1, img2;
int nr, nc, ntype, nchan, i, j, k;
if (argc < 3) {
cout << Usage;
exit(3);
}
img1 = readImage(argv[1]); // readImage is a member func in the Image lib
nr = img1.getRow(); // obtain the nr of rows and col
nc = img1.getCol();
ntype = img1.getType(); // obtain the type of the image
nchan = img1.getChannel(); // obtain the nr of channels of the image
img2.createImage(nr, nc, ntype); // write it to the output image
for (i=0; i<nr; i++) {
for (j=0; j<nc; j++) {
for (k=0; k<nchan; k++)
img2(i, j, k) = img1(i, j, k);
}
}
writeImage(img2, argv[2]);
return 0;
29
The course website
http://web.eecs.utk.edu/~qi/ece472-572
Course information
Official language: C++
Pre-homework assignment
– Subscribe to mailing list,
dip@aicip.ece.utk.edu
Grading policy: 72 late hour rule
30
What to do?
Subscribe to the mailing list
– dip@aicip.ece.utk.edu
Apply for an account in FH417
Get started on project 1
– Start early and finish early

More Related Content

PPTX
Image Processing Using MATLAB
PPTX
color detection using open cv
ODP
Image Processing with OpenCV
PPSX
Image processing on matlab presentation
PPTX
Introduction in Image Processing Matlab Toolbox
PPTX
COM2304: Introduction to Computer Vision & Image Processing
PDF
Image analysis using python
PDF
Introduction to Digital Image Processing Using MATLAB
Image Processing Using MATLAB
color detection using open cv
Image Processing with OpenCV
Image processing on matlab presentation
Introduction in Image Processing Matlab Toolbox
COM2304: Introduction to Computer Vision & Image Processing
Image analysis using python
Introduction to Digital Image Processing Using MATLAB

What's hot (20)

PPTX
Digital Image Processing
PPTX
Introduction to Image Processing with MATLAB
PPT
Digital Image Processing
PPTX
Computer Graphics
PDF
Introduction of image processing
PPT
Image processing
PPT
Introduction to digital image processing
PPTX
Ec section
PPSX
Digital image processing
PDF
Digital image processing using matlab
PPS
Image Processing Basics
PPTX
When Discrete Optimization Meets Multimedia Security (and Beyond)
PPTX
Introduction to computer graphics
PPTX
Image processing
PPT
Introduction to computer graphics
PPTX
Image processing presentation
PPT
Image processing1 introduction
PPTX
Advance image processing
PPT
Ip fundamentals(3)-edit7
Digital Image Processing
Introduction to Image Processing with MATLAB
Digital Image Processing
Computer Graphics
Introduction of image processing
Image processing
Introduction to digital image processing
Ec section
Digital image processing
Digital image processing using matlab
Image Processing Basics
When Discrete Optimization Meets Multimedia Security (and Beyond)
Introduction to computer graphics
Image processing
Introduction to computer graphics
Image processing presentation
Image processing1 introduction
Advance image processing
Ip fundamentals(3)-edit7
Ad

Similar to Lecture01 intro ece (20)

PPT
ip111.ppt
PPT
Weeks 1 Introductions_V1_1.ppt
PDF
1st section
PPT
Image Processing : Introduction
PPT
DIPsadasdasfsdfsdfdfasdfsdfsdgsdgdsfgdfgfdg
PDF
A review on image processing
PPT
Digital Image Processing
PPT
IP basics are the fundamental concepts of Internet Protocol (IP), which is a ...
PDF
The NASA Vision Workbench: Reflections on Image Processing in C++
PDF
Sub ecs 702_30sep14
PPT
digital image processing
PPT
IP_Fundamentals.ppt
PPT
Image Formation Fundamentals Image forma
PPT
IP_Fundamentals.ppt
PDF
1. IP Introduction.pdf
PPTX
Image processing and It’s forensic significance
PPT
image introduction and origin steps in DIP
PPTX
Chapter-1.pptx
PDF
CSE367 Lecture 1 image processing lecture
PDF
An interdisciplinary course_in_digital_image_processing
ip111.ppt
Weeks 1 Introductions_V1_1.ppt
1st section
Image Processing : Introduction
DIPsadasdasfsdfsdfdfasdfsdfsdgsdgdsfgdfgfdg
A review on image processing
Digital Image Processing
IP basics are the fundamental concepts of Internet Protocol (IP), which is a ...
The NASA Vision Workbench: Reflections on Image Processing in C++
Sub ecs 702_30sep14
digital image processing
IP_Fundamentals.ppt
Image Formation Fundamentals Image forma
IP_Fundamentals.ppt
1. IP Introduction.pdf
Image processing and It’s forensic significance
image introduction and origin steps in DIP
Chapter-1.pptx
CSE367 Lecture 1 image processing lecture
An interdisciplinary course_in_digital_image_processing
Ad

Recently uploaded (20)

PPT
Mechanical Engineering MATERIALS Selection
PPTX
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
PPT
Project quality management in manufacturing
PDF
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
PPTX
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
PPTX
Sustainable Sites - Green Building Construction
PPTX
Welding lecture in detail for understanding
PPTX
Lecture Notes Electrical Wiring System Components
PPTX
Geodesy 1.pptx...............................................
PPTX
web development for engineering and engineering
PPTX
CYBER-CRIMES AND SECURITY A guide to understanding
PDF
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
PDF
R24 SURVEYING LAB MANUAL for civil enggi
PDF
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
PPTX
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
PDF
Model Code of Practice - Construction Work - 21102022 .pdf
PPTX
Foundation to blockchain - A guide to Blockchain Tech
PPTX
UNIT-1 - COAL BASED THERMAL POWER PLANTS
PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
PDF
PPT on Performance Review to get promotions
Mechanical Engineering MATERIALS Selection
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
Project quality management in manufacturing
SM_6th-Sem__Cse_Internet-of-Things.pdf IOT
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
Sustainable Sites - Green Building Construction
Welding lecture in detail for understanding
Lecture Notes Electrical Wiring System Components
Geodesy 1.pptx...............................................
web development for engineering and engineering
CYBER-CRIMES AND SECURITY A guide to understanding
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
R24 SURVEYING LAB MANUAL for civil enggi
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
Model Code of Practice - Construction Work - 21102022 .pdf
Foundation to blockchain - A guide to Blockchain Tech
UNIT-1 - COAL BASED THERMAL POWER PLANTS
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
PPT on Performance Review to get promotions

Lecture01 intro ece

  • 1. 1 ECE 472/572 - Digital Image Processing Lecture 1 - Introduction 08/18/11
  • 2. 2 What is an image? - The bitmap representation Also called “raster or pixel maps” representation An image is broken up into a grid pixel Gray level Original picture Digital image f(x, y) I[i, j] or I[x, y] x y
  • 3. 3 What is an image? - The vector representation Object-oriented representation Does not show information of individual pixel, but information of an object (circle, line, square, etc.) Circle(100, 20, 20) Line(xa1, ya1, xa2, ya2) Line(xb1, yb1, xb2, yb2) Line(xc1, yc1, xc2, yc2) Line(xd1, yd1, xd2, yd2)
  • 4. 4 Comparison  Bitmap – Can represent images with complex variations in colors, shades, shapes. – Larger image size – Fixed resolution – Easier to implement  Vector – Can only represent simple line drawings (CAD), shapes, shadings, etc. – Efficient – Flexible – Difficult to implement
  • 5. 5 How did it start?  Early 1960s  NASA’s Jet Propulsion Laboratory (JPL)  Process video images from spacecraft (Ranger)  IBM 360 Computer Images from H. Andrews and B. Hunt, Digital Image Restoration, Prentice-Hall, 1977.
  • 6. 6 Why image processing?  Application – Fingerprint retrieval – Automatic target recognition – Industrial inspection – Medical imaging – and more …  Can commercial software do all the work?
  • 7. 7 Histogram Equalization GLG in HSI space – better than Photoshop resultGLG in RGB space Photoshop “Auto Contrast” result1.42=APDG 1.12=TEN 4.28=APDG 0.22=TEN 9.72=APDG 8.20=TEN 3.76=APDG 0.27=TEN 6.78=APDG 6.26=TENGLG-RGB GLG-HSI Photoshop Original image of Mars and its moon From Zhiyu Chen’s preliminary proposal defense, January 2009
  • 8. 8 Some clarification Image & Graphics Image processing & Computer vision Image processing & Image understanding Image processing & Pattern recognition – Image Processing: ECE472, ECE572 – Pattern Recognition: ECE471, ECE571 – Computer Vision: ECE573 – Computer Graphics: CS494, CS594
  • 9. 9 Goals of image processing Image improvement – Improving the visual appearance of images to a human viewer Image analysis – Preparing images for measurement of the features and structures present
  • 10. 10 What to learn? Image Acquisition Image Enhancement Image Restoration Image Compression Image Segmentation Representation & Description Recognition & Interpretation Knowledge Base Preprocessing – low level Image Improvement Image Coding Morphological Image Processing Wavelet Analysis High-level IP Image Analysis
  • 11. 11 Image acquisition  Video camera  Infrared camera  Range camera  Line-scan camera  Hyperspectral camera  Omni-directional camera  and more …
  • 17. Image warping – geometric transformation
  • 18. 18 Image warping – another example From Joey Howell and Cory McKay, ECE472, Fall 2000
  • 20. 20 Image description OCR – optical character recognition, license plate recognition
  • 21. 21 Beyond Content-based image retrieval Human identification Multi-sensor data fusion Hexagonal pixel Steganography
  • 24. 24 How to address pixels of an image? int i, j, k; int nr, // number of rows nc, // number of columns nchan;// number of channels nr = 128; nc = 128; nchan = 3; for (i=0; i<nr; i++) { for (j=0; j<nc; j++) { for (k=0; k<nchan; j++) { do the processing on (i,j,k); ……… } } }
  • 25. 25 j (i, j) (i, j+1)(i, j-1) (i-1, j) (i-1, j+1) (i+1, j+1)(i+1, j) (i-1, j-1) (i+1, j-1) i (row) (column) 4-neighborhood 8-neighborhood Types of neighborhoods Neighbors of a pixel
  • 27. 27 The Image library /include: the header file – Image.h – Dip.h /lib: image processing routines – Image.cpp – colorProcessing.cpp – imageIO.cpp – matrixProcessing.cpp – cs.cpp – Makefile /test: the test code
  • 28. 28 // Test code to show how to read and write an image #include "Image.h" // need to include the image library header #include "Dip.h" #include <iostream> #include <cstdlib> using namespace std; #define Usage "./readwrite input-img output-img n" int main(int argc, char **argv) { Image img1, img2; int nr, nc, ntype, nchan, i, j, k; if (argc < 3) { cout << Usage; exit(3); } img1 = readImage(argv[1]); // readImage is a member func in the Image lib nr = img1.getRow(); // obtain the nr of rows and col nc = img1.getCol(); ntype = img1.getType(); // obtain the type of the image nchan = img1.getChannel(); // obtain the nr of channels of the image img2.createImage(nr, nc, ntype); // write it to the output image for (i=0; i<nr; i++) { for (j=0; j<nc; j++) { for (k=0; k<nchan; k++) img2(i, j, k) = img1(i, j, k); } } writeImage(img2, argv[2]); return 0;
  • 29. 29 The course website http://web.eecs.utk.edu/~qi/ece472-572 Course information Official language: C++ Pre-homework assignment – Subscribe to mailing list, dip@aicip.ece.utk.edu Grading policy: 72 late hour rule
  • 30. 30 What to do? Subscribe to the mailing list – dip@aicip.ece.utk.edu Apply for an account in FH417 Get started on project 1 – Start early and finish early

Editor's Notes

  • #23: Original | bathroom Melt effect | oil painting
  • #26: Explain like The current pixel of interest is (I,j), The origin is at the upper-left corner Then its neighbors would be …