MSER アルゴリズムは、デスクトップ版と Android 版の OpenCV 3.0 で動作が異なるようです。以下のコードは、OpenCV が実行されているプラットフォーム (デスクトップまたはアンドロイド) に応じて異なる結果を生成します。
Mat img = Imgcodecs.imread(filename, Imgcodecs.IMREAD_GRAYSCALE);
MatOfKeyPoint mokp = new MatOfKeyPoint();
FeatureDetector fd = FeatureDetector.create(FeatureDetector.MSER);
fd.detect(img, mokp);
その後
System.out.println("Mat of key points = " + mokp.rows() + "x" + mokp.cols());
(デスクトップ用)または
Log.i(TAG, "Mat of key points = " + mokp.rows() + "x" + mokp.cols());
(アンドロイド用)
これは私がログに記録するものです:
Mat of key points = 79x1
(デスクトップ)
Mat of key points = 216x1
(アンドロイド)
なぜ違いがあるのですか?デスクトップとアンドロイドで異なる MSER のデフォルト設定はありますか? 私はここで立ち往生しています。どんな助けも大歓迎です。