PatMax を実行するサンプルです。キャリブレーションの有無など、いくつか種類があります。サンプルは、CVL に標準で付属する cvlproj のプロジェクトで、コンパイル・実行します。
pmalign.cpp:
ピクセル座標で動作するサンプルです。画像はカメラから取り込みます。
pmalign_file.cpp:
ピクセル座標で動作するサンプルです。画像はビットマップファイルを開きます。
pmalign_linear.cpp:
グリッドドットのキャリブレーションを行って、線形変換の座標で動作するサンプルです。原点移動、座標軸の回転やスキュー、縦横のスケール変化、に対応します。レンズの湾曲歪みは対応しません。
pmalign_3rd.cpp:
グリッドドットのキャリブレーションを行って、多項式変換(3次)の座標で動作するサンプルです。線形に加えて、レンズの湾曲歪みも対応します。遠近歪みは、計算式上は、対応しません。画像変換は行わず、計算だけなので、処理は高速です。
pmalign_calib2.cpp:
チェッカーボードのキャリブレーションを行って、多項式変換(カメラモデル)の座標で動作するサンプルです。線形とレンズ歪みに加えて、遠近歪みも対応します。画像変換を伴うので、その処理時間がかかります。
pmalign_archive.cpp:
ファイルからモデルとサーチパラメータを開いて実行するサンプルです。
pmalign_synth.cpp:
形状を指定してモデル登録するサンプルです(シンセティック PatMax)。形状でモデル登録したとき、PatMax はサーチ画像に最適な粒度値(coarse、fine)を知るすべを持ちません。仮に、サーチ画像でモデル登録して、その値を手動で設定することが考えられます。登録時に開いている画像は、座標系を決めるために使っています。
製品:CVL
動作確認バージョン:7.0
言語:VC++、VS2005