Вы находитесь на странице: 1из 45

ISAN-DSP GROUP

168 442 Introduction to Image Processing


The First Semester of Class 2546

Dr. Nawapak Eua-Anant

Department of Computer Engineering


Khon Kaen University
ISAN-DSP GROUP

Course Syllabus
Date and Time : MW 11.00-12.00 EN 4510, LAB1 TU17-20, LAB2 TH17-20
Assessments:
Attendance & Homework 5%
Lab and Homework 35%
Midterm 30%
Final 30%
Grading:
85-100% A, 75-85% B+, 70-75% B, 65-70% C+, 60-65% C,
55-60% D+, 50-55% D, 0-50% F
References:
1. Rafael C. Gonzalez and Richard E. Woods, “Digital Image Processing”,
Addison Wesley, 1992.
2. Anil K. Jain, “Fundamentals of Digital Image Processing”,
Prentice-Hall, Inc., 1989.
3. William K. Pratt, “Digital Image Processing”, 2nd Edition,
Wiley & Sons, Inc., 1991.
ISAN-DSP GROUP

Course Outline

1. Introduction
2. Digital Image Fundamentals
3. Image Transforms
4. Image Enhancement
5. Image Segmentation
6. Image Compression
7. Image Morphology
ISAN-DSP GROUP

Chapter 1

Introduction to Image Processing


ISAN-DSP GROUP

What is Digital Image Processing ?


Processing of a multidimensional pictures by a digital computer
การประมวลผลสัญญาณรู ปภาพโดยใช้ดิจิตอลคอมพิวเตอร์

Why we need Digital Image Processing ?

1. เพื่อบันทึกและจัดเก็บภาพ
2. เพื่อปรับปรุ งภาพให้ดีข้ ึนโดยใช้กระบวนการทางคณิ ตศาสตร์
3. เพื่อช่วยในการวิเคราะห์รูปภาพ
4. เพื่อสังเคราะห์ภาพ
5. เพื่อสร้างระบบการมองเห็นให้กบั คอมพิวเตอร์
ISAN-DSP GROUP

Digital Image
Digital image = a multidimensional
array of numbers (such as intensity image)
or vectors (such as color image)

Each component in the image 10 10 16 28


 9 65
6
70 56 43
26 3756 78
called pixel associates with  3299 96 67 
54 70

15 25  67
6013902296
the pixel value (a single number in  21 54 47 42 
the case of intensity images or a 32 1585878539
43 92
54 65 65 39 
vector in the case of color images). 32 65 87 99
ISAN-DSP GROUP

Visual Perception: Human Eye

(Picture from Microsoft Encarta 2000)


ISAN-DSP GROUP

Chapter 2: Digital Image Fundamentals


ISAN-DSP GROUP

Visual Perception: Human Eye (cont.)

1. The lens contains 60-70% water, 6% of fat.

2. The iris diaphragm controls amount of light that enters the eye.

3. Light receptors in the retina


- About 6-7 millions cones for bright light vision called photopic
- Density of cones is about 150,000 elements/mm2.
- Cones involve in color vision.
- Cones are concentrated in fovea about 1.5x1.5 mm2.
- About 75-150 millions rods for dim light vision called scotopic
- Rods are sensitive to low level of light and are not involved
color vision.

4. Blind spot is the region of emergence of the optic nerve from the eye.
ISAN-DSP GROUP

Chapter 2: Digital Image Fundamentals


ISAN-DSP GROUP

Image Formation in Human Eye


ISAN-DSP GROUP

Chapter 2: Digital Image Fundamentals


ISAN-DSP GROUP

Brightness Adaptation of Human Eye

Intensity

Position

Intensities of surrounding points effect perceived brightness at each point.


In this image, edges between bars appear brighter on the right side and darker
On the left side.
ISAN-DSP GROUP

Brightness Adaptation of Human Eye (cont.)

A
B
Intensity

Position

In area A, brightness perceived is darker while in area B is


brighter. This phenomenon is called Mach Band Effect.
ISAN-DSP GROUP

Brightness Adaptation of Human Eye (cont.)

Simultaneous contrast. All small squares have exactly the same intensity
but they appear progressively darker as background becomes lighter.
ISAN-DSP GROUP

Imaging Geometry: Perspective Transformation


