1

最近、Android プロジェクトを OpenCV 2.4.10 からOpenCV 3.0に移動しました。

このコードを使用して OpenCV を静的に初期化します。

OpenCVLoader.initDebug();

アプリを実行すると、次の例外が発生します。

java.lang.UnsatisfiedLinkError: Native method not found: org.opencv.imgcodecs.Imgcodecs.imread_1:(Ljava/lang/String;)J

Imgcodecs は OpenCV 3.0 の新しいモジュールで、OpenCV 2.4.* の Highgui を置き換えるものです。

初期化時に OpenCV からのログに次の出力が表示されます。

Version control:               2.4.10
...
To be built:                 core androidcamera flann imgproc highgui features2d calib3d ml objdetect video contrib photo java legacy ocl stitching superres ts videostab

上記の情報から、OpenCV 3.0 の OpenCVLoader は 2.4.10 からの古いモジュールのみを初期化すると思います。もう必要ないはずの highgui モジュールが読み込まれていることがわかります。

これは新しい OpenCV のバグですか、それとも何か不足していますか? 新しいモジュールもロードする方法はありますか? ありがとう。

4

2 に答える 2

1

23.6.2015 から更新されたバージョンを使用して現在動作しているようです。

エラーはこの commitで修正されたようですので、おそらく OpenCV のバグが原因だったのではないかとの回答です。

于 2015-10-15T13:07:27.393 に答える