pambrighten

Updated: 18 August 2020
Table Of Contents

NAME

pambrighten - change a PPM image's Saturation and Value

SYNOPSIS

pambrighten [-saturation=[+|-]saturation_percent] [-value=[+|-]value_percent] [netpbmfile]

Minimum unique abbreviation of option is acceptable. You may use double hyphens instead of single hyphen to denote options. You may use white space in place of the equals sign to separate an option name from its value.

DESCRIPTION

This program is part of Netpbm.

pambrighten increases or decreases the Saturation and Value (from the HSV color space) of each pixel of a Netpbm image. You specify the percentage change for each of those parameters.

You can also remap the colors of the pixels so their Values cover the full range of possible Values.

The input image is from the file named netpbmfile, or Standard Input if netpbmfile is not specified.

The output format is the same as the input format and any extra channels, such as transparency, are passed through.

Hue-Saturation-Value, or HSV, is one way to represent a color, like the more well-known RGB. Hue, Saturation, and Value are numbers in the range from 0 to 1. We always capitalize them in this document when we mean the number from the HSV color space, especially since "value" as a conventional English word has a much more abstract meaning.

Value is a measure of how bright the color is, relative to some specified maximum (the Netpbm formats are also defined in terms of a specified maximum brightness -- For the purposes of this program, they are the same). In particular, it is the brightness of the brightest primary color component of the color divided by the maximum brightness possible for a component. Zero Value means black. White has full Value.

Hue is an indication of the secondary color with the same brightness that most closely approximates the color. A secondary color is made of a combination of at most two of the primary colors.

Saturation is a measure of how close the color is to the color indicated by the Hue and Value. A lower number means more light of the third primary color must be added to get the exact color. Full Saturation means the color is a secondary color. Zero Saturation means the color is gray (or black or white). Decreasing the saturation of a color tends to make it washed out.

If it is impossible to increase the Value of a pixel by the amount you specify (e.g. the Value is .5 and you specify +200%), pambrighten increases it to full Value instead.

If it is impossible to increase the Saturation of a pixel by the amount you specify (e.g. it is already half saturated and you specify +200%), pambrighten increases it to full Saturation instead.

For a simpler kind of brightening, you can use pamfunc -multiplier simply to increase the brightness of each pixel by a specified percentage, clipping each RGB component where the calculated brightness would exceed full brightness. Thus, the brightest colors in the image would change chromaticity in addition to not getting the specified brightness boost. For decreasing brightness, pamfunc should do the same thing as pambrighten.

ppmflash does another kind of brightening. It changes the color of each pixel to bring it a specified percentage closer to white. This increases the value and saturation.

pambrighten is meant to replace ppmbrighten. It is the same as ppmbrighten, except that it recognizes the various Netpbm image formats rather than treating them all as PPM. The output format is the same as the input format and extra channels in a PAM image (such as a transparency channel) get passed through.

If you want to modify the hues in the image, use pamhue.

EXAMPLES

To double the Value of each pixel:

pambrighten -value=100

To double the Saturation and halve the Value of each pixel:

pambrighten -saturation=+100 -value=-50

OPTIONS

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

-value=value_percent
This option specifies the amount, as a percentage, by which you want to increase the Value of each pixel. It may be negative.

The default is zero.

-saturation=value_percent
This option specifies the amount, as a percentage, by which you want to increase the Saturation of each pixel. It may be negative.

The default is zero.

SEE ALSO

pnmnorm, ppmdim, pamfunc, ppmflash, pamaltsat, pamdepth, pnmgamma, pamhue, ppmhist, ppm

HISTORY

pambrighten was new in Netphm 10.86 (March 2019). It was a PAM conversion of the much older ppmbrighten.

AUTHOR

Copyright (C) 1990 by Brian Moffet. Copyright (C) 1989 by Jef Poskanzer.

Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation. This software is provided "as is" without express or implied warranty.


Table Of Contents