(X,Y,Z) = world coordinate
Image plane
y,Y
x,X (X,Y,Z)

l
z,Z
Lens center
(x,y)
x X

(x,y,z) = Camera coordinate system  Z  Eq. 1.1
l = focal length y Y

 Z 
ISAN-DSP GROUP

Imaging Geometry: Perspective Transformation (cont.)

Question: How can we project the real world object at (X,Y,Z) onto
the image plane (such as photographic film)?

Answer: Relation between camera coordinate (x,y,z) and world coordinate


(X,Y,Z) are given by

 X 
 x     Z 
Y
c   y  
     Z  Eq. 1.2
 z   Z 
   Z 

Since on the image plane z is always zero, z=0, we consider only (x,y)
while z is neglected.
ISAN-DSP GROUP

Imaging Geometry: Perspective Transformation (cont.)


Equation 1.2 is not linear because of Z in the dividers so we
introduce the homogeneous coordinate to solve this problem.
 kX 
X   kY 
Cartesian
w  Y  Homogeneous w   
coordinate   coordinate h
 kZ 
 Z   
 k 
k = nonzero constant

To convert from the homogeneous coordinate wh to the Cartesian


coordinate w, we divide the first 3 components of wh by the fourth
component.
ISAN-DSP GROUP

Imaging Geometry: Perspective Transformation (cont.)


The perspective transformation matrix for the homogeneous coordinate:

1 0 0 0
0 1 0 0
P 
0 0 1 0
 
0 0  1 1

Perspective transformation becomes:

1 0 0 0  kX   kX 

0 1 0

0  kY   kY 
c h  Pw h     
  
kZ Eq. 1.3
0 0 1 0  kZ
     k (Z  ) 
0 0  1 1  k   
 
ISAN-DSP GROUP

Imaging Geometry: Perspective Transformation (cont.)


From homogeneous  kX 
coordinate  
 kY 
ch   kZ 
  k (Z   ) 
 
  
We get camera coordinate in the image plane:
    X 
kX 
  k ( Z   )     Z  x 
  Y 
c  kY     y 
  k (Z  )     Z   
    Z   z 
kZ    
  k ( Z   )     Z 
ISAN-DSP GROUP

Imaging Geometry: Inverse Perspective Transformation

1 0 0 0
0 1 0 0
wh  P 1ch where P 1    Eq. 1.4
0 0 1 0
 
0 0 1 1
ISAN-DSP GROUP

Inverse Perspective Transformation (cont.)

kx0 
ky 
For an image point (x0,y0), since on
ch   0 
the image plane z=0, we have  0 
 
k 
We get the world coordinate :
kx0 
ky   x0 
wh  P 1ch   0  or w   y0   ???
 0   
   0 
k 
Since the perspective transformation maps 3-D coordinates to 2-D Coordinates,
we cannot get the inverse transform unless we have additional information.
ISAN-DSP GROUP

Inverse Perspective Transformation (cont.)

To find the solution, let kx0 


ky 
ch   0 
 kz 
 
k 
We get

 kx0   x0 
 X 
 ky    z
1  0   y 0 
wh  P ch   kz  or w   Y   Eq. 1.5
 z
k(z  ) z 
    Z 
   z 
ISAN-DSP GROUP

Inverse Perspective Transformation (cont.)


From Eq. 1.5,
Z
We get z Eq. 1.6
Z
Substituting Eq. 1.6 into Eq.1.5, we get

x0
X  (  Z )
 Eq. 1.7
y0
Y  (  Z )

Equations 1.7 show that inverse perspective transformation requires


information of at least one component of the world coordinate of the point.
ISAN-DSP GROUP

Inverse Perspective Transformation (cont.)


x0 y0
These equations: X  (  Z ) and Y  (  Z )
 
show that points on Line L in the world coordinate
map to a single point in the image plane.
Image plane Line L
y,Y
x,X (X1,Y1,Z1)
(X2,Y2,Z2)
(X3,Y3,Z3)

l
z,Z
Lens center
(x,y)
Points (X1,Y1,Z1) , (X2,Y2,Z2), and (X3,Y3,Z3) map to
Point (x,y) in the image plane.
ISAN-DSP GROUP

Stereo Imaging: How we get depth information from


2 eyes

