summaryrefslogtreecommitdiffstats
path: root/upstream/mageia-cauldron/man1/pamditherbw.1
diff options
context:
space:
mode:
Diffstat (limited to 'upstream/mageia-cauldron/man1/pamditherbw.1')
-rw-r--r--upstream/mageia-cauldron/man1/pamditherbw.1223
1 files changed, 223 insertions, 0 deletions
diff --git a/upstream/mageia-cauldron/man1/pamditherbw.1 b/upstream/mageia-cauldron/man1/pamditherbw.1
new file mode 100644
index 00000000..c60ace76
--- /dev/null
+++ b/upstream/mageia-cauldron/man1/pamditherbw.1
@@ -0,0 +1,223 @@
+\
+.\" 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 "Pamditherbw User Manual" 0 "10 May 2010" "netpbm documentation"
+
+.SH NAME
+
+pamditherbw - dither grayscale image to black and white
+
+.UN synopsis
+.SH SYNOPSIS
+
+\fBpamditherbw\fP
+
+[\fB-floyd\fP | \fB-fs\fP
+| \fB-atkinson\fP
+| \fB-threshold\fP
+| \fB-hilbert\fP
+| \fB-dither8\fP | \fB-d8\fP | \fB-cluster3\fP
+| \fB-c3\fP | \fB-cluster4\fP | \fB-c4\fP
+| \fB-cluster8\fP | \fB-c8\fP]
+
+[\fB-value\fP \fIval\fP]
+
+[\fB-clump\fP \fIsize\fP]
+
+[\fB-randomseed=\fP\fIinteger\fP]
+
+[\fIpamfile\fP]
+.PP
+All options can be abbreviated to their shortest unique prefix.
+
+.UN description
+.SH DESCRIPTION
+.PP
+This program is part of
+.BR "Netpbm" (1)\c
+\&.
+.PP
+\fBpamditherbw\fP dithers a grayscale image. Dithering means turning
+each shade of gray into a pattern of black and white pixels that, from
+a distance, look the same as the gray.
+.PP
+The input should be a PGM image or a PAM image of tuple type
+GRAYSCALE. However, \fBpamditherbw\fP doesn't check, so if you feed
+it e.g. a PPM image, it will produce arbitrary results (actually, it
+just takes the first channel of whatever you give it and treats it as
+if it represented gray levels).
+.PP
+The output is a PAM with tuple type BLACKANDWHITE. You can turn
+this into a PBM (if you need to use it with an older program that doesn't
+understand PAM) with \fBpamtopnm\fP.
+.PP
+To do the opposite of dithering, you can usually just scale the image
+down and then back up again with \fBpamscale\fP, possibly smoothing or
+blurring the result with \fBpnmsmooth\fP or \fBpnmconvol\fP. Or use
+the special case program \fBpbmtopgm\fP.
+.PP
+To dither a color image (to reduce the number of pixel colors),
+use \fBppmdither\fP.
+.PP
+Another way to convert a grayscale image to a black and white image
+is thresholding. Thresholding is simply replacing each grayscale pixel
+with a black or white pixel depending on whether its brightness is above or
+below a threshold. That threshold might vary. Simple thresholding is a
+degenerate case of dithering, so \fBpamditherbw\fP does very simple
+thresholding with its \fB-threshold\fP option. But \fBpamthreshold\fP
+does more sophisticated thresholding.
+.PP
+If all you want is to change a PGM image with maxval 1 to a PBM image,
+\fBpamtopnm\fP will do that.
+
+
+.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
+\&), \fBpamditherbw\fP recognizes the following
+command line options:
+
+.UN quantmethod
+.SS Quantization Method
+.PP
+The default quantization method is boustrophedonic Floyd-Steinberg
+error diffusion (\fB-floyd\fP or \fB-fs\fP).
+.PP
+Also available are simple thresholding (\fB-threshold\fP); Bayer's
+ordered dither (\fB-dither8\fP) with a 16x16 matrix;
+.UR http://www.tinrocket.com/projects/programming/graphics/00158/
+ Atkinson
+.UE
+\&; and three different sizes of 45-degree clustered-dot
+dither (\fB-cluster3\fP, \fB-cluster4\fP, \fB-cluster8\fP).
+.PP
+A space filling curve halftoning method using the Hilbert curve is
+also available (\fB-hilbert\fP).
+.PP
+Floyd-Steinberg or Atkinson will almost always give the best
+looking results; however, looking good is not always what you want.
+For instance, you can use thresholding in a pipeline with the
+\fBpnmconvol\fP, for tasks such as edge and peak detection. And
+clustered-dot dithering gives a newspaper-ish look, a useful special
+effect.
+.PP
+Floyd-Steinberg is by far the more traditional, but
+.UR http://www.tinrocket.com/projects/programming/graphics/00158/
+ some claim
+.UE
+\& Atkinson works better.
+.PP
+The Hilbert curve method is useful for processing images before
+display on devices that do not render individual pixels distinctly
+(like laser printers). This dithering method can give better results
+than the dithering usually done by the laser printers themselves. The
+\fB-clump\fP option alters the number of pixels in a clump. Typically a PGM
+image will have to be scaled to fit on a laser printer page (2400 x 3000
+pixels for an A4 300 dpi page), and then dithered to a PBM image before being
+converted to a postscript file. A printing pipeline might look something
+like:
+
+.nf
+ pamscale -xysize 2400 3000 image.pgm | pamditherbw -hilbert | \e
+ pamtopnm | pnmtops -scale 0.25 > image.ps
+
+.fi
+
+.UN otheropts
+.SS Other Options
+
+
+
+.TP
+\fB-value\fP
+This option alters the thresholding value for Floyd-Steinberg,
+Atkinson, and simple thresholding. It should be a real number between
+0 and 1. Above 0.5 means darker images; below 0.5 means lighter.
+
+.TP
+\fB-clump\fP
+This option alters the number of pixels in a clump when the
+Hilbert curve method is used. This is usually an integer between 2
+and 100 (default 5). Smaller clump sizes smear the image less and are
+less grainy, but seem to lose some grey scale linearity.
+
+.TP
+\fB-randomseed=\fP\fIinteger\fP
+The Floyd-Steiberg and Atkinson methods use random numbers to
+diffuse the error. This is the seed for the random number generator.
+The other methods do not employ random numbers and ignore this option.
+.sp
+Use this to ensure you get the same image on separate invocations.
+.sp
+By default, \fBpamditherbw\fP uses a seed derived from the time of day
+and process ID, which gives you fairly uncorrelated results in multiple
+invocations.
+.sp
+This option was new in Netpbm 10.45 (December 2008).
+
+
+
+
+.UN references
+.SH REFERENCES
+.PP
+The only reference you need for this stuff is "Digital
+Halftoning" by Robert Ulichney, MIT Press, ISBN 0-262-21009-6.
+.PP
+The Hilbert curve space filling method is taken from "Digital
+Halftoning with Space Filling Curves" by Luiz Velho, Computer
+Graphics Volume 25, Number 4, proceedings of SIGRAPH '91, page
+81. ISBN 0-89791-436-8
+
+.UN seealso
+.SH SEE ALSO
+.BR "pamtopnm" (1)\c
+\&,
+.BR "pgmtopgm" (1)\c
+\&,
+.BR "pbmtopgm" (1)\c
+\&,
+.BR "pamthreshold" (1)\c
+\&,
+.BR "pbmreduce" (1)\c
+\&,
+.BR "pnmconvol" (1)\c
+\&,
+.BR "pamscale" (1)\c
+\&,
+.BR "pam" (1)\c
+\&,
+.BR "pnm" (1)\c
+\&,
+
+.UN history
+.SH HISTORY
+.PP
+\fBpamditherbw\fP was new in Netpbm 10.23 (July 2004), but is
+essentially the same program as \fBpgmtopbm\fP that has existed
+practically since the beginning. \fBpamditherbw\fP differs from its
+predecessor in that it properly adds brightnesses (using gamma
+transformations; \fBpgmtopbm\fP just adds them linearly) and that it
+accepts PAM input in addition to PGM and PBM and produces PAM output.
+.PP
+\fBpamditherbw\fP obsoletes \fBpgmtopbm\fP.
+.PP
+\fB-atkinson\fP was new in Netpbm 10.38 (March 2007).
+
+.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/pamditherbw.html
+.PP \ No newline at end of file