第8回 アプリケーションのプログラミング(6月3日)
今日の課題
- pgmcat を自分の設計書通りにコーディングする
■ サンプル画像
■ ダウンロードしたファイルの展開方法
以下を実行すると、ファイルが展開される。
tar -zxf easy.tgz
難しい画像集では、画像ファイルのヘッダ部分を見ると、コメントが書かれていることと、4行にわたってヘッダが書かれていることに注意せよ。
emacs movie_1998_01.pgm
■ 任意の画像を扱いたい人へ
以下の手順で pgm ファイルを作ることができます。
- display コマンドで画像ファイル(jpgなど)を表示する。
- 左クリックでメニューを表示する。
- File をクリックする。
- Save をクリックする。
- Format をクリックする。
- pgm をクリックする。
- Save をクリックする。
pgmファイルのヘッダ部分が少し異なっているので、ヘッダの読み込みルーチンを修正するか、手で画像ファイルのヘッダを修正する。
■ カラー画像をやってみたい人へ
- 上記と同様の手順を行うが、Format 選択の際、「ppm」をクリックする。
- ファイルのヘッダが「P6」になっていること、輝度データが、(0,0)のR、G、B、の輝度値、(1,0)のR、G、Bの輝度値、…という順になっていることに注意してファイルをロードする。
- このとき、バッファは、unsigned char buff[縦サイズ x 横サイズ x 3]だけ準備すること。
- (x,y)の位置座標の輝度値は、次のようになっている。
- R = buff[(x + y * sizex) * 3]
- G = buff[(x + y * sizex) * 3 + 1]
- B = buff[(x + y * sizex) * 3 + 2]
□ 宿題
前回の指示のとおり、6月10日までにレポートを作成し、提出すること。
このレポートは、再提出・遅れての提出は一切受け付けません。
2004.5.24 by tokuhisa