画像表示および印字方法

 

1) 画像ファイルの表示

画像ファイルを見るために、SUNにはxvがインストールされている。このxvは、Xウィンドウに画像を表示します。xvで処理可能なファイルは、GIF、JPEGなど様々な形式が使えるが、演習にはpgm形式(白黒)またはppm形式(カラー)を使用する。

 

pgmファイルの内容は

 

P5 リターン

X方向の長さのアスキー表示 スペース Y方向の長さのアスキー表示 リターン

255 リターン

画像データ(1ピクセル 1バイトで格納)

 

なお、上の場合、最大輝度を255とする。xvは/usr/local/bin にあり、次のように使用すると、画像が表示される。

 

xv ファイル名

 

2) プリント方法

 

xvで、現在表示している画像をPostscriptでセーブすることは、xvの機能として備えられている。xvでマウスの右ボタンをクリックして現れるxv controlのウィンドウの"SAVE"でセーブするファイル形式を指定することができる。Postscriptファイルをレーザープリンタでプリントするには、次のようにタイプする。

lpr ポストスクリプトファイル名

 

3)画像ファイルの作成

例えば、500x400 のサイズの配列imageに(これに相当する 1次元配列の方がいい)、輝度(0から255の値)を書き込む。 今回の課題では、中間調は必要ないので、最初背景として、全ての要素を0にセットしておき、表示したい点に255を書き込む方法とする。

配列に格納された画像データを、pgm形式のファイルでセーブするwrite_pgm()と、pgm 形式のファイルから画像データを配列に読みこむread_pgm()およびその使用例(画像のピクセルの周囲25ピクセルの移動平均をとるフィルターの例)のプログラムを参考までにて添付する。 ( http://pewee.is.s.u-tokyo.ac.jp/~sinagawa/io.c のファイルを利用して下さい.) なお、

write_pgm()の引数は 画像データの配列へのポインタ、画像の幅、画像の高さ、5 である。

 

P5

24 7

15

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 3 3 3 3 0 0 7 7 7 7 0 0 11 11 11 11 0 0 15 15 15 15 0

0 3 0 0 0 0 0 7 0 0 0 0 0 11 0 0 0 0 0 15 0 0 15 0