| .TH IM_COMPASS 3 "2 May 1991" |
| .SH NAME |
| im_compass, im_rank_image, im_maxvalue, im_lindetect, im_gradient \- extract features from an image with |
| a rotating input mask |
| .SH SYNOPSIS |
| #include <vips/vips.h> |
| |
| int im_rank_image(in, out, n, index) |
| .br |
| IMAGE **in; |
| .br |
| IMAGE *out; |
| .br |
| int n; |
| .br |
| int index; |
| |
| int im_maxvalue(in, out, n) |
| .br |
| IMAGE **in; |
| .br |
| IMAGE *out; |
| .br |
| int n; |
| |
| int im_compass(in, out, mask) |
| .br |
| IMAGE *in, *out; |
| .br |
| INTMASK *mask; |
| |
| int im_lindetect(in, out, mask) |
| .br |
| IMAGE *in, *out; |
| .br |
| INTMASK *mask; |
| |
| int im_gradient(in, out, mask) |
| .br |
| IMAGE *in, *out; |
| .br |
| INTMASK *mask; |
| .SH DESCRIPTION |
| .B im_rank_image() |
| sorts the input images pixel-wise, then outputs an image in which each pixel |
| is selected from the sorted list by the |
| .B index |
| parameter. For example, if |
| .B index |
| is zero, then each output pixel will be the minimum of all the corresponding |
| input pixels. |
| It works for any uncoded, non-complex |
| image type. All input images must match in size, format, and number of bands. |
| |
| These functions convolve the image pointed by the image descriptor in with the |
| mask pointed by mask and put the result in the image pointed by out. |
| |
| The mask structure INTMASK is returned by the function im_read_imask(3), for |
| integer mask only. Input should be unsigned char; processing is carried out |
| using look-up tables. The output is integer. coefficients. The size of the |
| output image and the number of channels are the same as the corresponding of |
| the input. |
| |
| The output image is the same size as the input. The edge pixels are calculated |
| by expanding the input image using |
| .B im_embed(3) |
| in mode 1 (replicating edge pixels) just enough so that the output can match |
| the input. |
| |
| The output at each point is divided by scale and then the offset is added. |
| Both offset and scale are held in mask. |
| |
| .B im_maxvalue() |
| is a convenience function: it is simply: |
| |
| im_rank_image( in, out, n, n - 1 ) |
| |
| .B im_compass() |
| convolves each point of the input byte image pointed by in with 8 masks. |
| The first mask is the entered mask and the seven remaining masks are produced |
| by successive rotations of the entered mask by 45 degrees. The maximum output |
| of all masks at each point is written to the output integer IMAGE descriptor. |
| The function expects as input a square mask of odd size. |
| |
| .B im_lindetect() |
| convolves each point of the input byte image pointed by in with 4 masks. |
| The first mask is the entered mask and the three remaining masks are produced |
| by successive rotations of the entered mask by 45 degrees. The maximum output |
| of all masks at each point is written to the output integer IMAGE descriptor. |
| The function expects as input a square mask of odd size. |
| |
| .B im_gradient() |
| convolves each point of the input byte image pointed by in with 2 masks; |
| the entered mask and with a 90 degrees rotation of the |
| entered mask. If g1, g2 are the result of each convolution then for each point |
| abs(g1) + abs(g2) is written to the output integer IMAGE descriptor. |
| The function expects as input a square mask of any size. |
| .SH RETURN VALUE |
| All functions returns 0 on success and -1 on error. |
| .SH SEE\ ALSO |
| im_readmask(3), im_conv(3). |
| .SH COPYRIGHT |
| .br |
| N. Dessipris |
| .SH AUTHOR |
| N. Dessipris \- 02/05/1991 |