Provided by: potrace_1.16-2_amd64 bug

NAME

       mkbitmap - transform images into bitmaps with scaling and filtering

SYNOPSIS

       mkbitmap [options] [filename...]

DESCRIPTION

       mkbitmap  reads  an  image,  and  applies  one  or more of the following operations to it, in this order:
       inversion, highpass filtering, scaling, and thresholding. Each operation can be  individually  controlled
       and turned on or off.

       The principal use of mkbitmap is to convert color or greyscale images into a format suitable as input for
       other programs, particularly the tracing program potrace(1). It is  particularly  useful  for  converting
       scanned line art, such as cartoons, handwritten text, etc., to high-resolution bilevel images.

       Highpass  filtering  can be used to ensure that foreground features such as lines and text are preserved,
       while at the same time compensating for uneven background. Optional blurring can be applied to smooth out
       the  image  and remove visual noise. Scaling is important because a scanned greyscale image contains more
       visual detail than a bilevel image at the same resolution. By scaling the image to  a  higher  resolution
       (using  interpolation)  before  thresholding  it,  some  of  this detail is preserved. Thresholding means
       converting a greyscale image to a bilevel image using only black and white pixels. Pixels that are darker
       than  a  certain threshold value are converted to black.  Optional inversion is useful if the input image
       shows bright features on dark background, such as a picture of chalk drawings on a blackboard.

       Supported input formats are PNM (PBM, PGM, PPM) and BMP. The output formats are PBM for bitmaps, and  PGM
       for greymaps.

OPTIONS

   General options:
       -h, --help     print help message and exit.

       -v, --version  print version info and exit.

       -l, --license  print license info and exit.

   Input/output options:
       filename       If  filename arguments are given, then mkbitmap will by default create one output file for
                      each input filename given. The name of the output file is obtained from the input filename
                      by  changing its suffix to ".pbm" or ".pgm". If the name of the input file and output file
                      would be identical, then an additional suffix "-out" is appended to the  output  filename.
                      If  no filename arguments are given, then mkbitmap acts as a filter, reading from standard
                      input and writing to standard output. A filename of "-" may be given  to  specify  reading
                      from standard input; the output for this argument will then be written to standard output.
                      Each input file may contain one or more images.

       -o filename, --output filename
                      write output to this file. All output is concatenated and directed to the specified  file.
                      This  overrides  the  default  behavior of creating one output file for each input file. A
                      filename of "-" may be given to specify writing to standard output.

   Image processing options:
       -x, --nodefaults
                      Turn off default options. Normally, the following options are preselected by default: -f 4
                      -s 2 -3 -t 0.45. The -x option disables these defaults; thus, mkbitmap -x does nothing but
                      copy a greyscale image from the input to the output. Other processing options can then  be
                      added  one by one; e.g., mkbitmap -xf10 does only highpass filtering, mkbitmap -xt0.5 does
                      only thresholding, etc.

       -i, --invert   Invert the input image. If this option is chosen, it is applied to the  image  before  any
                      other  operation.  It  is  used to deal with white-on-black images, such as photographs of
                      chalk drawings on a blackboard. Note that the behavior of this option is  not  in  general
                      the same as inverting the output bitmap, unless the thresholding value is also inverted.

       -f n, --filter n
                      Apply  a  highpass  filter  to  the  image. This filter is approximately Gaussian and non-
                      directional. The effect is to preserve small  detail  while  compensating  for  background
                      gradients.  The parameter n is a radius (in pixels) which corresponds approximately to the
                      size of details which should be preserved. More precisely, the filter  is  implemented  by
                      subtracting  a  blurred  version  of the image from the original image. The parameter n is
                      equal to the standard deviation of the blur.  The  output  of  the  filtering  step  is  a
                      normalized image whose average brightness is exactly 0.5. The default filter radius is 4.

       -n, --nofilter Turn off highpass filtering.

       -b n, --blur n Blur the image. The effect is to smooth out fine details and to reduce visual noise in the
                      image. The parameter n is the blurring radius, and should be chosen small  (1  is  a  good
                      value  to  start  with). This is implemented as an approximately Gaussian, non-directional
                      blur with standard deviation proportional to n. Blurring is  applied  after  the  highpass
                      filter,  but before scaling and thresholding.  If this option is not given, the default is
                      not to apply any blurring.

       -s n, --scale n
                      Scale the image by an integer factor n>0. Scaling is done after  highpass  filtering,  but
                      before  the  thresholding  step.  A scaling factor of 1 indicates that no scaling is to be
                      done. Otherwise, interpolation is used to fill in the in-between pixels. If the output  of
                      mkbitmap  is to be used as input to a tracing program such as potrace, a scaling factor of
                      2 is recommended. This preserved the right amount of detail for the tracing  algorithm  to
                      work  well. If a scaling factor of 1 is used, too much detail is lost. If a scaling factor
                      of 3 or higher is used, the interpolation tends to "invent" detail which was  not  present
                      in the original image, thus preventing potrace from doing a good job.

       -1, --linear   Use linear interpolation when scaling to a higher resolution. This is slightly faster, but
                      less nice, than the default cubic interpolation.

       -3, --cubic    Use cubic interpolation when scaling to a higher resolution. This is the  default.  It  is
                      slower than linear interpolation, but leads to better results.

       -t n, --threshold n
                      Set the threshold grey value for bilevel conversion. The parameter n is a brightness value
                      between 0 for black and 1 for white.  Any pixels below this brightness will  be  converted
                      to black (thus, smaller values of n will lead to whiter output).

       -g, --grey     Disable  bilevel  conversion.  If this option is given, processing stops after the scaling
                      step and a greymap is output.

EXIT STATUS

       The exit status is 0 on successful completion, 1 if the command line was invalid,  and  2  on  any  other
       error.

VERSION

       1.16

AUTHOR

       Peter Selinger <selinger at users.sourceforge.net>

WEB SITE AND SUPPORT

       mkbitmap  is  distributed  as  part  of  the  potrace  package,  and the latest version is available from
       http://potrace.sourceforge.net/.  This site also contains documentation and information on how to  obtain
       support.

SEE ALSO

       potrace(1)

COPYRIGHT

       Copyright (C) 2001-2019 Peter Selinger

       This  program  is  free  software;  you  can  redistribute it and/or modify it under the terms of the GNU
       General Public License as published by the Free Software Foundation; either version 2 of the License,  or
       (at your option) any later version.

       This  program  is  distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
       the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General  Public
       License for more details.

       You  should have received a copy of the GNU General Public License along with this program; if not, write
       to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.   See
       also http://www.gnu.org/.