2011-08-09 10 views
4

2つの画像を比較して異常値点を破棄するのはどの方法が最適ですか? find_obj.cpp opencvの例では、FLANNを使用しますが、異常値は破棄しません。OpenCVを使用したSURFまたはSIFTアルゴリズムの異常値の検出

私はKmeansやグラフのようないくつかの方法を見てきました。

+0

こんにちは私は、これは非常に古い質問です知っているが、私は同じでも、午前状況 。 SURF algoの外れ値を取り除くためにどのようなalgoを使用したのか分かりますか? – alwaysLearn

答えて

2

ノイズの多いポイントを拒否し、関心のあるポイント間の変換を決定するには、かなり信頼性が高く効率的な方法があります。異常値を拒否するために通常使用されるアルゴリズムは、RANSAC(http://en.wikipedia.org/wiki/RANSAC)として知られており、変換を決定するために使用されるアルゴリズムにはいくつかの形式がありますが、最新の状態5点アルゴリズムとして知られており、hereを見つけることができます - MATLABの実装はhereです。 2つの画像の間の正確な回転を気にしなくても、変換を決定する必要があることに注意してください。これが異常値の特定方法です。

残念ながら、私は両方の組み合わせの成熟した実装についてはわかりません。 RANSACを実装して5点アルゴリズムと統合するために、おそらくあなた自身の仕事をしなければならないでしょう。

OpenCVには、あなたのタスクに過剰な実装があります(これは動作しますが、必要以上に時間がかかることを意味します)。興味のある機能をCVと呼ばれる:: findFundamentalMat(http://opencv.willowgarage.com/documentation/cpp/camera_calibration_and_3d_reconstruction.html#cv-findfundamentalmat)

関連する問題