| .TH IM_SIMILARITY_AREA 3 "13 January 1992" |
| .SH NAME |
| im_similarity_area, im_similarity \- apply a similarity transform to an image |
| .SH SYNOPSIS |
| .B #include <vips/vips.h> |
| |
| int im_similarity_area(in, out, s, a, dx, dy, x, y, w, h) |
| .br |
| .B IMAGE *in, *out; |
| .br |
| .B double s, a, dx, dy; |
| .br |
| .B int x, y; |
| .br |
| .B int w, h; |
| |
| int im_similarity(in, out, s, a, dx, dy) |
| .br |
| .B IMAGE *in, *out; |
| .br |
| .B double s, a, dx, dy; |
| |
| .SH DESCRIPTION |
| .B im_similarity_area() |
| applies a similarity transformation on the image held by the IMAGE descriptor |
| in and puts the result at the location pointed by the IMAGE descriptor out. in |
| many have any number of bands, be any size, and have any non-complex type. |
| |
| The transformation is described by s, a, dx, dy. The point (x,y) in the input |
| is mapped onto point (X,Y) in the output by |
| |
| X = s * x - a * y + dx |
| Y = a * x + s * y + dy |
| |
| s and a do not correspond to scale and angle of the transformation; the actual |
| scale and angle are given by the equations: |
| |
| scale = sqrt(s*s + a*a) |
| angle = arctan(s/a). |
| |
| The area of the output image given by x, y, w, h is generated. (0,0) is |
| the position of the transformed top-left-hand corner of the input image. |
| Function im_similarity_area resamples the transformed image using bilinear |
| interpolation. |
| |
| im_similarity works exactly as im_similarity_area, but calculates x, y, w, h |
| for you such that the rectangle described just encloses all of the transformed |
| input pixels. |
| .SH RETURN VALUE |
| The functions return 0 on success and -1 on error. |
| .SH BUGS |
| As with most resamplers, im_similarity performs poorly at the edges of |
| images. |
| .SH SEE\ ALSO |
| similarity(1), similarity_area(1) |
| .SH AUTHORS |
| N. Dessipris -\ 13/01/1992 |
| .br |
| J.Ph. Laurent -\ 12/12/92 |
| .br |
| J. Cupitt -\ 22/02/93 |