マルチメディアデータの処理/ペイント系画像ツールの利用/画像形式の変換
画像ファイルにはさまざま形式がありますが,画像を扱うアプリケーションの多くは操作できる画像ファイル形式が特定されているので,画像ファイル形式を変換する必要が出てきます.XVやXPaint,GIMPなどの,画像表示,画像描画ツールでも画像ファイル形式を変換できますが,その都度ファイルを開かなければいけません.ここでは,コマンドラインで画像を変換する方法について説明します. 2.9.1 netpbmnetpbmは各種画像ファイル形式の変換を取り扱うコマンド群である.ビットマップ画像ファイルにはさまざまな形式がありますが,色によって大別すると,カラー,グレースケール,白黒ビットマップの3種に分けられます. netpbmではそれら3つについて標準的な形式を下記のように定め, pgmto*やpnmto*といったコマンドによって,他の画像ファイル形式との間で相互に形式変換を行います.なお,画像ファイル形式の詳細については1を参照してください.
netpbmの実行例netpbmの最大の特徴は,画像形式の変換がUNIXのコマンドラインで実行できる点です.例えば,GIF形式のカラー画像ファイルをXBM形式にするときは,次のようにコマンドをパイプでつなげて入力します.
% giftopnm in.gif |ppmtopgm |pgmtopbm |pbmtoxbm >out.xbm<RET> この場合のコマンド実行の流れを図2.17に示します.
LaTeXに取り込むためにEPSファイルに変換するときも,次のようなコマンドで行えます.
% giftopnm in.gif |ppmtopgm |pnmtops -noturn >out.eps<RET> pnmtopsコマンドは出力画像の向きを自動的に用紙の長い方に合わせるので,回転を防ぐために-noturnオプションを必要に応じてつけます. その他,各コマンドの詳細はオンラインマニュアルを参照してください. netpbmコマンドリスト参考として,次にCNS で使用できるnetpbmの代表的なコマンドのリストを表2.2から表2.5に示します.
2.9.2 JPEGファイル関連コマンドJPEG形式の画像ファイルをUNIXのコマンドラインから扱うためのコマンド群を次に示します.JPEG形式の詳細については1を参照してください.また,各コマンドの詳細についてはオンラインマニュアルを参照すること. 画像ファイルをJPEG形式に変換する
% cjpeg [オプション] [入力ファイル名] > [出力ファイル名]<RET> 入力ファイルとして,PPM, PGM, BMP, GIF, Targaの各画像形式が使用できます. オプション
JPEGファイルを他の画像ファイル形式に変換する% djpeg [オプション] [入力ファイル名] > [出力ファイル名]<RET> 出力する画像ファイルの形式は,オプションで指定します. オプション
2.9.3 その他の変換コマンドCNS では,netpbm以外にも画像変換を行うためのコマンドが提供されます.例えばxwd2psコマンド,gif2xwdコマンドなどです.これらのコマンドはすべてのホストで共通に提供されているものではないので注意してください. 画像変換のコマンドは,変換前と変換後の画像ファイル形式の間にtoや2をはさんだ形をとることがよくあります.これらのコマンドを利用する場合は,変換元の画像フォーマットファイルに通常用いられている拡張子を入力した後,C-dを入力してコマンドの補完機能を利用するとよいです.次の例は,ccz??,zz???,z???,u???で使用できるXWD (X Window Dump)関連のコマンドを調べたものです.
% xwd<C-d>
xwd xwdtopnm
% xwd_ xwdコマンド+xwd2psコマンドxwd2psコマンドはXWD形式のウィンドウダンプファイルをEPS形式に変換し,標準出力に書き出すコマンドです.EPS形式に変換すると,印刷したりLaTeXに取り込めます.
% xwd -frame -out infile.xwd<RET> % xwd2ps -P infile.xwd >outfile.eps<RET> % _ また次のようにパイプを利用すると,ウィンドウダンプを直接EPS形式で作成できます.
% xwd -frame |xwd2ps -P >out.eps<RET> xwdコマンド+xprコマンドX Window Systemに標準で含まれているxprコマンドを使ってPSファイルにも変換できます.
% xwd -frame -out file.xwd<RET> % xpr -psfig -portrait -device ps file.xwd -output file.ps<RET> % _
|