ダウンロードページからプログラムと画像をダウンロードします。画像はPNG形式とPPM形式の2種類があります。 libpngが(ひょっとするとzlibも)インストールされている場合はPNG形式をお薦めします。
Linux版はtar.gz形式なので、プログラムは
# tar xfz alcon2008_@@@.tar.gz
で展開します(@@@はversion)。画像は、PNG形式の場合は
# tar xfz alcon2008_img_png.tar.gz
で、PPM形式の場合は
# tar xfz alcon2008_img_ppm.tar.gz
で展開します。 次の「とりあえず実行してみる」の項では、プログラムと画像を同じディレクトリで展開したとして説明します。
削除する場合はディレクトリを下記のコマンドで削除してください。
# rm -r alcon2008_@@@ # rm -r image
以下、Visual Studio .netを利用する場合です。 cygwinを利用する場合は上記のLinuxの場合の場合を参照してください。
ダウンロードページからプログラムと画像をダウンロードします。画像はPNG形式とPPM形式の2種類がありますが、Windows版のプログラムには libpngとzlibが同梱されていますので、PNG形式をダウンロードしてください。zip圧縮のものをお薦めします。そして、プログラムと画像をダウンロードして、同じ場所に展開してください。
削除する場合はフォルダをごみ箱に捨ててください。
# cd alcon2008_@@@
# make
# ./alcon2008 ../image/LV1/1
"../image/LV1/1"というのは画像のあるディレクトリへのパスで、この場合はLevel 1の1番目の画像を表しています。 画像のあるディレクトリをコマンドラインの引数で指定しない場合は、実行時に居るディレクトリに画像があるとみなします。指定したディレクトリに画像が無い場合は、画像ファイルが開けないというエラーが出て終了します。
配布時の状態では"relative mag = 1.378585"が表示された後、しばらく時間がかかりますが、異常ではありません。
「No such file: ../image/LV1/1/test.png」のように表示された場合は画像を展開した場所が違うことが考えられますので、画像の位置を確認してください。
配布時の状態では"relative mag = 1.378585"と"relative mag = 1.792160"が表示された後、しばらく時間がかかりますが、異常ではありません。
「No such file: ../image/LV1/1/test.png」のように表示された場合は画像を展開した場所が違うことが考えられますので、画像の位置を確認してください。
main関数から、count.cというファイルに含まれる
struct answer count(struct image *test_img, struct image *template_img, struct image *mask_img);
が呼ばれます。関数countや、count.cの他の関数などを自由に変更して、早くて正確に計数するアルゴリズムを実装してください。サンプルプログラムでは、画像を扱うためにimageという構造体を定義して使っています。このプログラムでの画像の扱い方を「画像の扱い方(構造体image)」の項で説明しますので、参考にしてください。
使用する画像の形式はPNGまたはPPMのいずれかです。配布時はPNG形式を使う設定になっています。これを変更するには、Makefileの1行目の
# for PNG IMG_FORMAT = -DUSE_PNG # for PPM # IMG_FORMAT = -DUSE_PNM
を
# for PNG # IMG_FORMAT = -DUSE_PNG # for PPM IMG_FORMAT = -DUSE_PNM
に変更してください。そして、下記のコマンドで全てのファイルをコンパイルし直します。
# make realclean # make
"../../image/LV1/1"というのは画像のあるフォルダへのパスで、この場合はLevel 1の1番目の画像を表しています。画像のあるフォルダをコマンドラインの引数で指定しない場合は、実行時に居るフォルダに画像があるとみなします。指定したフォルダに画像が無い場合は、画像ファイルが開けないというエラーが出て終了します。