manpage oopses

This commit is contained in:
John Cupitt 2009-03-28 17:07:55 +00:00
parent 1160f6a4b7
commit 41ed8375e7
7 changed files with 45 additions and 155 deletions

View File

@ -1,6 +1,7 @@
25/3/09 started 7.18.0
- revised version numbers
- updated vipsmanual
- revised manpages
6/3/09 started 7.17.3
- revised nohalo

4
TODO
View File

@ -1,7 +1,3 @@
- im_rank.3 has a note about a black border, argh
any other references to this?
- VipsFormat.3 man page should list all formats, since eg. radiance does not
have a separate im_rad2vips page

View File

@ -61,12 +61,12 @@ 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.
If the sizes of the mask are xm and ym and the sizes of the image are xs and ys,
then there is a black border at the output image as follows:
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 top ym/2 lines black, bottom ys-ym/2-ym lines black; each of the remaining
lines has the initial xm/2 pels blank, and the final
xs-xm/2-xm pels black (division over 2 is integer division).
The output at each point is divided by scale and then the offset is added.
Both offset and scale are held in mask.

View File

@ -1,123 +1 @@
.TH CONVOLUTION 3 "2 May 1991"
.SH NAME
im_conv, im_convf, im_convsep, im_convsepf,
im_convsub, im_shrink \- convolves an image with a generalised
mask
.SH SYNOPSIS
#include <vips/vips.h>
int im_conv(in, out, mask)
.br
IMAGE *in, *out;
.br
INTMASK *mask;
int im_convf(in, out, mask)
.br
IMAGE *in, *out;
.br
DOUBLEMASK *mask;
int im_convsep(in, out, mask)
.br
IMAGE *in, *out;
.br
INTMASK *mask;
int im_convsepf(in, out, mask)
.br
IMAGE *in, *out;
.br
DOUBLEMASK *mask;
int im_convsub(in, out, mask, xskip, yskip)
.br
IMAGE *in, *out;
.br
INTMASK *mask;
.br
int xskip, yskip;
int im_shrink(in, out, xfactor, yfactor)
.br
IMAGE *in, *out;
.br
double xfactor, yfactor;
.SH DESCRIPTION
These functions
convolve the image pointed by the image descriptor in with the file
pointed by mask and puts the result in the image pointed by out.
The mask structures INTMASK and DOUBLEMASK are
returned by the function im_read_imask(3) or im_read_dmask(3),
for integer and double masks respectively.
Input should be non-complex.
The size and type of the output image are the same as the size of the input.
To
output a larger type (for example, to output an int image from convolution
of a byte image, avoiding clipping), cast the input image up with one of
the im_clip2*() functions.
If the sizes of the mask are xm and ym and the sizes of the image are xs and ys,
then there is a black border at the output image as follows:
The top ym/2 lines black, bottom ys-ym/2-ym lines black; each of the remaining
lines has the initial xm/2 pels blank, and the final
xs-xm/2-xm pels (division over 2 is integer division).
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_conv()
and
.B im_convsep()
have 'raw' versions which do not add the black border: instead the output
image is smaller than the input.
.B im_conv()
and
.B im_conv_raw()
convolve any non-complex input image to make an output image of the same
type. Rounding is appropriate to the image type.
.B im_convf()
convolves to float (double if the input is double).
The function expects a double mask.
.B im_convsep()
and
.B im_convsep_raw()
carry out convolution using an 1xN or Nx1 separable mask.
The function
scales the output result by dividing it with scale*scale. The scale
factor should therefore be the sqrt of the scale of the square NxN mask.
Rounding is appropriate to the image type. It works on any non-complex image,
and writes the output in the same format as the input.
The function expects integer mask.
.B im_convsepf()
convolves to float (double if the input is double).
The function expects a double mask.
.B im_convsub()
convolves the byte image pointed by in and writes the result as a byte output.
Using this function the input image is subsampled on
both directions by an integer factor of xskip horizontally and
an integer factor of yskip vertically.
During the covolution, values are rounded before division.
Both input and output are bytes. Output is clipped between 0 and 255.
The function expects an integer mask.
.B im_shrink()
shrink the input image file by xfactor along the horizontal and
yfactor along the vertical direction. The function doesnot perform subpixel
interpolation and therefore the resultant image can present aliasing especially
for small x and y factors. Any size image, any non-complex type, any number of
bands.
.SH RETURN VALUE
The function returns 0 on success and -1 on error.
.SH SEE ALSO
im_read_imask(3), im_compass(3), im_fastcor(3).
.so man3/im_conv.3

