Scroll to navigation

Pbmreduce User Manual(1) General Commands Manual Pbmreduce User Manual(1)


pbmreduce - read a PBM image and reduce it N times


pbmreduce [-floyd|-fs|-threshold] [-value val] [-randomseed=integer] N [pbmfile]

You can abbreviate any option to its shortest unique prefix.


This program is part of Netpbm(1).

pbmreduce reads a PBM image as input and reduces it by a factor of N, producing a PBM image as output.

pbmreduce duplicates a lot of the functionality of pamditherbw; you could do something like pamscale | pamditherbw, but pbmreduce is a lot faster.

You can use pbmreduce to "re-halftone" an image. Let's say you have a scanner that only produces black&white, not grayscale, and it does a terrible job of halftoning (most b&w scanners fit this description). One way to fix the halftoning is to scan at the highest possible resolution, say 300 dpi, and then reduce by a factor of three or so using pbmreduce. You can even correct the brightness of an image, by using the -value option.


In addition to the options common to all programs based on libnetpbm (most notably -quiet, see
Common Options
), pbmreduce recognizes the following command line options:

By default, pbmreduce does the halftoning after the reduction via boustrophedonic Floyd-Steinberg error diffusion; however, you can use this option to specify simple thresholding. This gives better results when reducing line drawings.

Specify the Floyd-Steinberg error diffusion method. This is the default.

This option alters the thresholding value for all quantizations. It should be a real number between 0 and 1. Above 0.5 means darker images; below 0.5 means lighter.

This is the seed for the random number generator that controls the halftoning.

Use this to ensure you get the same image on separate invocations.

This option was new in Netpbm 10.75 (June 2016).


pamenlarge(1), pamscale(1), pamditherbw(1), pbm(1)


Copyright (C) 1988 by Jef Poskanzer.


This manual page was generated by the Netpbm tool 'makeman' from HTML source. The master documentation is at
13 April 2016 netpbm documentation