CS U540 Computer Graphics

32
June 24, 2022 1 College of Computer and Information Science, Northeastern University CS U540 Computer Graphics Prof. Harriet Fell Spring 2007 Lecture 34 – April 4, 2007

description

CS U540 Computer Graphics. Prof. Harriet Fell Spring 2007 Lecture 34 – April 4, 2007. Today’s Topics. Morphing Two Towers > Disk 4 > Visual Effects > Weka Digital. Morphing History. Morphing is turning one image into another through a seamless transition. - PowerPoint PPT Presentation

Transcript of CS U540 Computer Graphics

Page 1: CS U540 Computer Graphics

April 22, 2023 1College of Computer and Information Science, Northeastern University

CS U540Computer Graphics

Prof. Harriet FellSpring 2007

Lecture 34 – April 4, 2007

Page 2: CS U540 Computer Graphics

April 22, 2023 2College of Computer and Information Science, Northeastern University

Today’s Topics

• Morphing• Two Towers > Disk 4 > Visual Effects > Weka Digital

Page 3: CS U540 Computer Graphics

April 22, 2023 3College of Computer and Information Science, Northeastern University

Morphing History• Morphing is turning one image into another through a

seamless transition.• Early films used cross-fading picture of one actor or

object to another. • In 1985, "Cry" by Fodley and Crème, parts of an image

fade gradually to make a smother transition.• Early-1990s computer techniques distorted one image

as it faded into another. Mark corresponding points and vectors on the "before" and

"after" images used in the morph. E.g. key points on the faces, such as the countour of the nose or

location of an eye Michael Jackson’s “Black or White”

» http://en.wikipedia.org/wiki/Morphing

Page 4: CS U540 Computer Graphics

April 22, 2023 4College of Computer and Information Science, Northeastern University

Morphing History• 1992 Gryphon Software's “Morph” became

available for Apple Macintosh. • For high-end use, “Elastic Reality” (based on

Morph Plus) became the de facto system of choice for films and earned two Academy Awards in 1996 for Scientific and Technical Achievement.

• Today many programs can automatically morph images that correspond closely enough with relatively little instruction from the user.

• Now morphing is used to do cross-fading.

Page 5: CS U540 Computer Graphics

April 22, 2023 5College of Computer and Information Science, Northeastern University

Harriet George Harriet…

Page 6: CS U540 Computer Graphics

April 22, 2023 6College of Computer and Information Science, Northeastern University

Feature Based Image MetamorphosisThaddeus Beier and Shawn Neely 1992

• The morph process consists warping two images so that they have the

same "shape" cross dissolving the resulting images

• cross-dissolving is simple• warping an image is hard

Page 7: CS U540 Computer Graphics

April 22, 2023 7College of Computer and Information Science, Northeastern University

Harriet & Mandrill

Harriet 276x293 Mandrill 256x256

Page 8: CS U540 Computer Graphics

April 22, 2023 8College of Computer and Information Science, Northeastern University

Warping an ImageThere are two ways to warp an image:

forward mapping - scan through source image pixel by pixel, and copy them to the appropriate place in the destination image.

• some pixels in the destination might not get painted, and would have to be interpolated.

reverse mapping - go through the destination image pixel by pixel, and sample the correct pixel(s) from the source image.

• every pixel in the destination image gets set to something appropriate.

Page 9: CS U540 Computer Graphics

April 22, 2023 9College of Computer and Information Science, Northeastern University

Forward Mapping

Source Image

HS

WS

Destination

ImageHD

WD

(x, y)

(x, y )

(0, 0)(0, 0)

so

so

D

D S S

D

D S S

x x W xxW W Wy y H yy

H H H

= =

= =

Page 10: CS U540 Computer Graphics

April 22, 2023 10College of Computer and Information Science, Northeastern University

Forward MappingHarriet Mandrill

Page 11: CS U540 Computer Graphics

April 22, 2023 11College of Computer and Information Science, Northeastern University

Forward MappingMandrill Harriet

Page 12: CS U540 Computer Graphics

April 22, 2023 12College of Computer and Information Science, Northeastern University

Inverse Mapping

Source Image

HS

WS

Destination

ImageHD

WD

(x, y)

(x, y )

(0, 0)(0, 0)

so

so

S

D S D

S

D S D

x x W xxW W Wy y H yy

H H H

= =

= =

Page 13: CS U540 Computer Graphics

April 22, 2023 13College of Computer and Information Science, Northeastern University

Inverse MappingMandrill Harriet

Page 14: CS U540 Computer Graphics

April 22, 2023 14College of Computer and Information Science, Northeastern University

Inverse Mapping Harriet Mandrill

Page 15: CS U540 Computer Graphics

April 22, 2023 15College of Computer and Information Science, Northeastern University

(harrietINV + mandrill)/2

Page 16: CS U540 Computer Graphics

