Developer's Daily | Unix by Example |
main | java | perl | unix | dev directory | web log |
pbmreduce - read a portable bitmap and reduce it N times |
pbmreduce [-floyd|-fs|-threshold ] [-value val] N [pbmfile] |
Reads a portable bitmap as input. Reduces it by a factor of N, and produces a portable bitmap as output. pbmreduce duplicates a lot of the functionality of pgmtopbm; you could do something like pnmscale | pgmtopbm, but pbmreduce is a lot faster. pbmreduce can be used 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 flag. |
By default, the halftoning after the reduction is done via boustrophedonic Floyd-Steinberg error diffusion; however, the -threshold flag can be used to specify simple thresholding. This gives better results when reducing line drawings. The -value flag 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. All flags can be abbreviated to their shortest unique prefix. |
pnmenlarge(1), pnmscale(1), pgmtopbm(1), pbm(5) |
Copyright (C) 1988 by Jef Poskanzer. |