Previous SAXO Documentation Assistant: Overview Next

Interpolation/

quadrilateral2square.pro

warm (or map) an arbitrary quadrilateral onto a unit square according to the 4-point correspondences: (x0,y0) -> (0,0) (x1,y1) -> (1,0) (x2,y2) -> (1,1) (x3,y3) -> (0,1) This is the inverse function of square2quadrilateral.pro The mapping is done using perspective transformation which preserve lines in all orientations and permit quadrilateral to quadrilateral mappings. see ref. bellow.

quadrilateral2square Picture, Grid

result = quadrilateral2square(x0in, y0in, x1in, y1in, x2in, y2in, x3in, y3in, xxin, yyin, PERF=PERF)

Return value

(2,n) array: the new coordinates (xout, yout) of the (xin,yin) point(s) after mapping. If xin is a scalar, then n is equal to the number of elements of x0. If xin is an array , then n is equal to the number of elements of xin.

Parameters

x0in        in required

y0in        in required

x1in        in required

y1in        in required

x2in        in required

y2in        in required

x3in        in required

y3in        in required

the coordinates of the quadrilateral (see above for correspondence with the unit square). Can be scalar or array. (x0,y0), (x1,y1), (x2,y2) and (x3,y3) are given in the anticlockwise order.

xxin        in required

the coordinates of the point(s) for which we want to do the mapping. Can be scalar or array.

yyin        in required

the coordinates of the point(s) for which we want to do the mapping. Can be scalar or array.

Keywords

PERF       

Examples

IDL> splot,[0,5],[0,3],/nodata,xstyle=1,ystyle=1 IDL> tracegrille, findgen(11)*.1, findgen(11)*.1,color=indgen(12)*20 IDL> xin = (findgen(11)*.1)#replicate(1, 11) IDL> yin = replicate(1, 11)#(findgen(11)*.1) IDL> out = square2quadrilateral(2,1,3,0,5,1,2,3, xin, yin) IDL> tracegrille, reform(out[0,*],11,11), reform(out[1,*],11,11),color=indgen(12)*20 IDL> inorg=quadrilateral2square(2,1,3,0,5,1,2,3,out[0,*],out[1,*]) IDL> tracegrille, reform(inorg[0,*],11,11), reform(inorg[1,*],11,11),color=indgen(12)*20

Version history

Version

$Id: quadrilateral2square.pro 163 2006-08-29 12:59:46Z navarro $

History

Sebastien Masson (smasson@lodyc.jussieu.fr) August 2003 Based on "Digital Image Warping" by G. Wolberg IEEE Computer Society Press, Los Alamitos, California Chapter 3, see p 52-56

Known issues

Restrictions

I think degenerated quadrilateral (e.g. flat of twisted) is not work. This has to be tested.

 


  Produced by IDLdoc 2.0 on Wed Sep 13 16:32:15 2006.