{
    "mode": "man",
    "parameter": "pbmreduce",
    "section": "1",
    "url": "https://www.chedong.com/phpMan.php/man/pbmreduce/1/json",
    "generated": "2026-08-12T05:08:07Z",
    "synopsis": "pbmreduce [-floyd|-fs|-threshold] [-value val] [-randomseed=integer] N [pbmfile]\nYou can abbreviate any option to its shortest unique prefix.",
    "sections": {
        "NAME": {
            "content": "pbmreduce - read a PBM image and reduce it N times\n\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "pbmreduce [-floyd|-fs|-threshold] [-value val] [-randomseed=integer] N [pbmfile]\n\nYou can abbreviate any option to its shortest unique prefix.\n\n",
            "subsections": []
        },
        "DESCRIPTION": {
            "content": "This program is part of Netpbm(1).\n\npbmreduce  reads  a PBM image as input and reduces it by a factor of N, producing a PBM image\nas output.\n\npbmreduce duplicates a lot of the functionality of pamditherbw; you could do  something  like\npamscale | pamditherbw, but pbmreduce is a lot faster.\n\nYou can use pbmreduce to \"re-halftone\" an image.  Let's say you have a scanner that only pro‐\nduces black&white, not grayscale, and it does a terrible job of halftoning (most b&w scanners\nfit this description).  One way to fix the halftoning is to scan at the highest possible res‐\nolution,  say  300  dpi, and then reduce by a factor of three or so using pbmreduce.  You can\neven correct the brightness of an image, by using the -value option.\n\n",
            "subsections": []
        },
        "OPTIONS": {
            "content": "In addition to the options common to all programs based on libnetpbm  (most  notably  -quiet,\nsee \u001b]8;;index.html#commonoptions\u001b\\ Common Options\u001b]8;;\u001b\\ ), pbmreduce recognizes the following command line options:\n\n\n\n",
            "subsections": [
                {
                    "name": "-threshold",
                    "content": "By  default,  pbmreduce  does  the  halftoning after the reduction via boustrophedonic\nFloyd-Steinberg error diffusion; however, you can use this option  to  specify  simple\nthresholding.  This gives better results when reducing line drawings.\n\n"
                },
                {
                    "name": "-floyd -fs",
                    "content": "Specify the Floyd-Steinberg error diffusion method.  This is the default.\n\n"
                },
                {
                    "name": "-value",
                    "content": "This  option alters the thresholding value for all quantizations.  It should be a real\nnumber between 0 and 1.  Above 0.5 means darker images; below 0.5 means lighter.\n\n"
                },
                {
                    "name": "-randomseed=_",
                    "content": "This is the seed for the random number generator that controls the halftoning.\n\nUse this to ensure you get the same image on separate invocations.\n\nThis option was new in Netpbm 10.75 (June 2016).\n\n\n\n\n"
                }
            ]
        },
        "SEE ALSO": {
            "content": "pamenlarge(1), pamscale(1), pamditherbw(1), pbm(1)\n\n",
            "subsections": []
        },
        "AUTHOR": {
            "content": "Copyright (C) 1988 by Jef Poskanzer.\n",
            "subsections": []
        },
        "DOCUMENT SOURCE": {
            "content": "This manual page was generated by the Netpbm tool 'makeman' from  HTML  source.   The  master\ndocumentation is at\n\nhttp://netpbm.sourceforge.net/doc/pbmreduce.html\n\nnetpbm documentation                        13 April 2016                   Pbmreduce User Manual(1)",
            "subsections": []
        }
    },
    "summary": "pbmreduce - read a PBM image and reduce it N times",
    "flags": [
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "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."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "Specify the Floyd-Steinberg error diffusion method. This is the default."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "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."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "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)."
        }
    ],
    "examples": [],
    "see_also": [
        {
            "name": "pamenlarge",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/pamenlarge/1/json"
        },
        {
            "name": "pamscale",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/pamscale/1/json"
        },
        {
            "name": "pamditherbw",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/pamditherbw/1/json"
        },
        {
            "name": "pbm",
            "section": "1",
            "url": "https://www.chedong.com/phpMan.php/man/pbm/1/json"
        }
    ],
    "tldr": {
        "source": "official",
        "description": "Proportionally reduce a PBM image.",
        "examples": [
            {
                "description": "Reduce the specified image by the specified factor",
                "command": "pbmreduce {{n}} {{path/to/image.pbm}} > {{path/to/output.pbm}}"
            },
            {
                "description": "Use simple thresholding when reducing",
                "command": "pbmreduce {{-t|-threshold}} {{n}} {{path/to/image.pbm}} > {{path/to/output.pbm}}"
            },
            {
                "description": "Use the specified threshold for all quantizations",
                "command": "pbmreduce {{-va|-value}} {{0.6}} {{n}} {{path/to/image.pbm}} > {{path/to/output.pbm}}"
            }
        ]
    }
}