最近、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 のバグですか、それとも何か不足していますか? 新しいモジュールもロードする方法はありますか? ありがとう。