4

可能な限り最高の精度でグレースケール イメージのコーナーを検出する必要があります。現在、OpenCV 関数 cvFindCornerSubPix() を使用しています。

簡単なテストを用意しました: 黒/白のエッジのコーナーを持つ画像を取得しました:

コーナーが検出されたサンプル画像

次に、一連の同じオブジェクトがそれぞれ 1/16 ピクセルずつ移動します。ピクセル値を手動で確認しましたが、テスト画像は問題ありません。

検出結果は期待外れでした: TermCrit で条件が 100 回の反復または 0.005 しきい値に設定されているにもかかわらず、検出エラーは 0.08 ピクセルまで大きくなります。

グラフは、ピクセル内の位置の関数としてエラーを示します。まったくランダムに見えません。注目に値するもう 1 つのこと: コーナーの他の環状位置 (エッジが水平/垂直でない場合) では、結果は良くなりますが、それでも完全ではありません。

この機能を適切に機能させる方法、機能しない理由、または代わりに何を使用するかについてのアイデアはありますか?

アドバイスをいただければ幸いです

エラーグラフ

4

1 に答える 1