man > pamdepth(1)

TLDR: pamdepth (tldr-pages)

Reduce the depth (i.e. color resolution) in an image.

  • Read a PBM image, set its maxval and save it to a file
    pamdepth {{maxval}} {{path/to/image.pbm}} > {{path/to/file.pbm}}
Pamdepth User Manual(1)                General Commands Manual               Pamdepth User Manual(1)

NAME
       pamdepth - change the depth (color resolution) in a Netpbm image


SYNOPSIS
       pamdepth newmaxval [netpbmfile]


DESCRIPTION
       This program is part of Netpbm(1).

       pamdepth  reads a Netpbm image as input, changes its depth (color resolution), and writes out
       the resulting Netpbm image.  I.e. the output has a different maxval from the input,  but  all
       the same colors (apart from rounding error).

       Reducing the depth results in some loss of information.

       Here  is  an  example of the effect at the image format level: Assume you start with an image
       with maxval 100 and sample values of 50 and 100.  You tell pamdepth to  change  it  to  depth
       150.  The output has maxval 200 and sample values 75 and 150.

       This program works on multi-image streams.

       Be  careful of off-by-one errors when choosing the new maxval.  For instance, if you want the
       color values to be five bits wide, use a maxval of 31, not 32.

       One important use of pamdepth is to convert a new format 2-byte-per-sample PNM  file  to  the
       older  1-byte-per-sample  format.  Before April 2000, essentially all raw (binary) format PNM
       files had a maxval less than 256 and one byte per sample, and many programs may rely on that.
       If you specify a newmaxval less than 256, the resulting file should be readable by  any  pro‐
       gram that worked with PNM files before April 2000.


   Output Format
       The  output  format (PBM, etc.) and, in the case of PAM, tuple type, of the output is usually
       the same as the input.

       However, changing the depth of a black and white image does not make sense, except to turn it
       into a grayscale image, so if the input is a black and white image, pamdepth makes the output
       grayscale.  To be more precise, if the input is a PBM image, the output is PGM,  and  if  the
       input  is a PAM with tuple type BLACK_AND_WHITE or BLACK_AND_WHITE_ALPHA, the output is a PAM
       with tuple type GRAYSCALE or GRAYSCALE_ALPHA, respectively.

       This conversion happens even if the new maxval is 1.

       Before Netpbm 10.92 (September 2020), pamdepth failed if the input was PAM with a  black  and
       white tuple type and the new maxval was anything but 1.  But it always promoted PBM to PGM.



OPTIONS
       There  are  no  command line options defined specifically for pamdepth, but it recognizes the
       options common to all programs based on libnetpbm (See ]8;;index.html#commonoptions\ Common Options]8;;\ .)


SEE ALSO
       pnm(1), pam(1), pnmquant(1), ppmdither(1) pambrighten(1) pamfunc(1)


HISTORY
       pamdepth was new in Netpbm 10.32 (February 2006).  It replaced pnmdepth,  by  Jef  Poskanzer.
       pamdepth  is  backward compatible with pnmdepth and adds the ability to process arbitrary PAM
       images and the ability to process multi-image input streams.  pnmdepth handled only  PNM  im‐
       ages and ignored all but the first in any stream.

DOCUMENT SOURCE
       This  manual  page  was  generated by the Netpbm tool 'makeman' from HTML source.  The master
       documentation is at

              http://netpbm.sourceforge.net/doc/pamdepth.html

netpbm documentation                       26 August 2020                    Pamdepth User Manual(1)

Generated by phpman v4.9.26-1-g511901d · Markdown · JSON · MCP Author: Che Dong Under GNU General Public License
2026-08-09 09:00 @216.73.216.150
CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0 Transitional!Valid CSS!