GNU/Linux |
CentOS 5.3 |
|
![]() |
pamthreshold(1) |
![]() |
pamthreshold
Updated: 12 May 2006
Table Of Contents
NAME
pamthreshold - threshold grayscale image to black and white
SYNOPSIS
pamthreshold [-simple]
[-local=widthxheight] [-dual=widthxheight]
[-threshold=threshold] [-contrast=threshold]
[inputpamfile]
Minimum unique abbreviation of
options is acceptable. You may use double
hyphens instead of a single hyphen to denote options. You
may use white
space in place of the equals sign to separate an option name
from its value.
DESCRIPTION
This program is part of Netpbm.
pamthreshold thresholds a
grayscale image. Thresholding means dividing the
image into background and foreground by comparing every
pixel to a
thresholding value.
The input should be a PGM image
or a PAM image of tuple type GRAYSCALE.
However, pamthreshold doesn’t check; it just
thresholds the first channel as
if it were grayscale samples. So if you feed it e.g. a PPM
image, it will
work but produce probably useless results.
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 pamtopnm.
The output is to Standard Output.
Another way to convert a
grayscale image to black and white is to dither.
Dithering is using clustered black and white pixels such
that if you step
back and look at the picture, you see varying levels of
gray. pamditherbw
does dithering.
OPTIONS
Without any options,
pamthreshold uses an iterative algorithm found in the
wikipedia article Thresholding (image processing) to compute
the
thresholding value. It uses this threshold to globally
threshold the image.
This should work well for most images. The program issues a
message telling
you what threshold it used. (Netpbm messages go to Standard
Error, and you
can turn them off with the Netpbm command option -quiet).
-simple
This selects simple or global thresholding, i.e.
pamthreshold
compares every pixel to the threshold you specify with
-threshold.
This works well for black and white text pages scanned with
a flatbed
scanner and is faster than the default method that
iteratively
determines the thresholding value first.
-local=widthxheight
This selects local adaptive thresholding (also known as
dynamic
thresholding) using the neighborhood of width and height
around every
pixel. pamthreshold computes the threshold individually for
each
pixel of the image. This can accommodate changing lighting
conditions
in the image. Depending on the size of the neighborhood this
can be
quite slow.
-dual=widthxheight
This selects a dual thresholding algorithm using a global
threshold
for low contrast neighborhoods and local thresholding
otherwise. This
can preserve larger back- respectively foreground areas than
local
adaptive thresholding. This algorithm was proposed in the
paper "An
Approach To Licence Plate Recognition" by J.R. Parker
and Pavol
Federl.
-threshold=threshold
This sets the thresholding value for simple or local
thresholding.
The value is a floating point number in the range [0, 1],
where 0 is
black and 1 is the maxval of the image.
If you don’t specify this option, pamthreshold uses a
threshold of
0.5. Without -simple or -local this option is meaningless.
-contrast=threshold
This sets the threshold to determine if a neighborhood has
low
contrast or not for dual thresholding. The value is a
floating point
number in the range [0, 1].
If you don’t specify this option, pamthreshold uses a
contrast
threshold of 0.05. Without -dual this option is
meaningless.
SEE ALSO
pamditherbw, ppmtopgm, pamtopnm, pam
HISTORY
pamthreshold was new in Netpbm 10.34 (June 2006).
AUTHOR
pamthreshold is Copyright
© 2006 by Erik Auerswald and released under the
GPL.
_________________________________________________________________
Table Of Contents
* NAME
* SYNOPSIS
* OPTIONS
* DESCRIPTION
* SEE ALSO
* HISTORY
* AUTHOR
![]() |
pamthreshold(1) | ![]() |