summaryrefslogtreecommitdiffstats
path: root/upstream/mageia-cauldron/man1/pnmcrop.1
diff options
context:
space:
mode:
Diffstat (limited to 'upstream/mageia-cauldron/man1/pnmcrop.1')
-rw-r--r--upstream/mageia-cauldron/man1/pnmcrop.1427
1 files changed, 427 insertions, 0 deletions
diff --git a/upstream/mageia-cauldron/man1/pnmcrop.1 b/upstream/mageia-cauldron/man1/pnmcrop.1
new file mode 100644
index 00000000..6bc83a94
--- /dev/null
+++ b/upstream/mageia-cauldron/man1/pnmcrop.1
@@ -0,0 +1,427 @@
+\
+.\" This man page was generated by the Netpbm tool 'makeman' from HTML source.
+.\" Do not hand-hack it! If you have bug fixes or improvements, please find
+.\" the corresponding HTML page on the Netpbm website, generate a patch
+.\" against that, and send it to the Netpbm maintainer.
+.TH "Pnmcrop User Manual" 0 "16 August 2020" "netpbm documentation"
+
+.SH NAME
+pnmcrop - crop a Netpbm image
+
+.UN synopsis
+.SH SYNOPSIS
+
+\fBpnmcrop\fP
+
+[\fB-white\fP
+|\fB-black\fP
+|\fB-sides\fP
+|\fB-bg-color=\fP\fIcolor\fP
+|\fB-bg-corner=\fP{
+\fBtopleft\fP|\fBtopright\fP|\fBbottomleft\fP|\fBbottomright\fP}
+]
+
+[\fB-left\fP]
+
+[\fB-right\fP]
+
+[\fB-top\fP]
+
+[\fB-bottom\fP]
+
+[\fB-margin=\fP\fIpixels\fP]
+
+[\fB-closeness=\fP\fIcloseness_percent\fP]
+
+[\fB-borderfile=\fP\fIfilename\fP]
+
+[\fB-blank-image=\fP{\fBabort\fP|\fBpass\fP|\fBminimize\fP|\fBmaxcrop\fP}]
+
+{[\fB-reportfull\fP]|[\fB-reportsize\fP]}
+
+[\fB-verbose\fP]
+
+[\fIpnmfile\fP]
+.PP
+Minimum unique abbreviation of option is acceptable. You may use
+double hyphens instead of single hyphen to denote options. You may use
+white space in place of the equals sign to separate an option name
+from its value.
+
+.UN description
+.SH DESCRIPTION
+.PP
+This program is part of
+.BR "Netpbm" (1)\c
+\&.
+.PP
+\fBpnmcrop\fP reads a PBM, PGM, or PPM image as input, removes
+borders that are the background color, and produces the same type of
+image as output.
+.PP
+If you don't specify otherwise, \fBpnmcrop\fP assumes the
+background color is whatever color the top left and right corners of
+the image are and if they are different colors, something midway
+between them. You can specify that the background is white or black
+with the \fB-white\fP and \fB-black\fP options or make
+\fBpnmcrop\fP base its guess on all four corners instead of just two
+with \fB-sides\fP.
+.PP
+By default, \fBpnmcrop\fP chops off any stripe of background color
+it finds, on all four sides. You can tell \fBpnmcrop\fP to remove
+only specific borders with the \fB-left\fP, \fB-right\fP,
+ \fB-top\fP, and \fB-bottom\fP options.
+.PP
+But note that \fBpnmcrop\fP's determination of the background color is
+independent of which edges you crop, which may not be intuitive. For example,
+imagine an image with a blue border at the top and a black border at the
+bottom and you say to crop the bottom (\fB-bottom\fP). You may have expected
+to crop the black border, but you actually won't crop anything,
+because \fBpnmcrop\fP considers the background color to be whatever color the
+top two corners are, which is blue, and there is no blue at the bottom of the
+image. If you do want \fBpnmcrop\fP to take the background color from the
+edges being cropped, use \fB-bg-corner\fP.
+
+.PP
+If you want to leave some border, use the \fB-margin\fP option. It
+will not only spare some of the border from cropping, but will fill in
+(with what \fBpnmcrop\fP considers the background color) if necessary
+to get up to that size.
+.PP
+If the input is a multi-image stream, \fBpnmcrop\fP processes each
+one independently and produces a multi-image stream as output. It chooses
+where to crop independently for each image. So if you start with a stream
+of images of the same dimensions, you may end up with images of differing
+dimensions. Before Netpbm 10.37 (December 2006), \fBpnmcrop\fP ignored
+all input images but the first.
+.PP
+If you want to chop a specific amount off the side of an image, use
+\fBpamcut\fP.
+.PP
+If you want to add different borders after removing the existing
+ones, use \fBpnmcat\fP or \fBpamcomp\fP.
+
+
+.UN options
+.SH OPTIONS
+.PP
+In addition to the options common to all programs based on libnetpbm
+(most notably \fB-quiet\fP, see
+.UR index.html#commonoptions
+ Common Options
+.UE
+\&), \fBpnmcrop\fP recognizes the following
+command line options:
+
+
+.TP
+\fB-white\fP
+Take white to be the background color. \fBpnmcrop\fP removes
+borders which are white.
+.sp
+You may specify at most one of \fB-black\fP, \fB-white\fP, \fB-sides\fP,
+\fB-bg-color\fP, and \fB-bg-corner\fP.
+
+.TP
+\fB-black\fP
+Take black to be the background color. \fBpnmcrop \fP removes
+borders which are black.
+.sp
+You may specify at most one of \fB-black\fP, \fB-white\fP, \fB-sides\fP,
+\fB-bg-color\fP, and \fB-bg-corner\fP.
+
+.TP
+\fB-bg-color=\fP\fIcolor\fP
+This tells \fBpnmcrop\fP what color is the background - it will crop
+areas of this color. \fIcolor\fP is a value that would be used as the
+.UR libnetpbm_image.html#colorname
+argument of the \fBpnm_parsecolor()\fP library routine
+.UE
+\&.
+.sp
+You may specify at most one of \fB-black\fP, \fB-white\fP, \fB-sides\fP,
+\fB-bg-color\fP, and \fB-bg-corner\fP.
+.sp
+This option was new in Netpbm 10.86 (March 2019).
+
+.TP
+\fB-sides\fP
+Determine the background color from the colors of the four corners
+of the input image. \fBpnmcrop\fP removes borders which are of the
+background color.
+.sp
+If at least three of the four corners are the same color,
+\fBpnmcrop \fP takes that as the background color. If not,
+\fBpnmcrop\fP looks for two corners of the same color in the
+following order, taking the first found as the background color: top,
+left, right, bottom. If all four corners are different colors,
+\fBpnmcrop\fP assumes an average of the four colors as the background
+color.
+.sp
+The \fB-sides\fP option slows \fBpnmcrop\fP down, as it reads the
+entire image to determine the background color in addition to the up
+to three times that it would read it without \fB-sides\fP.
+.sp
+You may specify at most one of \fB-black\fP, \fB-white\fP, \fB-sides\fP,
+\fB-bg-color\fP, and \fB-bg-corner\fP.
+
+.TP
+\fB-bg-corner=\fP{\fBtopleft\fP|\fBtopright\fP|\fBbottomleft\fP|\fBbottomright\fP
+This option indicates a corner which is background. \fBpnmcrop\fP will
+use the color of this corner as the background color and crop edges of that
+color.
+.sp
+You may specify at most one of \fB-black\fP, \fB-white\fP, \fB-sides\fP,
+\fB-bg-color\fP, and \fB-bg-corner\fP.
+.sp
+This option was new in Netpbm 10.86 (March 2019).
+
+.TP
+\fB-left\fP
+Remove any left border.
+
+.TP
+\fB-right\fP
+Remove any right border.
+
+.TP
+\fB-top\fP
+Remove any top border.
+
+.TP
+\fB-bottom\fP
+Remove any bottom border.
+
+.TP
+\fB-margin=\fP\fIpixels\fP
+Leave \fIpixels\fP pixels of border. Expand the border to this size
+if necessary.
+.sp
+This option was new in Netpbm 10.29 (August 2005).
+
+.TP
+\fB-closeness=\fP\fIcloseness_percent\fP
+Any color in the image that is at least this close to the operative
+background color is considered to be background.
+.sp
+You can use this if the image has borders that vary slightly in color, such
+as would be the case in a photograph. Consider a photograph against a white
+screen. The color of the screen varies slightly with shading and dirt and
+such, but is still quite distinct in color from the subject of the
+photograph. \fBpnmcrop\fP will choose some particular shade as the
+background color and if you specify an appropriate \fB-closeness\fP value, it
+will correctly identify all of the screen as background and crop it off.
+.sp
+To implement more complex rules for identifying background, use
+\fB-borderfile\fP.
+.sp
+The default is zero, which means a pixel's color must exactly match the
+background color for the pixel to be considered part of a background border.
+.sp
+This option was new in Netpbm 10.78 (March 2017). With older Netpbm,
+colors must match exactly.
+
+.TP
+\fB-borderfile=\fP\fIfilename\fP
+Use the image in the file named \fIfilename\fP instead of the input
+image to determine where the borders of the input image are and the
+background color.
+.sp
+Without this option, \fBpnmcrop\fP examines the input image and figures
+out what part of the image is border and what part is foreground (not border),
+as well as the background color. With this option, \fBpnmcrop\fP finds the
+borders in one image, then uses the those four border sizes (left, right, top,
+bottom) in cropping a different image. Furthermore, if you use
+\fB-margin\fP to add borders, the color of those borders is the background
+color \fBpnmcrop\fP detects in the border file.
+.sp
+The point of this is that you may want to help \fBpnmcrop\fP to come to a
+different conclusion as to where the borders are and what the background color
+is by preprocessing the input image. For example, consider an image that has
+speckles of noise in its borders. \fBpnmcrop\fP isn't smart enough to
+recognize these as noise; it sees them as foreground image. So \fBpnmcrop\fP
+considers most of your borders to be foreground and does not crop them off as
+you want. To fix this, run the image through a despeckler such as
+\fBpbmclean\fP and tell \fBpnmcrop\fP to use the despeckled version of the
+image as the \fB-borderfile\fP image, but the original speckled version as
+the input image. That way, you crop the borders, but retain the true
+foreground image, speckles and all.
+.sp
+The border file must have the same number of images in it as the input
+file; the background color determination for image N of the input is based on
+the image N of the border file.
+.sp
+This option was new in Netpbm 10.29 (August 2005).
+.sp
+Before Netpbm 10.46 (March 2009), the original image and not the
+border file determines the background color. \fBpnmcrop\fP
+fails if there is no apparent background color in the original image
+(i.e. the corners of the image don't have a common color).
+
+.TP
+\fB-blank-image=\fP{\fBabort\fP|\fBpass\fP|\fBminimize\fP|\fBmaxcrop\fP}
+This determines how \fBpnmcrop\fP handles an image which is entirely
+ background (blank), a case where cropping doesn't make much sense.
+
+
+.TP
+abort
+
+program fails, with explanatory message (default)
+
+.TP
+pass
+
+Output image is the same as the input image.
+ \fB-margin\fP has no effect.
+
+.TP
+minimize
+
+output is a single row, column, or pixel (of the background color).
+ If you crop both vertically and horizontally (the default), it is a
+ single pixel. If you crop only vertically, a single row, of the
+ original width. If you crop only horizontally, it is a single column,
+ of the original height.
+.sp
+This is a somewhat incongruous result; the mathematically consistent
+ result of cropping the background from an image that is entirely
+ background would be an image with no pixels at all. But such a thing
+ does not exist in the Netpbm formats (and you probably wouldn't want
+ it anyway, because whoever processes this output may not tolerate
+ that).
+.sp
+The background can be more than one color when you specify
+ \fB-closeness\fP, so it matters which row, column, or pixel remains.
+ If you crop on the top and not bottom, it is the last row that remains.
+ If you crop on both the top and bottom, it is the middle row that
+ remains. The other cases follow similarly.
+.sp
+If you specify a margin (\fB-margin\fP), the output image consists
+ entirely of the margins; there is no single row, column, or pixel
+ between the margins. So with \fB-margin\fP, the incongruity
+ mentioned above does not exist. But before Netpbm 10.92 (September
+ 2020), \fB-margin\fP was ignored with \fB-blank-image=minimize\fP.
+
+.TP
+maxcrop
+
+This odd function selects a hypothetical cropping which is not even
+ possible, and therefore is valid only with \fB-reportfull\fP or
+ \fB-reportsize\fP. The cropping that this selects is a crop of the
+ entire image on every side on which you request cropping. So if you
+ request cropping only on the left, of a 600 pixel wide image, this
+ selects a cropping of 600 pixels from the left and none from the other
+ three sides. Note that were this cropping actually applied, this would
+ produce an image with no pixels, which is not a valid Netpbm image. But
+ it gets stranger still if you request cropping on both the right and the
+ left. In that case, the cropping selected is a cropping of 600 pixels
+ from both the right and left sides, which would leave a negative-width
+ image.
+.sp
+ This is actually useful if you are trying to find a single set of
+ cropping parameters to crop a stream of images. To do this, you could
+ do a pass with \fB-reportsize\fP and \fB-blank-image=maxcrop\fP to
+ compute the maximum crop for each edge, and then use those numbers in
+ \fB-crop\fIxxx\fP\fP options on a \fBpamcut\fP pass to do the crop.
+ In this scenario, any all-background (blank) images would have no effect
+ on the cropping parameters you compute. If you do this, you must give
+ special consideration to a stream with nothing but blank images.
+
+
+.sp
+\fB-margin\fP is always ignored when the image is all background.
+.sp
+This option was new in Netpbm 10.86 (March 2019).
+
+.TP
+\fB-reportfull\fP
+With this option, \fBpnmcrop\fP does not actually crop anything. Instead, it
+just prints to Standard Output parameters of the cropping it would have done.
+The output is a single line per image, like in this example:
+
+.nf
+
+ 0 +7 -20 -10 200 300 rgb-255:10/0/255 0.0
+
+
+.fi
+.sp
+The line is composed of the following blank-delimited tokens:
+
+
+.IP \(bu
+how many pixels would be cropped or padded on the left. This is
+ a signed decimal number, where + means pad and - means crop. If there
+ would be no change, this is unsigned zero.
+
+.IP \(bu
+same, but for the right side.
+
+.IP \(bu
+same, but for the top.
+
+.IP \(bu
+same, but for the bottom.
+
+.IP \(bu
+the resulting image width in pixels, in decimal.
+
+.IP \(bu
+the resulting image height in pixels, in decimal.
+
+.IP \(bu
+The color \fBpnmcrop\fP took to be the background color, like
+ 'rgb-255:10/0/255' (This is a format recognized by
+ the
+.UR libnetpbm_image.html#colorname
+\fBpnm_parsecolor()\fP
+.UE
+\&
+ library routine). The maxval in the color specification is the maxval of
+ the image.
+
+.IP \(bu
+The closeness value (see \fB-closeness\fP option) \fBpnmcrop\fP
+ used, in floating point decimal.
+
+.sp
+You cannot use \fB-borderfile\fP together with this option.
+.sp
+This option was new in Netpbm 10.86 (March 2019).
+
+.TP
+\fB-reportsize\fP
+This is like \fB-reportfull\fP, but reports only the left, right, top,
+bottom, width, and height.
+.sp
+You cannot use \fB-borderfile\fP together with this option.
+.sp
+This option was new in Netpbm 10.86 (March 2019).
+
+.TP
+\fB-verbose\fP
+Print on Standard Error information about the processing,
+including exactly how much is being cropped off of which sides.
+
+
+
+.UN seealso
+.SH SEE ALSO
+.BR "pamcut" (1)\c
+\&,
+.BR "pamfile" (1)\c
+\&,
+.BR "pnm" (1)\c
+\&
+
+.UN author
+.SH AUTHOR
+
+Copyright (C) 1989 by Jef Poskanzer.
+.SH DOCUMENT SOURCE
+This manual page was generated by the Netpbm tool 'makeman' from HTML
+source. The master documentation is at
+.IP
+.B http://netpbm.sourceforge.net/doc/pnmcrop.html
+.PP \ No newline at end of file