画像解析ツール - pbmplus / netpbm
UNIX上で使うことができる、画像変換用のプログラム群である。
pbmplusは画像変換を主に行うツールであるが、この考え方は、基本となる画像フォーマットを用意しておき、それを経由して画像を変換するというものである。この基本となるフォーマットには3つある。
- PBM (Portable BitMap format)…ビットマップ画像(1点を表す情報が0または1=1ビットであるような2値画像)フォーマットを扱う場合に標準として使われるフォーマット
- PGM (Portable GrayMap format)…グレースケール画像(1点を表す情報量が255=8ビットであるような白黒階調値画像)フォーマットを扱う場合に標準として使われるフォーマット
- PPM (Portable PixelMap format)…フルカラー画像(1点を表す情報がRGBの形に分かれているカラー画像)フォーマットを扱う場合に標準として使われるフォーマット
これらのフォーマットは実は単純である。先頭に簡単なヘッダデータが付加されているだけで、あとは実際の画像データが並んでいる。
例えば、UNIX上でpbmplusを使って画像を変換する場合、次のようになる。次の例では、test.rawというRAWフォーマットの画像を、GIFフォーマットに変換する。
rawtoppm test.raw | ppmtogif > test.gif
もし、pbmplus, netpbmで対応していない画像フォーマットが存在したとしても、それをPBM/PGM/PPMのいずれかに変換するプログラムさえ用意してやれば、あとは画像相互の変換ができるようになるという仕組みである。
また、pbmplus, netpbmには、画像処理、変換を行うためのツール群も用意されている。左右反転やトリミング、ディザリングからエッジ抽出まで、かなり複雑なものも用意されている。これらは全てコマンドベースで実行されるため、出力されてきた画像を見ながら処理をするということはできないが、それでも例えば大量の画像を同じように処理したいという場合にはかなり有効である。
netpbmは、pbmplusとして流通していたパッケージを機能強化し、いくつかのユーティリティを加えたものである。最終版が出回ってから(94年3月)ずいぶん時間が経っているが、それでもまだ十分に使うことができるものである。
インストールには、通常のUNIXツールと同様のコンパイルが必要である。但し、GNUユーティリティのようなConfigureスクリプトなどはないため、システムによってはコンパイルオプションなどを設定してやる必要がある。また、大量の実行ファイルができるため、できれば実行ファイルのインストール先は/usr/local/binではなく、例えば/usr/local/bin/netpbmのように別のディレクトリにしておく方がよい。
なお、以上の通り、pbmplusやnetpbmで扱うフォーマットは全てイメージである。ドロー図形はPICTなどを扱うこともできるが、それらは全てイメージ図形として扱うことになるので注意が必要である。
また、pbmplus, netpbmで変換できるのは画像の中身だけであって、元の画像に含まれていた画像以外の情報、例えばコメントなどは変換後の画像では失われる。
情報
netpbm annoucement
netpbmのWin32環境への移植
netpbmの入手先
ftp://wuarchive.wustl.edu/graphics/graphics/packages/NetPBM/
ftp://ikaros.fysik4.kth.se/pub/netpbm/
ftp://ftp.informatik.uni-oldenburg.de/
ftp://peipa.essex.ac.uk/ipa/src/manip/
ftp://ftp.rahul.net/pub/davidsen/source/
ftp://ftp.cs.ubc.ca/ftp/archive/netpbm
ftp://ftp.x.org/contrib/