topsquare2quadrilateral image, grid manipulation
Return value
(2,n) array: the new coodinates (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.
If xin and yin are omited, square2quadrilateral returns the
matrix A which is used for the inverse transformation.
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
xxin
in
required
yyin
in
required
Examples
IDL> res = square2quadrilateral(x0,y0,x1,y1,x2,y2,x3,y3[,xin,yin])
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
Version history
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.