krivljenje slike - warping. princip 2d krivljenja demo

41
rivljenje slike - warpin

Upload: brett-hall

Post on 06-Jan-2018

219 views

Category:

Documents


0 download

DESCRIPTION

Krivljenje (Warping) A warp is a 2-D geometric transformation and generates a distorted image when it is applied to an image. Warping an image means : apply a given deformation to it. Two ways to warp an image:-  Forward mapping.  Reverse mapping.

TRANSCRIPT

Page 1: Krivljenje slike - warping. Princip 2D krivljenja Demo

Krivljenje slike - warping

Page 2: Krivljenje slike - warping. Princip 2D krivljenja Demo

Princip 2D krivljenja

DemoDemo

Page 3: Krivljenje slike - warping. Princip 2D krivljenja Demo

Krivljenje (Warping)• A warp is a 2-D geometric transformation and generates a distorted image when it is applied to an image.

• Warping an image means : apply a given deformation to it.

• Two ways to warp an image:- Forward mapping. Reverse mapping.

Page 4: Krivljenje slike - warping. Princip 2D krivljenja Demo

Krivljenje (Warping)

warpwarp

Source imageSource image Destination imageDestination image

Page 5: Krivljenje slike - warping. Princip 2D krivljenja Demo

Preslikava (mapping)

Page 6: Krivljenje slike - warping. Princip 2D krivljenja Demo

Primer preslikave

Page 7: Krivljenje slike - warping. Princip 2D krivljenja Demo

Primer preslikave

Page 8: Krivljenje slike - warping. Princip 2D krivljenja Demo

Primer preslikave

Page 9: Krivljenje slike - warping. Princip 2D krivljenja Demo

Primer krivljenja

Page 10: Krivljenje slike - warping. Princip 2D krivljenja Demo

Other Mappings

Page 11: Krivljenje slike - warping. Princip 2D krivljenja Demo

Image Warping Implementation I

Page 12: Krivljenje slike - warping. Princip 2D krivljenja Demo

Forward Mapping

Page 13: Krivljenje slike - warping. Princip 2D krivljenja Demo

Forward Mapping

Page 14: Krivljenje slike - warping. Princip 2D krivljenja Demo

Forward Mapping

Page 15: Krivljenje slike - warping. Princip 2D krivljenja Demo
Page 16: Krivljenje slike - warping. Princip 2D krivljenja Demo
Page 17: Krivljenje slike - warping. Princip 2D krivljenja Demo
Page 18: Krivljenje slike - warping. Princip 2D krivljenja Demo
Page 19: Krivljenje slike - warping. Princip 2D krivljenja Demo

Image Warping Implementation II

Page 20: Krivljenje slike - warping. Princip 2D krivljenja Demo

Reverse Mapping

Page 21: Krivljenje slike - warping. Princip 2D krivljenja Demo
Page 22: Krivljenje slike - warping. Princip 2D krivljenja Demo
Page 23: Krivljenje slike - warping. Princip 2D krivljenja Demo

Forward and Reverse Mapping

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

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

Page 24: Krivljenje slike - warping. Princip 2D krivljenja Demo

Resampling

• Evaluate source image at arbitrary (u, v)– (u, v) does not usually have integer

coordinates• Some kinds of resampling

– Point resampling– Triangle filter– Gaussian filter

Source Image Destination Image

Page 25: Krivljenje slike - warping. Princip 2D krivljenja Demo

Point Sampling

• Take value at closest pixelint iu = trunc(u + 0.5);int iv = trunc(v + 0.5);dst(x, y) = src(iu, iv);

• Simple, but causes aliasing

Page 26: Krivljenje slike - warping. Princip 2D krivljenja Demo

Triangle Filter

• Convolve with triangle filter

Page 27: Krivljenje slike - warping. Princip 2D krivljenja Demo

Triangle Filter

• Bilinearly interpolate four closest pixelsa = linear interpolation of src(u1, v2) and src(u2, v2)

b = linear interpolation of src(u1, v1) and src(u2, v1)

dst(x, y) = linear interpolation of ‘a’ and ‘b’

Page 28: Krivljenje slike - warping. Princip 2D krivljenja Demo

Gaussian Filter

• Convolve with Gaussian filter

Width of Gaussian kernel affects bluriness

Page 29: Krivljenje slike - warping. Princip 2D krivljenja Demo

Filtering Method Comparison

• Trade-offs– Aliasing versus blurring– Computation speed

Page 30: Krivljenje slike - warping. Princip 2D krivljenja Demo

Image Warping Implementation

Page 31: Krivljenje slike - warping. Princip 2D krivljenja Demo

Image Warping Implementation

Page 32: Krivljenje slike - warping. Princip 2D krivljenja Demo

Example: Scale

Page 33: Krivljenje slike - warping. Princip 2D krivljenja Demo

Example: Rotate

Page 34: Krivljenje slike - warping. Princip 2D krivljenja Demo

Example: Swirl

Page 35: Krivljenje slike - warping. Princip 2D krivljenja Demo

Image Warping: Summary

Page 36: Krivljenje slike - warping. Princip 2D krivljenja Demo

Forward and Reverse Mapping

• In either case, the problem is to determine the way in which the pixels in one image should be mapped to the pixels in the other image.

• So, we need to specify how each pixel moves between the two images.

• This could be done by specifying the mapping for a few important pixels.

Page 37: Krivljenje slike - warping. Princip 2D krivljenja Demo

Two Dimensional Object Warping

Page 38: Krivljenje slike - warping. Princip 2D krivljenja Demo

Two Dimensional Object Warping

• The shape modification can also be performed on a vertex-basis instead of on a space-basis.

• A displacement for a seed vertex can be specified by the user and this displacement can be propagated to nearby vertices.

• The displacement can be attenuated as a function of the distance that the vertex to be displaced is away from the seed vertex.

Page 39: Krivljenje slike - warping. Princip 2D krivljenja Demo

Two Dimensional Object Warping

• The distance function can be chosen to trade-off quality of results and computational complexity.

– Minimum number of edges connecting the vertex to be displaced from the seed vertex.

– Minimum distance traveled over the surface of the object to get from the vertex to be displaced to the seed vertex.

– Power functions to control the amount of attenuation.– The user could select the maximum distance at which the

displacement would have an affect.

Page 40: Krivljenje slike - warping. Princip 2D krivljenja Demo
Page 41: Krivljenje slike - warping. Princip 2D krivljenja Demo

Texture mapping