PNM(portable anymap ファイルフォーマット)はpbm(portable bitmap), pgm(portable graymap), ppm(portable pixmap)の各画像フォーマットを総称した名前です。 PNMのファイル形式はテキスト/バイナリ形式を選択することにより、メモ帳等でも簡単に編集することが可能です。
その形式には以下の6種類があります。
P1 (PBM) | 2値画像 | テキスト形式 |
P2 (PGM) | 濃淡画像 | テキスト形式 |
P3 (PPM) | カラー画像 | テキスト形式 |
P4 (PBM) | 2値画像 | バイナリ形式 |
P5 (PGM) | 濃淡画像 | バイナリ形式 |
P6 (PPM) | カラー画像 | バイナリ形式 |
P4?P6の形式では画像のヘッダ部分を除いた画像データ部をバイナリ形式で出力しなければならないので、メモ帳等での編集は無理ですが、P1?P3の形式はテキスト形式で画像の輝度・色情報(R,G,B)を書き込めますので、メモ帳等で簡単に編集することが可能です。
ファイルフォーマットは以下のようなものです。
Pn | → 画像識別子: P1?P6 5 5 +--- ヘッダ部 → 横幅 縦幅 5 | → 最大輝度値(PBMでは必要ない) 0 1 0 1 0 | 0 1 0 1 0 | 0 1 0 1 0 +---画像データ部(PBM,PGMの場合) 0 1 0 1 0 | (PPMでは R,G,B の順に記述) 0 1 0 1 0 | |
PBM形式 |
P1 10 10 0 1 0 1 0 0 1 0 1 0 0 1 0 1 0 0 1 0 1 0 0 1 0 1 0 0 1 0 1 0 0 1 0 1 0 0 1 0 1 0 0 1 0 1 0 0 1 0 1 0 0 1 0 1 0 0 1 0 1 0 0 1 0 1 0 0 1 0 1 0 0 1 0 1 0 0 1 0 1 0 0 1 0 1 0 0 1 0 1 0 0 1 0 1 0 0 1 0 1 0 |
|
PGM形式 |
P2 11 11 255 0 25 50 75 100 125 150 175 200 225 255 0 25 50 75 100 125 150 175 200 225 255 0 25 50 75 100 125 150 175 200 225 255 0 25 50 75 100 125 150 175 200 225 255 0 25 50 75 100 125 150 175 200 225 255 0 25 50 75 100 125 150 175 200 225 255 0 25 50 75 100 125 150 175 200 225 255 0 25 50 75 100 125 150 175 200 225 255 0 25 50 75 100 125 150 175 200 225 255 0 25 50 75 100 125 150 175 200 225 255 0 25 50 75 100 125 150 175 200 225 255 |
|
PGM形式 |
P3 9 9 255 255 0 0 0 255 0 0 0 255 255 0 0 0 255 0 0 0 255 255 0 0 0 255 0 0 0 255 255 0 0 0 255 0 0 0 255 255 0 0 0 255 0 0 0 255 255 0 0 0 255 0 0 0 255 255 0 0 0 255 0 0 0 255 255 0 0 0 255 0 0 0 255 255 0 0 0 255 0 0 0 255 255 0 0 0 255 0 0 0 255 255 0 0 0 255 0 0 0 255 255 0 0 0 255 0 0 0 255 255 0 0 0 255 0 0 0 255 255 0 0 0 255 0 0 0 255 255 0 0 0 255 0 0 0 255 255 0 0 0 255 0 0 0 255 255 0 0 0 255 0 0 0 255 255 0 0 0 255 0 0 0 255 255 0 0 0 255 0 0 0 255 255 0 0 0 255 0 0 0 255 255 0 0 0 255 0 0 0 255 255 0 0 0 255 0 0 0 255 255 0 0 0 255 0 0 0 255 255 0 0 0 255 0 0 0 255 255 0 0 0 255 0 0 0 255 255 0 0 0 255 0 0 0 255 255 0 0 0 255 0 0 0 255 |
画像の読み込みには特別なソフトが必要になりますが、UNIXではほとんどのビューワでこれらの形式の画像が読み込めるのに対し、Windowsでは標準のビューワには対応していません。
Windows上でこれらの画像形式を表示するには Susie というソフトがお勧めです。
Susieはプラグインの追加により様々な画像形式にも対応するというソフトで、PPM/PGM/PBMの画像形式もプラグインの追加により表示が可能となります。
C言語による画像書き出しの例を以下に示します。
ソースのダウンロード:
PGMファイル作成例[pnm_gray.c] | 出力画像(pnm_p5.pgm) | |
|
PPMファイル作成例[pnm_color.c] | 出力画像(pnm_p6.ppm) | |
|
PNM読取&画像反転の例[pnm_read.c] | 出力画像(pnm_rev.pnm) | |
|