PatMax を実行するサンプル(キャリブレーションあり)

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

PatMax.zip