I am learning to develop android apps and I am trying to incorporate OpenCV in the apps. I decided to make a simple app that displays an image. The code is given below:
package com.example.first;
import org.opencv.android.BaseLoaderCallback;
import org.opencv.android.CameraBridgeViewBase;
import org.opencv.android.LoaderCallbackInterface;
import org.opencv.android.OpenCVLoader;
import org.opencv.android.CameraBridgeViewBase.CvCameraViewFrame;
import org.opencv.android.CameraBridgeViewBase.CvCameraViewListener2;
import org.opencv.core.Mat;
import org.opencv.highgui.Highgui;
import android.os.Bundle;
import android.app.Activity;
import android.graphics.Canvas;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.SurfaceView;
import android.view.WindowManager;
import android.webkit.WebView.FindListener;
import android.widget.ImageView;
import android.widget.Toast;
public class MainActivity extends Activity{
Mat m=Highgui.imread("C:/Users/Administrator/Desktop/circle1.png");
}
On checking the logcat the following errors were being displayed:
E/AndroidRuntime(1310): FATAL EXCEPTION: main
E/AndroidRuntime(1310): java.lang.UnsatisfiedLinkError: Native method not found: org.opencv.highgui.Highgui.imread_1:(Ljava/lang/String;)
E/AndroidRuntime(1310): at org.opencv.highgui.Highgui.imread_1(Native Method)
E/AndroidRuntime(1310): at org.opencv.highgui.Highgui.imread(Highgui.java:359)
E/AndroidRuntime(1310): at com.example.run.MainActivity.(MainActivity.java:26)
E/AndroidRuntime(1310): at java.lang.Class.newInstanceImpl(Native Method)
E/AndroidRuntime(1310): at java.lang.Class.newInstance(Class.java:1130)
E/AndroidRuntime(1310): at android.app.Instrumentation.newActivity(Instrumentation.java:1061)
E/AndroidRuntime(1310): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2128)
E/AndroidRuntime(1310): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
E/AndroidRuntime(1310): at android.app.ActivityThread.access$600(ActivityThread.java:141)
E/AndroidRuntime(1310): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
E/AndroidRuntime(1310): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(1310): at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime(1310): at android.app.ActivityThread.main(ActivityThread.java:5103)
E/AndroidRuntime(1310): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(1310): at java.lang.reflect.Method.invoke(Method.java:525)
E/AndroidRuntime(1310): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
E/AndroidRuntime(1310): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
E/AndroidRuntime(1310): at dalvik.system.NativeStart.main(Native Method)
What is wrong with this code?