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 result
GLG in RGB space
Photoshop “Auto Contrast”
result
1
.
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
=
TEN
GLG-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

PPT
lecture01_introImageprocessing andcv.ppt
PPT
Image & Graphics Image processing & Computer vision.ppt
PPT
Key stages of digital image processing.ppt
PPT
Sismulmed 04 b. image processing intro
PDF
BEC007 -Digital image processing.pdf
PPTX
DIP LEC 1.pptxlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll...
PDF
Digital_image_processing_-Vijaya_Raghavan.pdf
PPT
introduction to Digital Image Processing
lecture01_introImageprocessing andcv.ppt
Image & Graphics Image processing & Computer vision.ppt
Key stages of digital image processing.ppt
Sismulmed 04 b. image processing intro
BEC007 -Digital image processing.pdf
DIP LEC 1.pptxlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll...
Digital_image_processing_-Vijaya_Raghavan.pdf
introduction to Digital Image Processing

Similar to ip111.ppt (20)

PPTX
Digital Image Processing fundamentals.pptx
PPT
IP basics are the fundamental concepts of Internet Protocol (IP), which is a ...
PPTX
Dip review
PPTX
Image Processing Using MATLAB
PPTX
Image processing in MATLAB
PPTX
PPT
Digital Image Processing
PPT
Ip fundamentals(3)-edit7
PPTX
Image Processing Training in Chandigarh
PPT
IP_Fundamentals.ppt
PPT
Image Formation Fundamentals Image forma
PPT
IP_Fundamentals.ppt
PDF
Labcamp - working with image processing
PPTX
Image processing
PPTX
Ch1.pptx
PPTX
PYTHON-OOOOOOOOOOPPPPPPEEEEEEEEN-CV.pptx
PPTX
PYTHON-OPEEEEEEEEEEEEEEN-CV (1) kgjkg.pptx
PPTX
Fundamentals Image and Graphics
PDF
DIP-Unit1-Session1.pdf
PPTX
Matlab Training in Jalandhar | Matlab Training in Phagwara
Digital Image Processing fundamentals.pptx
IP basics are the fundamental concepts of Internet Protocol (IP), which is a ...
Dip review
Image Processing Using MATLAB
Image processing in MATLAB
Digital Image Processing
Ip fundamentals(3)-edit7
Image Processing Training in Chandigarh
IP_Fundamentals.ppt
Image Formation Fundamentals Image forma
IP_Fundamentals.ppt
Labcamp - working with image processing
Image processing
Ch1.pptx
PYTHON-OOOOOOOOOOPPPPPPEEEEEEEEN-CV.pptx
PYTHON-OPEEEEEEEEEEEEEEN-CV (1) kgjkg.pptx
Fundamentals Image and Graphics
DIP-Unit1-Session1.pdf
Matlab Training in Jalandhar | Matlab Training in Phagwara
Ad

Recently uploaded (20)

PDF
August 2025 - Top 10 Read Articles in Network Security & Its Applications
PPTX
Principal presentation for NAAC (1).pptx
PPTX
BBOC407 BIOLOGY FOR ENGINEERS (CS) - MODULE 1 PART 1.pptx
PDF
VTU IOT LAB MANUAL (BCS701) Computer science and Engineering
PDF
Project_Mgmt_Institute_-Marc Marc Marc .pdf
PDF
AIGA 012_04 Cleaning of equipment for oxygen service_reformat Jan 12.pdf
PDF
Computer System Architecture 3rd Edition-M Morris Mano.pdf
PPTX
Chapter 2 -Technology and Enginerring Materials + Composites.pptx
PPTX
Wireless sensor networks (WSN) SRM unit 2
PPTX
Unit_1_introduction to surveying for diploma.pptx
PDF
Unit I -OPERATING SYSTEMS_SRM_KATTANKULATHUR.pptx.pdf
PDF
August -2025_Top10 Read_Articles_ijait.pdf
PDF
UEFA_Embodied_Carbon_Emissions_Football_Infrastructure.pdf
DOCX
ENVIRONMENTAL PROTECTION AND MANAGEMENT (18CVL756)
PPTX
Solar energy pdf of gitam songa hemant k
PDF
First part_B-Image Processing - 1 of 2).pdf
PPT
Chapter 1 - Introduction to Manufacturing Technology_2.ppt
PDF
UEFA_Carbon_Footprint_Calculator_Methology_2.0.pdf
PDF
Design of Material Handling Equipment Lecture Note
PPTX
Cisco Network Behaviour dibuywvdsvdtdstydsdsa
August 2025 - Top 10 Read Articles in Network Security & Its Applications
Principal presentation for NAAC (1).pptx
BBOC407 BIOLOGY FOR ENGINEERS (CS) - MODULE 1 PART 1.pptx
VTU IOT LAB MANUAL (BCS701) Computer science and Engineering
Project_Mgmt_Institute_-Marc Marc Marc .pdf
AIGA 012_04 Cleaning of equipment for oxygen service_reformat Jan 12.pdf
Computer System Architecture 3rd Edition-M Morris Mano.pdf
Chapter 2 -Technology and Enginerring Materials + Composites.pptx
Wireless sensor networks (WSN) SRM unit 2
Unit_1_introduction to surveying for diploma.pptx
Unit I -OPERATING SYSTEMS_SRM_KATTANKULATHUR.pptx.pdf
August -2025_Top10 Read_Articles_ijait.pdf
UEFA_Embodied_Carbon_Emissions_Football_Infrastructure.pdf
ENVIRONMENTAL PROTECTION AND MANAGEMENT (18CVL756)
Solar energy pdf of gitam songa hemant k
First part_B-Image Processing - 1 of 2).pdf
Chapter 1 - Introduction to Manufacturing Technology_2.ppt
UEFA_Carbon_Footprint_Calculator_Methology_2.0.pdf
Design of Material Handling Equipment Lecture Note
Cisco Network Behaviour dibuywvdsvdtdstydsdsa
Ad

ip111.ppt

  • 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 result GLG in RGB space Photoshop “Auto Contrast” result 1 . 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 = TEN GLG-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, [email protected] Grading policy: 72 late hour rule
  • 30. 30 What to do? Subscribe to the mailing list – [email protected] Apply for an account in FH417 Get started on project 1 – Start early and finish early