logo
 
cpacer

3.10 画像形式の変換

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

3.10.1 netpbm

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

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>
% _

この場合のコマンド実行の流れを図[*]に示します.

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

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

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

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

その他,各コマンドの詳細はオンラインマニュアルを参照してください.

netpbmコマンドリスト

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


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


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


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


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

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

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

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

% cjpeg [オプション] [入力ファイル名] > [出力ファイル名] <RET>

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

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

オプション

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

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

% djpeg [オプション] [入力ファイル名] > [出力ファイル名] <RET>

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

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

オプション

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

3.10.3 その他の変換コマンド

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

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

% xwd
xwd     xwdtopnm
% xwd_

xwdコマンド+xwd2psコマンド

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

% xwd -frame -out infile.xwd <RET>
% xwd2ps -P infile.xwd > outfile.eps <RET>
% _

xwd2psコマンドには,さまざまなオプションがありますが,画像の縦 横比に合わせて出力が横長(landscape)になるように回転されていることがあ るため,常に-Pオプションをつけて縦長(portrait)になるよう にします.

また次のようにパイプを利用すると,ウィンドウダンプを直接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オプションによって,画像を適切な位置に配置します.