OpenCV4Android では、画像上に点のグリッドを配置する DENSE 機能検出器を使用しています。次に、これらのキーポイントの記述子を計算します。このために、ORB 記述子エクストラクタを使用しようとしました。
mDetector = FeatureDetector.create(FeatureDetector.DENSE);
mExtractor = DescriptorExtractor.create(DescriptorExtractor.ORB);
MatOfKeyPoint pointsmat0 = new MatOfKeyPoint();
Mat descriptors0 = new Mat();
mDetector.detect(image0, pointsmat0);
mExtractor.compute(image0, pointsmat0, descriptors0);
ここで、記述子エクストラクタは、記述子を計算できなかったキーポイントを削除する必要があるため、出力時pointsmat0.total
とこれらの量は等しくなければなりません。descriptors0.rows()
しかし、そうではありません。
私は得る:
pointsmat0.total() around 10000
descrpitors0.rows() around 8000
BRIEF 記述子エクストラクタを使用してみましたが、これにも同じ問題があります。したがって、DENSE+ORB / DENSE+BRIEF にはこの問題があります。
このサンプルを ORB+ORB で実行すると、キーポイントの数は記述子の数と同じになります (両方とも 500)。質問: DENSE で使用できる記述子エクストラクタはどれですか?