画像形式

PGM

Portable Graymap:画像処理工程向けの単純な非圧縮ラスター画素値です。

形式を詳しく見る

PGMから変換

PGM画像の変換先の形式を選択します。

すべての変換(22)

印の付いた変換では、レイヤーの統合、ラスタライズ、トーンマッピング、アニメーションの消失などが生じる場合があります。

PGMに変換

PGMに変換する元の形式を選択します。

すべての変換(37)

印の付いた変換では、レイヤーの統合、ラスタライズ、トーンマッピング、アニメーションの消失などが生じる場合があります。

PGMについて

Portable Graymap

PGMはNetpbmの単純なグレースケールラスター形式です。RGB成分の代わりに、画素ごとに強度の値を一つ保存します。ヘッダーは幅、高さ、画素値の最大値を宣言します。パレットや汎用のカラーコンテナーなしで、小さなプログラム間でグレースケール画像を交換できます。

P2は画素値をテキストで表し、P5はmaxvalに応じて1または2バイトのバイナリ値を使い、最大65535まで扱えます。データは非圧縮で、独立したアルファチャンネルはありません。マニュアルには不透明度マスクの種類も記述されています。同じ保存方法でも、グレースケール画像とマスクでは意味が異なります。

PGMはグレースケール処理や、明示的な単一チャンネルのマスクに使ってください。画素値が強度、不透明度、アプリケーションデータのどれを表すか記録してください。カラーからPGMへの変換は色情報を削除するため、グレースケールへの変換方法を選ぶ必要があります。後で画素値の精度を上げても、失われた色や階調は復元できません。

主な特性

圧縮
非圧縮
透明度
非対応
アニメーション
非対応
拡張子
.pgm
MIMEタイプ
image/x-portable-graymap · Netpbmで慣例的に使われる未登録タイプ
メタデータ
ヘッダー, コメント
適した用途
グレースケール画像とマスク
色深度
maxvalは最大65535

Netpbmはこれらの画素値を非圧縮で保存します。ただし、保存前の減色、しきい値処理、maxvalの変更では情報が失われる場合があります。テキストとバイナリの表現は構造を変えますが、画像の意味は変えません。

PGMの歴史

この形式は、記録されたPbmplus/Netpbmの発展に属します。その歴史は、最初のビットマップの考え方、後のチャンネルモデル、ライブラリー開発を区別しています。

  1. 1980年代

    単純な交換用の表現

    Jef Poskanzerは、テキストのみのメールでも扱えるほど単純な表現でビットマップを交換するためにPBMを考案しました。互換性のない画像ツール間で、安定してデータを交換することを目的としていました。

  2. 1988

    Pbmplusとカラー形式

    Poskanzerは1988年にPbmplusを配布し、その年の終わりまでにPGMとPPMを追加しました。元のビットマップ交換を、グレースケールとRGB画像へ拡張したツール群です。

  3. 1993

    PbmplusからNetpbmへ

    Netpbmは保守が止まったPbmplusの新しいリリースとして始まり、ネットワークを通じて寄せられた修正と改善を取り込みました。この形式群は、画像ツールをつなぐ役割を持ち続けています。

  4. 2000-04

    2バイトの画素値

    保守されているNetpbmの配布版は、PGMとPPMについて、maxvalが最大65535の2バイト画素値と、そのバイト順を記述しています。これにより、以前の拡張にあった曖昧さが解消されました。

PGMとほかの形式の比較

形式ごとに利点と制約が異なります。画像と作業の目的に合わせて選択してください。

PPM

PGMとPPMの比較

PPMは画素ごとにRGBの3成分を保存し、圧縮やアルファチャンネルはありません。画像処理の工程で確認しやすい反面、ファイルの小ささや豊富なメタデータは得られません。画素値を直接交換することを優先する場合に選んでください。

PBM

PGMとPBMの比較

PBMは白と黒だけを保存し、バイナリ形式では画素あたり1ビットを使います。2値のマスクや線画に適しています。階調のある画像にはしきい値処理やディザリングが必要で、連続したグレーの階調は保持できません。

PAM

PGMとPAMの比較

PAMはNetpbmを拡張し、RGB_ALPHAやGRAYSCALE_ALPHAなどのタプル型と成分数を明示します。チャンネルを意識した処理に適していますが、受け取り側のツールとタプルの意味を共有する必要があります。データは非圧縮のままです。

PNG

PGMとPNGの比較

PNGはデコード後の画素を可逆圧縮で保持し、アルファチャンネルも格納できます。透過画像やスクリーンショットに適していますが、編集可能な文書のレイヤーやカメラのセンサーデータは保持できず、写真ではファイルが大きくなることがあります。

PGMについてのよくある質問

この形式には何が保存されますか?

PGMはNetpbmの単純なグレースケールラスター形式です。RGB成分の代わりに、画素ごとに強度の値を一つ保存します。ヘッダーは幅、高さ、画素値の最大値を宣言します。パレットや汎用のカラーコンテナーなしで、小さなプログラム間でグレースケール画像を交換できます。

圧縮は画質にどう影響しますか?

Netpbmはこれらの画素値を非圧縮で保存します。ただし、保存前の減色、しきい値処理、maxvalの変更では情報が失われる場合があります。テキストとバイナリの表現は構造を変えますが、画像の意味は変えません。

PGMのマスクはアルファチャンネルですか?

取り決めにより不透明度マスクとして解釈できますが、ファイルに含まれるのは一つのチャンネルだけです。PAMのGRAYSCALE_ALPHAのように、グレースケール画素と独立したアルファチャンネルを組み合わせるものではありません。

ファイルを開く前に何を確認すればよいですか?

マジックナンバー、画素値の精度、タプルやチャンネルの意味を確認してください。仕様がより広い範囲を許していても、単純な読み取りツールの多くは、一枚のバイナリ画像と8ビット画素値にしか対応しません。

別の形式に書き出すと何が変わりますか?

描画済みの出力を作る際は、maxvalと色の解釈を保持してください。グレースケールや2値の変換先は意図的に情報を削除します。アルファにはアルファ付きのタプルか、別のマスクが必要です。任意のコメントは引き継がれない場合があります。

この形式はどのような用途に適していますか?

PGMはグレースケール処理や、明示的な単一チャンネルのマスクに使ってください。画素値が強度、不透明度、アプリケーションデータのどれを表すか記録してください。カラーからPGMへの変換は色情報を削除するため、グレースケールへの変換方法を選ぶ必要があります。後で画素値の精度を上げても、失われた色や階調は復元できません。

参考資料