0

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 のデフォルト設定はありますか? 私はここで立ち往生しています。どんな助けも大歓迎です。

4

1 に答える 1

1

問題が見つかりました-デスクトップとアンドロイドでOpenCVのバージョンが異なります。バージョン 3.0 は、明らかに 3.0 RC1 とは異なる MSER のデフォルト パラメータを使用しています。

ここでヒントを得ました。

于 2015-08-22T14:09:29.523 に答える