Image 1
y
x (x1,y1)
Image 2
Left lens
center
y
x Optical axis
B
l
(x2,y2)
right lens World point (X,Y,Z)
center
ISAN-DSP GROUP

Stereo Imaging: How we get depth information from


2 eyes (cont.)
Problem: we know camera coordinates of the object on left and
right image planes (x1,y1) and (x2,y2) and want to how far from the
camera the object is located.
Note: when y-axis is parallel to the ground, we have y1 = y2
X
Image 1
(x1,y1)
Z
l
Origin of world
coordinate B w
system Image 2
l
(x2,y2)
Plane of
constant Z
ISAN-DSP GROUP

Stereo Imaging: How we get depth information from


2 eyes (cont.)

1. From the inverse perspective transform, we compute X1 and X2:


x1 x2
X 1  (  Z1 ) and X 2  (  Z 2 )
 
2. Z1 and Z2 must be equal, we get Z1  Z 2

3. Since left and right lenses are separated by distance B, we have


X 2  X1  B
4. From 1, 2 and 3, we get
x1 x2
X 1  (  Z ) and X 1  B  (  Z )
 
Solving Z yields B
Z 
x2  x1
ISAN-DSP GROUP

Stereo Imaging: How we get depth information from


2 eyes (cont.)
We can locate the object if we know positions of the object
in left and right image planes using Equation:
B
Z 
x2  x1

Question: While the equation is so simple but why it is very


difficult to built an automatic stereo vision system that can
reconstruct 3-D scene from images obtained from 2 cameras?
Answers: for a computer, locating the corresponding points
on left and right images is the most difficult task.
ISAN-DSP GROUP

Imaging Geometry : Affine Transformations

1. Translation

2. Scaling

3. Rotating
ISAN-DSP GROUP

Image Geometry: Translation of Object


Displace the object by vector (X0,Y0,Z0) with respect to
its old position.
X *  X  X0
Y *  Y  Y0

Z (X+X0,Y+Y0,Z+Z0) Z *  Z  Z0
)0
,Z
0
,Y

 X *  1 0 0 X 0  X 
0
(X

 * 
(X,Y,Z)  Y   0 1 0 Y0   Y 
Y  
 Z *  0 0 1 Z0   Z 
    
 1  0 0 0 1  1 
X
ISAN-DSP GROUP

Image Geometry: Translation of Frame


Translate the origin point of the frame by (X0,Y0,Z0)
with respect to the old frame
Z*
X *  X  X0
Z
Y *  Y  Y0
Y* Z *  Z  Z0

 X *  1 0 0  X 0  X 
) 0
Y0 ,Z

 * 
X*  Y   0 1 0  Y0   Y 
0,