View File

@ -40,33 +40,42 @@ Mask coefficients can be either 0 (for object) or 255 (for background) or 128
The mask should have odd length sides and the origin of the mask is at location
(m-\>xsize/2,m-\>ysize/2) integer division. All algorithms have been based on
the book "Fundamentals of Digital Image Processing" by A. Jain, pp 384-388,
Prentice-Hall, 1989. Essentially, im_dilate(3) sets pixels in the output if
*any* part of the mask matches, whereas im_erode(3) sets pixels only if *all*
Prentice-Hall, 1989. Essentially,
.B im_dilate(3)
sets pixels in the output if
*any* part of the mask matches, whereas
.B im_erode(3)
sets pixels only if *all*
of the mask matches.
im_dilate(3)
.B im_dilate(3)
dilates the image pointed by in, according to the mask pointed by m and writes
the result in the location pointed by the IMAGE descriptor out. The output
image is the same size as the input, with a black border in the manner of
im_conv(3).
image is the same size as the input, in the manner of
.B im_conv(3).
im_dilate_raw(3)
works as im_dilate(3), but does not add a black border.
.B im_dilate_raw(3)
works as im_dilate(3), but does not expand the input.
im_erode(3)
.B im_erode(3)
erodes the image pointed by in, according to the mask pointed by m and writes
the result in the location pointed by the IMAGE descriptor out. Again, the
output image is forced to have the same size as the input.
im_erode_raw(3)
works as im_erode(3), but does not add a black border.
.B im_erode_raw(3)
works as im_erode(3), but does not expand the input.
See the boolean operations im_and(3), im_or(3) and im_eor(3) for analogues
See the boolean operations
.B im_andimage(3),
.B im_orimage(3)
and
.B im_eorimage(3)
for analogues
of the usual set difference and set union operations.
.SH RETURN VALUE
All functions returns 0 on success and -1 on error.
.SH SEE ALSO
im_read_imask(3), im_conv(3), im_and(3), im_rotate_imask(3).
im_read_imask(3), im_conv(3), im_andimage(3), im_rotate_imask(3).
.SH COPYRIGHT
1991-1995, Birkbeck College and the National Gallery

View File

@ -21,28 +21,32 @@ int im_hsp( in, ref, out )
IMAGE *in, *ref, *out;
.SH DESCRIPTION
im_heq()
.B im_heq(3)
histogram equalises the unsigned char image held by the IMAGE descriptor
in. The result is written to the IMAGE descriptor out.
If bandno is -1 then all input bands are equalised independently. In all
other cases the input image is equalised using the histogram of bandno only.
The latter processing produces better results.
im_hsp()
.B im_hsp(3)
maps in to out with histogram specified by the ref. All images should be
unsigned char. Each band of the output image is specified according to the
distribution of grey levels of the reference image according to
im_histspec(3).
im_lhisteq()
.B im_lhisteq(3)
histogram equalises the one channel unsigned char image pointed to by the
Image descriptor in. The result is written to the IMAGE descriptor out.
The histogram equalisation is based on a window of size xw by yw centered at
the current location of each input pixel. The produced image has a black
border of sizes xw/2 (left), xw-xw/2 (right), yw/2 (top) and yw-yw/2 (bottom).
the current location of each input pixel.
im_lhisteq_raw()
is as above, but does not add the black border to the output image.
In the manner of
.B im_conv(3)
the input image is expanded so that the output image is the same size as the
input.
.B im_lhisteq_raw(3)
is as above, but does not expand the input.
.SH RETURN VALUE
All functions returns 0 on success and -1 on error.

View File

@ -23,12 +23,14 @@ is passed over the image. At each position, the pixels inside the window are
sorted into ascending order and the pixel at the nth position is output. n
numbers from 0.
It works for any non-complex image type, with any number of bands. A black
border is added to the output image to make it the same size as the
input.
It works for any non-complex image type, with any number of bands.
The input
is expanded by copying edge pixels before performing the operation so that the
output image has the same size as the input. Edge pixels in the output image
are therefore only approximate.
.B im_rank_raw()
works just as im_rank(), but does not add the border.
works just as im_rank(), but does not expand the input.
.SH EXAMPLES
For a median filter with mask size m (3 for 3x3, 5 for 5x5, etc.) use