設計の出来具合 | コーディングの出来具合 | ||
---|---|---|---|
完成した人 | 55%(30人/81人) | 完成した人 | 16%(13人/81人) |
ほぼ完成した人 | 12%(10人/81人) | ||
未完成の人 | 31%(25人/81人) | 未完の人 | 32%(26人/81人) |
未提出の人 | 32%(26人/81人) |
ファイルリストにあげられた画像ファイルを結合して1つの画像ファイルを生成すること、また、特定条件を満たすファイルをファイルリストから選出して別のファイルリストを作ること。前者を本体プログラム imgcat と呼び、後者を支援プログラムと呼ぶ。全体を imgcats というパッケージ名とする。
UNIX のコマンドライン上で使用する。
画像ファイルは、グレイスケールの pgm ファイル、または、カラーの ppm ファイルとする(いずれもピクセル値はバイナリーとする)。
本体プログラムや支援プログラムは、それぞれが独立した UNIX コマンドとして実行できるものとする。特に支援プログラムは、画像の選択条件ごとに別の名前で存在する。たとえば、ic_light_filter は、明るさを条件としてファイルリストのフィルタリングを行い、ic_name_filter は、ファイル名を条件としてフィルタリングを行う。
本体プログラムと支援プログラムは、ファイルリストを通じてか、あるいは、UNIX のコマンドライン上のパイプなどを使用して、動作する。使用例を以下に示す。
% ./imgcat < imglistfile > image_all.pgm
imglistfile は、画像ファイル名を1行ごとに記載したファイルである。imgcat は、ファイルリストの画像ファイルをすべて結合し image_all.pgm に出力する。
% cat imglistfile | ./ic_light_filter 100 | ./imgcat > image_all.ppm
ic_light_filter は、imglistfile の中から平均輝度が 100 以上の画像ファイルの名称を出力する。ここで、出力結果は、imgcat への入力となる。imgcat はファイル名リストを入力し、結合した結果を出力する。ここでは標準出力に出力しているので、image_all.ppm に保存される。
% cat imglistfile | ./ic_light_filter 100 | ./ic_name_filter pika | ./imgcat > image_all.ppm
輝度による条件の他に、ファイル名に「pika」が有るかどうかによりファイルを選択し、その結果に対して画像を結合する。
プログラミング言語は、C言語を用いる。
上述の要求使用を満たすように、最終課題プログラムのレポート、および、プログラムを作成し提出すること。
レポートの書式は以下のとおりとする。
1. 内部設計書 1.1 プログラム構造設計 モジュールの関係図 1.2 プログラム内設計 関数の名称、入力条件、出力条件 1.3 物理データ設計 データ構造やファイルの構造 2. 操作説明 2.1 パッケージの機能説明 パッケージ全体にどんな機能があるのかを紹介 2.2 操作コマンドの説明 どんな入力をコマンドラインから入力すれば実行できるのかを説明 動作例も付随させること。 3. 考察 3.1 完成度の自己評価 仕様書通りに完全に動作A,結合した画像が生成できるが、ある場合は生成できないB,結合した画像が全く生成できないC B,Cの場合、問題点を説明する。 3.2 〈その他、節のタイトルは自由〉 - - - 3.3 〈その他、節のタイトルは自由〉 - - - プログラム上の工夫した点、自分が以前作った pgmcat より進歩した点 などを自由にアピール。アピール内容は箇条書きし、項目数がわかるように書く。 4. 感想 〈採点外なので、自由に書いて下さい〉 付録1 プログラム一式(Makefile、ヘッダファイル、ソースプログラム) 付録2 6月10日に提出した pgmcat のレポートをそのまま添付すること。 (提出していない人は添付しない)
プログラムの作成については、必須機能の実現とオプション機能の実現の数により評価する。また、レポートには、必須機能についての内部設計、操作説明、考察が記載されていること。もちろん、オプション機能が実現できている場合には、その機能についても記載すること。
オプション機能は、順序は問わず実現できそうなものからチャレンジして良い。また、独自の機能を追加して良い。
必須機能(25点中、10点)
オプション機能(25点中、1つ3点)
(コメントファイルの例) mov01.ppm ピカチュウ、喜び mov02.ppm ピカチュウ、悲しみ mov03.ppm ピチュウ、喜び mov04.ppm ピチュウ、ミューツー、怒り car1.ppm ホンダ、NSX F1a.ppm BARホンダ、佐藤琢磨 F1b.ppm BARホンダ、Jenson Button
2004.6.28 by tokuhisa