CSC320T12

Download as pdf or txt
Download as pdf or txt
You are on page 1of 23

Topic 7:

Image Morphing
1. Intro to basic image morphing
2. The Baier
Baier--Neely morphing algorithm

Image Morphing
Introduction to image morphing
Basic idea
Beier-Neely morphing

Extensions: View Morphing


A combination of view synthesis & image morphing

Image Morphing
A combination of generalized image warping with a cross-dissolve
between pixels
Morphing involves two steps:
Pre-warp the two images
Cross-dissolve their colors

Source
Image 01

Warp 0

Warp 1

Morph
Source 1

Image 1

Cross--Dissolving Two Images


Cross
Cross-dissolve
A weighted combination of two images, pixel-by-pixel
Image 0

Image 1

Combination controlled by a single interpolation parameter t:

Image PrePre-Warping
Source
Image 01

Warp 0

No pre-warping Pre-warping

Warp 1

Image 1

Why warp first?


In order to align features that appear in both images
(e.g., eyes, mouth, hair, etc). Without such an alignment, we
would get a double-image effect!!
Image pre-warping
Re-position all pixels in the source images to avoid the doubleimage effect as much as possible
Pre-warping implemented using the Field Morphing Algorithm

Image Morphing
Both morphing steps specified by same parameter t
Warp the two images according to t
Cross-dissolve their colors according to t

Morphing videos generated by creating a sequence of images,


defined by a sequence of t-values (e.g., 0,0.1,0.2,,0.9,1)
Source 0
1

Warp 0

Warp 1

Source 1

Morphing Example
Image 0

Image 1

Intermediate Images

Beier--Neely Field Morphing Algorithm (1992)


Beier
Warped image computed using Field Morphing Algorithm

Image warp specified by interactively drawing lines in the


two source images

Morphing by Backward Mapping


To completely determine the morph we need to define the
functions U(r,c), V(r,c)

Backward mapping:
for r = rmin to rmax
for c = cmin to cmax
u = U(r,c)
v = V(r,c)
copy pixel at source (u,v)
to destination (r,c)

Intermediate Morphs
A single parameter t defines two warps, one applied to
image 1 and one to image 2

(r,c)

(r,c)

Coordinate Maps in Field Morphing

Two cases:
1. Coordinate map defined by a single line pair
2. Coordinate map defined by multiple line pairs

Coordinate Maps from One Line Pair


Steps:
1. Compute position of pixel X in Image 1 relative to
destination line
(r,c) (u,v)
2. Compute (r,c) coordinates of pixel X in Image 0 whose
position relative to source line is (u,v)
(u,v) (r,c)

source line
destination line

Computing Pixel Positions Relative to a Line


Position of pixel X in Image 1 relative to destination line
(r,c) (u,v)
given by

Computing Pixel Positions Relative to a Line


Position of pixel X in Image 0 relative to source line
(r,c) (u,v)

Pixel Coordinates Relative to a Line


Examples

Coordinate Maps from One Line Pair


Field warping algorithm (single-line case)
For each pixel (r,c) in the destination image
find the corresponding (u,v) coordinates of the pixel
find the (r,c) in source image for that (u,v)
color at destination pixel (r,c) = color at source pixel (r,c)

Coordinate Maps from Multiple Line Pairs


Field warping algorithm (multiple-line case)
1. Apply single-line field warping algorithm to each line
separately, to get N source pixel positions (ri,ci) for every
destination pixel (N= # of line pairs)
2. Compute source position (r,c) as weighted average of
positions (ri,ci)

Computing the Averaging Weights

(r,c)

p b

length

weight =
a + dist

controls influence of line


for points near it

abs( v) if 0 < u < 1


distance of (r, c) from P if u < 0
distance of (r, c) from Q if u > 1

Beier--Neely Field Warping Algorithm


Beier
For each pixel (r,c) in destination image
DSUM=(0,0)
weightsum = 0
for each line (Pi,Qi)
calculate (ui,vi)
based on Pi,Qi
calculate (ri,ci)
based on u,v & Pi,Qi
calculate displacement
Di=Xi-Xi for this line
calculate weight
for line (Pi,Qi)
DSUM += Di*weight
weightsum += weight
(r,c) = (r,c) + DSUM/weightsum
color at destination pixel (r,c) = color at source pixel (r,c)

Warping Example

Morphing Example

Morphing Dynamic Scenes

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy