next up previous contents
Next: 3. ドロー系画像ツールの利用 Up: 2. ペイント系画像ツールの利用 Previous: 2.8 画像の加工



2.9 画像形式の変換

画像ファイルにはさまざま形式があるが,画像を扱うツールの多くは操作できる画像ファイル形式が特定されているので,画像ファイル形式を変換する必要が出てくる.XVやXPaint,GIMPなどの,画像表示,画像描画ツールでも画像ファイル形式を変換できるが,その都度ファイルを開かなくてはいけない.ここでは,コマンドラインで画像を変換する方法について説明する.


2.9.1 netpbm

netpbmは各種画像ファイル形式の変換を取り扱うコマンド群である.ビットマップ画像ファイルにはさまざまな形式があるが,色によって大別すると,カラー,グレースケール,白黒ビットマップの3種に分けられる. netpbmではそれら3つについて標準的な形式を下記のように定め, pgmto*pnmto*といったコマンドによって,他の画像ファイル形式との間で相互に形式変換を行う.なお,画像ファイル形式の詳細については第VII部 1を参照すること.


* PPM (Portable PixMap) カラー画像形式
* PGM (Portable GrayMap) グレースケール形式
* PBM (Portable BitMap) 白黒ビットマップ形式
* PNM (Portable aNyMap) 上記3種を包括する総合ファイル形式

netpbmの実行例

netpbmの最大の特徴は,画像形式の変換がUNIXのコマンドラインで実行できる点である.例えば,GIF形式のカラー画像ファイルをXBM形式にするときは,次のようにコマンドをパイプでつなげて入力する.

% giftopnm in.gif |ppmtopgm |pgmtopbm |pbmtoxbm >out.xbm<RET>

この場合のコマンド実行の流れを図2.17に示す.


図 2.17:netpbmを用いた画像変換の流れ
図 2.17:netpbmを用いた画像変換の流れ

に取り込むためにEPSファイルに変換するときも,次のようなコマンドで行える.

% giftopnm in.gif |ppmtopgm |pnmtops -noturn >out.eps<RET>

pnmtopsコマンドは出力画像の向きを自動的に用紙の長い方に合わせるので,回転を防ぐために-noturnオプションを必要に応じてつける.

その他,各コマンドの詳細はオンラインマニュアルで参照すること.

netpbmコマンドリスト

参考として,次にCNSで使用できるnetpbmの代表的なコマンドのリストを表2.2から表2.5に示す.


表 2.2: PPMカラーフォーマット
変換媒体 PPMへの変換 PPMから変換
PGM pgmtoppm ppmtopgm
GIF giftoppm ppmtogif
XPM xpmtoppm ppmtoxpm




表 2.3: PGMグレースケールフォーマット
変換媒体 PGMへの変換 PGMから変換
PPM ppmtopgm pgmtoppm
PBM pbmtopgm pgmtopbm
EPSI psidtopgm  



表 2.4: PBMモノクロフォーマット
変換媒体 PBMへの変換 PBMから変換
PGM pgmtopbm pbmtopgm
XBM xbmtopbm pbmtoxbm
ASCII文字によるグラフィックス   pbmtoascii




表 2.5: PNM総合フォーマット
変換媒体 PNMへの変換 PNMから変換
PPM,PGM,PBM anytopnm  
TIFF tifftopnm pnmtotiff
XWD (X Window Dump) xwdtopnm pnmtoxwd
PostScript pnmtops  


2.9.2 JPEGファイル関連コマンド

JPEG形式の画像ファイルをUNIXのコマンドラインから扱うためのコマンド群を次に示す.JPEG形式の詳細については第VII部 1を参照すること.また,各コマンドの詳細についてはオンラインマニュアルを参照すること.

画像ファイルをJPEG形式に変換する

% cjpeg [オプション] [入力ファイル名] > [出力ファイル名]<RET>
cjpegコマンドは,[入力ファイル名]で指定された画像ファイルをJPEGファイルに変換して標準出力に書き出す.通常は上の書式に示すように,リダイレクションを使用して出力ファイル名を指定する.

入力ファイルとして,PPM, PGM, BMP, GIF, Targaの各画像形式が使用できる.

オプション

-quality N 作成するJPEGファイルの画質をN=0〜100までの整数値で指定する.このオプションを指定しなかったときは, -quality 75が自動的に指定される.
-grayscale グレースケールのJPEGファイルを出力する.

JPEGファイルを他の画像ファイル形式に変換する

% djpeg [オプション] [入力ファイル名] > [出力ファイル名]<RET>
djpegコマンドは,[入力ファイル名]で指定されたJPEGファイルを他の画像ファイル形式に変換して標準出力に書き出す.通常は上の書式に示すように,リダイレクションを使用して出力ファイル名を指定する.

出力する画像ファイルの形式は,オプションで指定する.

オプション

-bmp BMP形式のファイルを出力する.
-gif GIF形式のファイルを出力する.
-pnm PPMまたはPGM形式のファイルを出力する.入力ファイルに合わせて適当なファイル形式が自動的に指定される.
-targa Targa形式のファイルを出力する.
-grayscale グレースケールでファイルを出力する. -pnmと同時に指定することで,カラーJPEGファイルをPGM形式に変換できる.

2.9.3 その他の変換コマンド

CNSでは,netpbm以外にも画像変換を行うためのコマンドが提供されている.例えばxwd2psコマンド,gif2xwdコマンドなどである.これらのコマンドはすべてのホストで共通に提供されているものではないので注意すること.

画像変換のコマンドは,変換前と変換後の画像ファイル形式の間にto2をはさんだ形をとることが多い.これらのコマンドを利用する場合は,変換元の画像フォーマットファイルに通常用いられている拡張子を入力した後,C-dを入力してコマンドの補完機能を利用するとよい.次の例は,ccz??,zz???,z???,u???で使用できるXWD (X Window Dump)関連のコマンドを調べたものである.

% xwd<C-d>
xwd      xwd2ps   xwdtopbm xwdtopnm xwdtoppm
% xwd_

xwdコマンド+xwd2psコマンド

xwd2psコマンドはXWD形式のウィンドウダンプファイルをEPS形式に変換し,標準出力に書き出すコマンドである.EPS形式に変換すると,印刷したりに取り込める.

% xwd -frame -out infile.xwd<RET>
% xwd2ps -P infile.xwd >outfile.eps<RET>
% _
xwd2psコマンドには,さまざまなオプションがあるが,画像の縦横比に合わせて出力が横長(landscape)になるように回転されていることがあるため,常に-Pオプションをつけて縦長(port
rait)になるようにする.

また次のようにパイプを利用すると,ウィンドウダンプを直接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>
% _
-portraitオプションをつけるのはxwd2psコマンドのときと同じで,出力結果の画像が回転するのを防ぐためである.-portraitオプションによって,画像を適切な位置に配置する.

next up previous contents
Next: 3. ドロー系画像ツールの利用 Up: 2. ペイント系画像ツールの利用 Previous: 2.8 画像の加工