about summary refs log tree commit diff
path: root/ppmbrighten.html
blob: 542cce0f646d55a11d5b067f25beec96fdd5cd33 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML><HEAD><TITLE>Ppmbrighten User Manual</TITLE></HEAD>
<BODY>
<H1>ppmbrighten</H1>
Updated: 09 January 2003
<BR>
<A HREF="#index">Table Of Contents</A>

<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
ppmbrighten - change a PPM image's Saturation and Value

<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>

<b>ppmbrighten</b>
[<b>-normalize</b>]
[<b>-saturation </b>[<b>+</b>|<b>-</b><i>saturation_percent</i>]]
[<b>-value </b>[<b>+</b>|<b>-</b><i>value_percent</i>]]
<i>ppmfile</i>

<?makeman .SH OPTION USAGE ?>
<P>All options can be abbreviated to their shortest unique prefix.

<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>

<p>This program is part of <a href="index.html">Netpbm</a>.

<p><b>ppmbrighten</b> increases or decreases the Saturation and Value
(from the HSV color space) of each pixel of a PPM image.  You specify
the per centage change for each of those parameters.

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

<p>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.

<p>Value is a measure of how much total light intensity is in the
color, relative to some specified maximum (the PPM format is also
defined in terms of a specified maximum intensity -- For the purposes
of this program, they are the same).  In particular, it is the
intensity of the most intense primary color component of the color
divided by the maximum intensity possible for a component.  Zero Value
means black.  White has full Value.

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

<p>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.

<p>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%), <b>ppmbrighten</b>
increases it to full Value instead.

<p>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%),
<b>ppmbrighten</b> increases it to full Saturation instead.

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

<p><b>ppmflash</b> does another kind of brightening.  It changes the
color of each pixel to bring it a specified per centage closer to white.
This increases the value and saturation.

<A NAME="examples"></a>
<H2>EXAMPLES</H2>
<p>To double the Value of each pixel:
<pre>
ppmbrighten -v 100
</pre>

<p>To double the Saturation and halve the value of each pixel:
<pre>
ppmbrighten -s 100 -v -50
</pre>

<A NAME="options"></a>
<H2>OPTIONS</H2>

<DL>
<DT><b>-value </b><i>value_percent</i>

<DD>This option specifies the amount, as a per centage, by which you want
to change the Value of each pixel.  It may be negative.

<DT><b>-saturation </b><i>value_percent</i>

<DD>This option specifies the amount, as a per centage, by which you want
to change the Saturation of each pixel.  It may be negative.


<DT><b>-normalize</b>

<DD>This option causes <b>ppmbrighten</b> to linearly remap the Values
of the pixels to cover the range 0 to 1.  The option name is wrong --
this operation is not normalization (it was named in error and the
name has been kept for backward compatibility).

<p><b>ppmbrighten</b> applies the brightening that you specify with 
the <b>-value</b> option <em>after</em> the remapping.

<p>Before Netpbm 10.14 (March 2003), your input must be from a seekable
file (not a pipe) to use <b>-normalize</b>.  If it isn't, the program fails
with a bogus error message.

</DL>  

<A NAME="lbAE">&nbsp;</A>
<H2>SEE ALSO</H2>

<A HREF="pgmnorm.html">pgmnorm</A>, 
<A HREF="ppmdim.html">ppmdim</A>, 
<A HREF="pamfunc.html">pamfunc</A>, 
<A HREF="ppmflash.html">ppmflash</A>, 
<A HREF="pamdepth.html">pamdepth</A>, 
<A HREF="pnmgamma.html">pnmgamma</A>, 
<A HREF="ppmhist.html">ppmhist</A>, 
<A HREF="ppm.html">ppm</A>

<A NAME="lbAF">&nbsp;</A>
<H2>AUTHOR</H2>

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

<P>
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 &quot;as is&quot; without express or
implied warranty.

<HR>
<A NAME="index">&nbsp;</A>
<H2>Table Of Contents</H2>
<UL>
<LI><A HREF="#lbAB">NAME</A>
<LI><A HREF="#lbAC">SYNOPSIS</A>
<LI><A HREF="#lbAD">DESCRIPTION</A>
<LI><A HREF="#examples">EXAMPLES</A>
<LI><A HREF="#options">OPTIONS</A>
<LI><A HREF="#lbAE">SEE ALSO</A>
<LI><A HREF="#lbAF">AUTHOR</A>
</UL>
</BODY>
</HTML>