April 22, 2023 16College of Computer and Information Science, Northeastern University

Matching Points

Page 17: CS U540 Computer Graphics

April 22, 2023 17College of Computer and Information Science, Northeastern University

Matching PontsRectangular Transforms

Page 18: CS U540 Computer Graphics

April 22, 2023 18College of Computer and Information Science, Northeastern University

Halfway Blend

Image1 Image2

(1-t)Image1 + (t)Image2

T = .5

Page 19: CS U540 Computer Graphics

April 22, 2023 19College of Computer and Information Science, Northeastern University

CaricaturesExtreme Blends

Page 20: CS U540 Computer Graphics

April 22, 2023 20College of Computer and Information Science, Northeastern University

Harriet & MandrillMatching Eyes

Harriet 276x293 Mandrill 256x256

Match the endpoints of a line in the source with the endpoints of a line in the destination.

SP SQDP DQ

Page 21: CS U540 Computer Graphics

April 22, 2023 21College of Computer and Information Science, Northeastern University

Line Pair Map

The line pair map takes the source image to an image the same size as the destinations and take the line segment in the source to the line segment in the destination.

DP

DQ

u

v X=(x,y)

SP

SQ

u

v X=(x ,y )

Page 22: CS U540 Computer Graphics

April 22, 2023 22College of Computer and Information Science, Northeastern University

Finding u and v

( ) ( )

( ) ( )

( ) ( )

2

'

X DP DQ DPu

DQ DP

X DP perp DQ DPv

DQ DP

v perp SQ SPX SP u SQ SP

SQ SP

− ⋅ −=

− ⋅ −=

× −= + × − +

u is the proportion of the distance from DP to DQ.

v is the distance to travel in the perpendicular direction.

DP

DQ

u

v X=(x,y)

Page 23: CS U540 Computer Graphics

April 22, 2023 23College of Computer and Information Science, Northeastern University

linePairMap.m header

% linePairMap.m% Scale image Source to one size DW, DH with line pair mappingfunction Dest = forwardMap(Source, DW, DH, SP, SQ, DP, DQ);% Source is the source image% DW is the destination width% DH is the destination height% SP, SQ are endpoints of a line segment in the Source [y, x]% DP, DQ are endpoints of a line segment in the Dest [y, x]

Page 24: CS U540 Computer Graphics

April 22, 2023 24College of Computer and Information Science, Northeastern University

linePairMap.m body

Dest = zeros(DH, DW,3); % rows x columns x RGBSW = length(Source(1,:,1)); % source widthSH = length(Source(:,1,1)); % source heightfor y= 1:DH for x = 1:DW u = ([x,y]-DP)*(DQ-DP)'/((DQ-DP)*(DQ-DP)'); v = ([x,y]-DP)*perp(DQ-DP)'/norm(DQ-DP); SourcePoint = SP+u*(SQ-SP) + v*perp(SQ-SP)/norm(SQ-SP); SourcePoint = max([1,1],min([SW,SH], SourcePoint));

Dest(y,x,:)=Source(round(SourcePoint(2)),round(SourcePoint(1)),:); end;end;

Page 25: CS U540 Computer Graphics

April 22, 2023 25College of Computer and Information Science, Northeastern University

linePairMap.m extras

% display the imagefigure, image(Dest/255,'CDataMapping','scaled'); axis equal; title('line pair map');xlim([1,DW]); ylim([1,DH]); function Vperp = perp(V)Vperp = [V(2), - V(1)];

Page 26: CS U540 Computer Graphics

April 22, 2023 26College of Computer and Information Science, Northeastern University

Line Pair Map

Page 27: CS U540 Computer Graphics

April 22, 2023 27College of Computer and Information Science, Northeastern University

Line Pair Blend

Page 28: CS U540 Computer Graphics

April 22, 2023 28College of Computer and Information Science, Northeastern University

Line Pair Map 2

Page 29: CS U540 Computer Graphics

April 22, 2023 29College of Computer and Information Science, Northeastern University

Line Pair Blend 2

Page 30: CS U540 Computer Graphics

April 22, 2023 30College of Computer and Information Science, Northeastern University

Weighted Blends

Page 31: CS U540 Computer Graphics

April 22, 2023 31College of Computer and Information Science, Northeastern University

Multiple Line Pairs

Find Xi' for the ith pair of lines. Di = Xi' – XUse a weighted average of the Di. Weight is determined by the distance from X to the line.

length = length of the linedist is the distance from the pixel to the linea, b, and p are used to change the relative effect of the lines.

Add average displacement to X to determine X‘.

( )

bplengthweight

a dist⎛ ⎞

= ⎜ ⎟+⎝ ⎠

Page 32: CS U540 Computer Graphics

April 22, 2023 32College of Computer and Information Science, Northeastern University

Let’s Morph

FantaMorph