PPMとPGMの比較
PGMは画素ごとにグレースケールの値を一つ保存します。グレースケール処理やマスクに適しています。カラー画像の書き出しでは輝度への変換方法を選ぶ必要があり、色情報は失われます。

PPM画像の変換先の形式を選択します。
印の付いた変換では、レイヤーの統合、ラスタライズ、トーンマッピング、アニメーションの消失などが生じる場合があります。
PPMに変換する元の形式を選択します。
印の付いた変換では、レイヤーの統合、ラスタライズ、トーンマッピング、アニメーションの消失などが生じる場合があります。
Portable Pixmap
PPMはNetpbmの単純なRGBラスター交換形式です。各画素に赤、緑、青の値と、宣言された最大値を持ちます。短いヘッダーが画像サイズと精度を定義し、複雑な画像コンテナーではなく、色の値に直接アクセスしたいプログラムに便利です。
P3は数値をテキストで保存し、P6はバイナリで保存します。バイナリの成分値はmaxvalが256未満なら1バイト、それ以外は最大65535まで2バイトで、上位バイトを先に置きます。PPMにはアルファや圧縮がありません。仕様は非線形RGBを記述しており、線形やsRGBなどの別の規則を使う場合は、処理系間で明示的に合意する必要があります。
PPMはカラー画像処理、デバッグ、単純な処理工程間の交換に使ってください。画素を確認しやすい反面、ファイルが大きくなり、豊富なメタデータもありません。科学データや描画結果の値を取り込む前に、maxvalと色の解釈を確認してください。線形データを表示用に符号化された色として扱うと、結果が変わります。
Netpbmはこれらの画素値を非圧縮で保存します。ただし、保存前の減色、しきい値処理、maxvalの変更では情報が失われる場合があります。テキストとバイナリの表現は構造を変えますが、画像の意味は変えません。
この形式は、記録されたPbmplus/Netpbmの発展に属します。その歴史は、最初のビットマップの考え方、後のチャンネルモデル、ライブラリー開発を区別しています。
形式ごとに利点と制約が異なります。画像と作業の目的に合わせて選択してください。
PGMは画素ごとにグレースケールの値を一つ保存します。グレースケール処理やマスクに適しています。カラー画像の書き出しでは輝度への変換方法を選ぶ必要があり、色情報は失われます。
PBMは白と黒だけを保存し、バイナリ形式では画素あたり1ビットを使います。2値のマスクや線画に適しています。階調のある画像にはしきい値処理やディザリングが必要で、連続したグレーの階調は保持できません。
PAMはNetpbmを拡張し、RGB_ALPHAやGRAYSCALE_ALPHAなどのタプル型と成分数を明示します。チャンネルを意識した処理に適していますが、受け取り側のツールとタプルの意味を共有する必要があります。データは非圧縮のままです。
PNGはデコード後の画素を可逆圧縮で保持し、アルファチャンネルも格納できます。透過画像やスクリーンショットに適していますが、編集可能な文書のレイヤーやカメラのセンサーデータは保持できず、写真ではファイルが大きくなることがあります。
PPMはNetpbmの単純なRGBラスター交換形式です。各画素に赤、緑、青の値と、宣言された最大値を持ちます。短いヘッダーが画像サイズと精度を定義し、複雑な画像コンテナーではなく、色の値に直接アクセスしたいプログラムに便利です。
Netpbmはこれらの画素値を非圧縮で保存します。ただし、保存前の減色、しきい値処理、maxvalの変更では情報が失われる場合があります。テキストとバイナリの表現は構造を変えますが、画像の意味は変えません。
PPMのRGB画素値を、テキストまたはバイナリで表す方式です。表現を切り替えてもアルファは加わらず、画像も圧縮されません。デコーダーはmaxvalと、それに対応する成分値の幅を解釈する必要があります。
マジックナンバー、画素値の精度、タプルやチャンネルの意味を確認してください。仕様がより広い範囲を許していても、単純な読み取りツールの多くは、一枚のバイナリ画像と8ビット画素値にしか対応しません。
描画済みの出力を作る際は、maxvalと色の解釈を保持してください。グレースケールや2値の変換先は意図的に情報を削除します。アルファにはアルファ付きのタプルか、別のマスクが必要です。任意のコメントは引き継がれない場合があります。
PPMはカラー画像処理、デバッグ、単純な処理工程間の交換に使ってください。画素を確認しやすい反面、ファイルが大きくなり、豊富なメタデータもありません。科学データや描画結果の値を取り込む前に、maxvalと色の解釈を確認してください。線形データを表示用に符号化された色として扱うと、結果が変わります。