Image Warping Szeliski 3 6 1 http www
- Slides: 38
Image Warping (Szeliski 3. 6. 1) http: //www. jeffrey-martin. com Slides from Alexei Efros and Steve Seitz cs 129: Computational Photography James Hays, Brown, Fall 2012
Image Transformations image filtering: change range of image g(x) = T(f(x)) f f T x x image warping: change domain of image g(x) = f(T(x)) f f T x x
Image Transformations image filtering: change range of image g(x) = T(f(x)) f g T image warping: change domain of image g(x) = f(T(x)) f T g
Parametric (global) warping Examples of parametric warps: translation affine rotation perspective aspect cylindrical
Parametric (global) warping T p = (x, y) p’ = (x’, y’) Transformation T is a coordinate-changing machine: p’ = T(p) What does it mean that T is global and parametric? • Is the same for any point p • can be described by just a few numbers (parameters) Let’s represent T as a matrix: p’ = Mp
Scaling a coordinate means multiplying each of its components by a scalar Uniform scaling means this scalar is the same for all components: 2
Scaling Non-uniform scaling: different scalars per component: X 2, Y 0. 5
Scaling operation: Or, in matrix form: scaling matrix S What’s inverse of S?
2 -D Rotation (x’, y’) (x, y) x’ = x cos( ) - y sin( ) y’ = x sin( ) + y cos( )
2 -D Rotation (x’, y’) (x, y) f x = r cos (f) y = r sin (f) x’ = r cos (f + ) y’ = r sin (f + ) Trig Identity… x’ = r cos(f) cos( ) – r sin(f) sin( ) y’ = r sin(f) cos( ) + r cos(f) sin( ) Substitute… x’ = x cos( ) - y sin( ) y’ = x sin( ) + y cos( )
2 -D Rotation This is easy to capture in matrix form: R Even though sin( ) and cos( ) are nonlinear functions of , • x’ is a linear combination of x and y • y’ is a linear combination of x and y What is the inverse transformation? • Rotation by – • For rotation matrices
2 x 2 Matrices What types of transformations can be represented with a 2 x 2 matrix? 2 D Identity? 2 D Scale around (0, 0)?
2 x 2 Matrices What types of transformations can be represented with a 2 x 2 matrix? 2 D Rotate around (0, 0)? 2 D Shear?
2 x 2 Matrices What types of transformations can be represented with a 2 x 2 matrix? 2 D Mirror about Y axis? 2 D Mirror over (0, 0)?
2 x 2 Matrices What types of transformations can be represented with a 2 x 2 matrix? 2 D Translation? NO! Only linear 2 D transformations can be represented with a 2 x 2 matrix
All 2 D Linear Transformations Linear transformations are combinations of … • • Scale, Rotation, Shear, and Mirror Properties of linear transformations: • • • Origin maps to origin Lines map to lines Parallel lines remain parallel Ratios are preserved Closed under composition
Homogeneous Coordinates Q: How can we represent translation as a 3 x 3 matrix?
Homogeneous Coordinates Homogeneous coordinates • represent coordinates in 2 dimensions with a 3 -vector homogenous coords
Homogeneous Coordinates Add a 3 rd coordinate to every 2 D point • (x, y, w) represents a point at location (x/w, y/w) • (x, y, 0) represents a point at infinity • (0, 0, 0) is not allowed y 2 (2, 1, 1) or (4, 2, 2) or (6, 3, 3) 1 Convenient coordinate system to represent many useful transformations 1 2 x
Homogeneous Coordinates Q: How can we represent translation as a 3 x 3 matrix? A: Using the rightmost column:
Translation Example of translation Homogeneous Coordinates tx = 2 ty = 1
Basic 2 D Transformations Basic 2 D transformations as 3 x 3 matrices Translate Scale Rotate Shear
Matrix Composition Transformations can be combined by matrix multiplication p’ = T(tx, ty) R(Q) S(sx, sy) p
Affine Transformations Affine transformations are combinations of … • Linear transformations, and • Translations Properties of affine transformations: • • • Origin does not necessarily map to origin Lines map to lines Parallel lines remain parallel Ratios are preserved Closed under composition Models change of basis Will the last coordinate w always be 1?
Projective Transformations Projective transformations … • Affine transformations, and • Projective warps Properties of projective transformations: • • • Origin does not necessarily map to origin Lines map to lines Parallel lines do not necessarily remain parallel Ratios are not preserved Closed under composition Models change of basis
2 D image transformations These transformations are a nested set of groups • Closed under composition and inverse is a member
Matlab Demo “help imtransform”
Recovering Transformations ? T(x, y) y’ y x f(x, y) x’ g(x’, y’) What if we know f and g and want to recover the transform T? • e. g. better align images from Project 1 • willing to let user provide correspondences – How many do we need?
Translation: # correspondences? ? T(x, y) y’ y x x’ How many correspondences needed for translation? How many Degrees of Freedom? What is the transformation matrix?
Euclidian: # correspondences? ? T(x, y) y’ y x x’ How many correspondences needed for translation+rotation? How many DOF?
Affine: # correspondences? ? T(x, y) y’ y x x’ How many correspondences needed for affine? How many DOF?
Projective: # correspondences? ? T(x, y) y’ y x x’ How many correspondences needed for projective? How many DOF?
Image warping T(x, y) y’ y x f(x, y) x’ g(x’, y’) Given a coordinate transform (x’, y’) = T(x, y) and a source image f(x, y), how do we compute a transformed image g(x’, y’) = f(T(x, y))?
Forward warping T(x, y) y’ y x f(x, y) x’ g(x’, y’) Send each pixel f(x, y) to its corresponding location (x’, y’) = T(x, y) in the second image Q: what if pixel lands “between” two pixels?
Forward warping T(x, y) y’ y x f(x, y) x’ g(x’, y’) Send each pixel f(x, y) to its corresponding location (x’, y’) = T(x, y) in the second image Q: what if pixel lands “between” two pixels? A: distribute color among neighboring pixels (x’, y’) – Known as “splatting” – Check out griddata in Matlab
Inverse warping T-1(x, y) y’ y x f(x, y) x’ g(x’, y’) Get each pixel g(x’, y’) from its corresponding location (x, y) = T-1(x’, y’) in the first image Q: what if pixel comes from “between” two pixels?
Inverse warping T-1(x, y) y’ y x f(x, y) x’ g(x’, y’) Get each pixel g(x’, y’) from its corresponding location (x, y) = T-1(x’, y’) in the first image Q: what if pixel comes from “between” two pixels? A: Interpolate color value from neighbors – nearest neighbor, bilinear, Gaussian, bicubic – Check out interp 2 in Matlab
Forward vs. inverse warping Q: which is better? A: usually inverse—eliminates holes • however, it requires an invertible warp function—not always possible. . .
- Szeliski computer vision
- Realviz
- Matlab iradon
- Affine image warping
- Warping in computer graphics
- Warping in computer graphics
- Point out
- Dynamic time warping
- Morphing
- Eamonn keogh
- Dynamic time warping stock market
- Frequency warping in dsp
- Dynamic time warping
- Http //mbs.meb.gov.tr/ http //www.alantercihleri.com
- Siat ung sistem informasi akademik
- Gestalt leveling
- Http:/image of fig. 1
- What are real and virtual image
- Real image vs virtual image
- Translate
- Optimum notch filter in image processing
- Arithmetic coding in digital image processing
- Key stage in digital image processing
- Analog image and digital image
- Huffman coding example
- Image sharpening and restoration
- Motion segmentation
- Geometric transformation in digital image processing
- Search for an image using an image
- Zooming and shrinking in digital image processing
- Appuyez sur l’image qui est dans le bon sens
- Physical image vs logical image
- Resultado
- Contra harmonic mean filter
- Image transforms in digital image processing
- Image geometry in digital image processing
- Image restoration in digital image processing
- "image.so.com" -site:image.so.com
- Oren freifeld