summary refs log tree commit diff
path: root/pamtopnm.html
blob: 340b6a5eda8093eedb4a947670a181b88942c2fc (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
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.3//EN">
<html><head><title>Pamtopnm User Manual</title></head>
<body>
<h1>pamtopnm</h1>
Updated: 02 February 2018
<br>
<a href="#index">Table Of Contents</a>

<h2>NAME</h2>
pamtopnm - convert PAM image to PBM, PGM, or PPM

<h2 id="synopsis">SYNOPSIS</h2>

<b>pamtopnm</b>

[<b>-assume</b>]

[<i>pnmfile</i>]

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

<h2 id="description">DESCRIPTION</h2>

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

<p><b>pamtopnm</b> reads a PAM image as input and produces an
equivalent PBM, PGM, or PPM (i.e. PNM) image, whichever is most
appropriate, as output.

<p><b>pamtopnm</b> assumes the PAM image represents the information
required for a PBM, PGM, or PPM image if its tuple type is
"BLACKANDWHITE", "GRAYSCALE", or "RGB"
and its depth and maxval are appropriate.  If this is not the case,
<b>pamtopnm</b> fails.

<p>However, you can override the tuple type requirement with the
<b>-assume</b> option.

<p><b>pamtopnm</b> produces a PPM image if the input PAM has depth 3 or 4; it
produces PGM or PBM if the input PAM has depth 1 or 2.  Whether it produced
PGM or PBM depends upon the maxval: PBM for 1, PGM for anything higher.  The
tuple type does not play a role in determining the output type.  You can
use Netpbm programs such as <b>pgmtopgm</b> to generate a different PNM
output, but remember that Netpbm program that expects PGM input will take
PBM and so on.

<p>Note that it's possible for an image which is formally color to in fact
contain only shades of gray and for an image which is formally grayscale to
contain only black and white.  This program pays no attention to that; an RGB
input image produces a PPM output image even if all the pixels are gray.  But
you can use <b>ppmtopgm</b> to convert a PPM that you know is grayscale to the
equivalent PGM, and you can use <b>pamthreshold</b> to convert a PGM image you
know is black and white to a black and white PAM image and then
use <b>pamtopnm</b> to convert that to PBM.
  
<p>As with any Netpbm program that reads PAM images, <b>pamtopnm</b>
also reads PNM images as if they were PAM.  In that case,
<b>pamtopnm</b>'s functions reduces to simply copying the input to the
output.  But this can be useful in a program that doesn't know whether
its input is PAM or PNM but needs to feed it to a program that only
recognizes PNM.

<h2 id="options">OPTIONS</h2>

<p>In addition to the options common to all programs based on libnetpbm
(most notably <b>-quiet</b>, see <a href="index.html#commonoptions">
Common Options</a>), <b>pamtopnm</b> recognizes the following
command line option:

<dl compact>
<dt><b>-assume</b>

<dd>When you specify <b>-assume</b>, you tell <b>pamtopnm</b> that you
personally vouch for the fact that the tuples contain the same data as
belongs in the channels of a PBM, PGM, or PPM file.  The depth must
still conform, though, so to truly force a conversion, you may have to
run the input through <b>pamchannel</b> first.  But be careful with
<b>-assume</b>.  When you -assume, you make an -ass of u and me.

</dl>

<h2 id="seealso">SEE ALSO</h2>

<b><a href="pbmtopgm.html">pbmtopgm</a></b>,
<b><a href="pamditherbw.html">pamditherbw</a></b>,
<b><a href="pgmtoppm.html">pgmtoppm</a></b>,
<b><a href="ppmtopgm.html">ppmtopgm</a></b>,
<b><a href="pamthreshold.html">pamthreshold</a></b>,
<b><a href="pam.html">pam</a></b>,
<b><a href="pnm.html">pnm</a></b>,
<b><a href="pbm.html">pbm</a></b>,
<b><a href="pgm.html">pgm</a></b>,
<b><a href="ppm.html">ppm</a></b>


<h2 id="history">HISTORY</h2>

<p><b>pamtopnm</b> was new, along with the PAM format, in Netpbm
9.7 (August 2000).

<hr>
<h2 id="index">Table Of Contents</h2>
<ul>
<li><a href="#synopsis">SYNOPSIS</a>
<li><a href="#description">DESCRIPTION</a>
<li><a href="#options">OPTIONS</a>
<li><a href="#seealso">SEE ALSO</a>
<li><a href="#history">HISTORY</a>
</ul>
</body>
</html>