I am using OpenCV4Android version 2.4.10 and i test my code on Samsung Galayx GT-I9300. the problem i have is, that i must download Opencv Manager from play store so that my
Share to you about my way.
--
def opencvsdk = ''
include ':opencv'
project(':opencv').projectDir = new File(opencvsdk + '/sdk')
Example with my settings.gradle file
include ':app'
def opencvsdk = '/Volumes/Data/Projects/machine-learning/OpenCV-android-sdk'
include ':opencv'
project(':opencv').projectDir = new File(opencvsdk + '/sdk')
--
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
....
implementation project(':opencv')
}
--
import android.graphics.Bitmap;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ImageView;
import org.opencv.android.OpenCVLoader;
import org.opencv.android.Utils;
import org.opencv.core.CvType;
import org.opencv.core.Mat;
import org.opencv.core.Size;
import org.opencv.imgproc.Imgproc;
import java.io.IOException;
public class MainActivity extends AppCompatActivity {
static {
OpenCVLoader.initDebug();
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ImageView imageView = findViewById(R.id.activity_main_iv_result);
try {
Mat img = Utils.loadResource(this, R.drawable.eye);
Mat gryimg = new Mat(img.size(),CvType.CV_8U);
Imgproc.cvtColor(img, gryimg, Imgproc.COLOR_RGB2GRAY);
Bitmap bm = Bitmap.createBitmap(gryimg.cols(), gryimg.rows(), Bitmap.Config.ARGB_8888);
Utils.matToBitmap(gryimg, bm);
imageView.setImageBitmap(bm);
} catch (IOException e) {
e.printStackTrace();
}
}
}
Tested with opencv-3.4.1-android-sdk and Android Studio 3.1.3
We have some way to integrate sdk to your project. You should read /sdk/build.gradle for getting more options