Y  
(X

(0,0,0)  Z *  0 0 1  Z0  Z 
    
 1  0 0 0 1  1 
X
The object still stays at the same position. Only the frame is moved.
ISAN-DSP GROUP

Image Geometry: Scaling


Scale by factors Sx, Sy, Sz along X, Y, and Z axes.

X *  Sx X
E D Y *  S yY
F G Z *  Sz Z
e d
f g
c C  X *  Sx 0 0 0  X 
a b  *  0 Sy 0 0  Y 
Y     
A B
Z*   0 0 Sz 0  Z 
    
 1  0 0 0 1  1 

Note: Origin point is unchanged.


ISAN-DSP GROUP

Image Geometry: Rotating an object about X-axis


Rotate an object about X-axis by qx in a counterclockwise
direction.
 X *  1 0 0 0  X 
Z  *  0 cos   sin  0  Y 
Y    x x  
 Z *  0 sin  x cos  x 0  Z 
    
1
   0 0 0 1  1 

Y
qx

D X=X *

Note : In this case the object is moved. Only y and z


are changed while x stills the same.
ISAN-DSP GROUP

Image Geometry: Rotating a frame about X-axis


Rotate the frame about X-axis by qx in a counterclockwise
direction.

Z* Z  X *  1 0 0 0  X 
 * 
 Y   0 cos  x sin  x 0  Y 
Y*  
 Z *  0  sin  x cos  x 0  Z 
    
qx  1  0 0 0 1  1 

D X=X *

Note : In this case the object is not moved. The frame


is rotated instead.
ISAN-DSP GROUP

Image Geometry: Rotating an object about Y-axis


Rotate an object about Y-axis by qy in a counterclockwise
direction.
 X *   cos y 0 sin  y 0  X 
Z  *  0 1 0 0 Y 
Y
   
 Z *   sin  y 0 cos y 0  Z 
    
1
   0 0 0 1  1 
qy

D
Y= Y *

Note : In this case the object is moved. Only x and z


are changed while y stills the same.
ISAN-DSP GROUP

Image Geometry: Rotating a frame about Y-axis


Rotate the frame about Y-axis by qy in a counterclockwise
direction.
 X *  cos  y 0  sin  y 0  X 
Z  *  0 1 0 0 Y 
Y
   
Z*  Z *   sin  y 0 cos  y 0  Z 
qy     
1
   0 0 0 1  1 

X
Y= Y *
D
X*

Note : In this case the object is not moved. The frame


is rotated instead.
ISAN-DSP GROUP

Image Geometry: Rotating an object about Z-axis


Rotate an object about Z-axis by qz in a counterclockwise
direction. D  X *  cos  z  sin  z 0 0  X 
 *   sin  cos  0 0 Y 
Y
  z z  
Z
Z*   0 0 1 0  Z 
    
1
   0 0 0 1  1 
qz

X
Note : In this case the object is moved. Only x and y
are changed while z stills the same.
ISAN-DSP GROUP

Image Geometry: Rotating a frame about Z-axis


Rotate the frame about Z-axis by qz in a counterclockwise
direction. D  X *   cos z sin  z 0 0  X 
 *   sin  cos 0 0  Y 
 Y   z z  
Z= Z *

Z*   0 0 1 0  Z 
    
1
   0 0 0 1  1 
Y*

Y
qz

X X*
Note : In this case the object is not moved. The frame
is rotated instead.
ISAN-DSP GROUP

Image Geometry: How to compute a point on an image


plane from the world coordinate
Problem: we know the location of the object
z and want to know where it will be projected
on the film (image plane).
Ca
m
era
C Answer:
Sy oord
Z ste
m ina1.te Transform the world coordinate to
the camera coordinate
2. Perform the perspective transformation
x
y
Y

World Coordinate System


X
ISAN-DSP GROUP

Image Geometry: How to compute a point on the image


plane from the world coordinate (cont.)
Before using the perspective transformation,
the world axes X-Y-Z must coincide with the camera
axes x-y-z, (we need some transformations).

y Image plane (z=0)


X (X,Y,Z)
x

l
z Z
Lens center
(x,y)

(x,y,z) = Camera coordinate, (X,Y,Z) = World coordinate


ISAN-DSP GROUP

Image Geometry: Compute the camera coordinate from


the world coordinate
z Steps from Gonzalez’s book
3 Ca
m era 1. Translate* by w0
C
Sy oord
ste
Z m inate 2. Pan the camera*
(rotate about Z-axis)
r 2
x 4 3. Tilt the camera*
(rotate about X-axis)
y
w0 1 4. Translate* by z = r
Y Gimbal center
5. Compute the
perspective Tr.
X
World Coordinate System
Note : *perform on the frame
ISAN-DSP GROUP

Image Geometry: Compute the camera coordinate from


the world coordinate (cont.)
Formula from Gonzalez’s book

Camera coordinate ch  P  C  R  G  wh

World coordinate
Perspective tr.

Translate to the
Translate to the gimbal center w0
Rotate by
image plane
Pan (qz)
Center by z = r
and Tilt (qx)
ISAN-DSP GROUP

Image Geometry: Compute the camera coordinate from


the world coordinate (cont.)
z
3
Ca
m General case
era
C 1. Translate* by w1
Sy oord
ste
Z m inate
2. Pan the camera*

x 4 2 3. Tilt the camera*


w1 1 y 4. Twist the camera*
(rotate about Y-axis)
Y Gimbal center
5. Compute the
perspective Tr.
X Note : *perform on the frame
World Coordinate System
ISAN-DSP GROUP

Image Geometry: Compute the camera coordinate from


the world coordinate (cont.)

General case

Camera coordinate ch  P  R  T  wh

World coordinate
Perspective tr.
Rotate by
Pan (qz), Translate to
Tilt (qx), the image
Twist (qy) plane center w1

Вам также может понравиться