manpage oopses
This commit is contained in:
parent
1160f6a4b7
commit
41ed8375e7
@ -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
4
TODO
@ -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
|
||||
|
||||
|
@ -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.
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
18
man/im_heq.3
18
man/im_heq.3
@ -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.
|
||||
|
@ -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
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user