オブジェクトの検出にOpenCV Web サイトのコードを使用しています。私はOpenCV と画像処理の初心者であり、SURF の動作を理解しようとしています。いくつか疑問があります。
1.検出にカラー画像を使用してきましたが、これまでのところ結果は良好です。グレースケール画像を使用することを推奨している人がいますが、アルゴリズムのパフォーマンスは向上しますか?
2.コードで、距離が 3*mindist 未満の一致のみをフィルタリングすることの意味は何ですか?
for( int i = 0; i < descriptors_object.rows; i++ )
{ if( matches[i].distance < 3*min_dist )
{ good_matches.push_back( matches[i]); }
}
3.検出は高照度画像で堅牢ですが (私はヘッセ値として 900 を使用しました)、低照度条件下での同じ画像は同じヘッセ値で検出されません。同じヘッセ値で両方を行う方法はありますか? cv::equalizeHist() は役に立ちますか? もしそうなら、誰かが SURF 検出コードと統合する方法を提案してもらえますか?
4.一致を返すDMatch構造には、記述子間の距離を返すdistanceというパラメータがあります。これはどういう意味ですか?返される距離の単位はありますか?
5.オブジェクト検出の時間の複雑さ、スケール、および回転の不変性に関して、SURFよりも優れた記述子があるかどうかも知りたいです。
お時間をいただき、ご返信いただきありがとうございます。