Reputation: 1932
I used A Beginner’s Guide to Setting up OpenCV Android Library on Android Studio as a guide to setup OpenCV in an Android Studio project. I have got the project to build and install on my phone but I am not getting a video feed from the camera (that is the JavaCameraView
is empty).
The main issues seems to be that the OpenCV Manager has been pulled from the google play store. :,(
I have tried the solution from the this SO question to try to use opencv without needing to get it off the play store, but that didn't help either.
I have all the required permissions to use use the camera on my app.
My code is pretty similar to the one from the Beginner’s Guide tutorial, but let me know if you need to see any more of my code.
My onResume:
public override fun onResume() {
super.onResume()
if (!OpenCVLoader.initDebug()) {
OpenCVLoader.initDebug()
}
loaderCallback.onManagerConnected(LoaderCallbackInterface.SUCCESS)
}
BaseLoadCallback:
private val loaderCallback = object : BaseLoaderCallback(this) {
override fun onManagerConnected(status: Int) {
when (status) {
LoaderCallbackInterface.SUCCESS -> {
Log.i(TAG, "OpenCV loaded successfully")
opencv_camera_view.enableView()
opencv_camera_view.setOnTouchListener(this@MainActivity)
}
else -> {
super.onManagerConnected(status)
}
}
}
}
Upvotes: 2
Views: 4156
Reputation: 497
I use this method to set opencv 4.1.0. This should work too for 4.1.1.
build.gradle
file
if (!OpenCVLoader.initDebug()) {
OpenCVLoader.initDebug()
}
on either onResume or onCreateView lifecycle hook(the sample use onResume but I havent encounter any problem using it on onCreateView
)
Update 1. How to check if opencv installed correctly
sdk
and samples
.samples
folder and copy its .java and .xml file from color-blob-detection
(This sample implement JavaCameraView) folder to our blank project. I think this faster than fully import the sample.note : Read the build.gradle
file for more setup config. eg. splitting apk, ndk support etc.
Upvotes: 1
Reputation: 1932
These are the steps that worked for me.
NOTEs
Once you have OpenCV imported, use this tutorial to get the preview to fill the preview window.
And then use this version of the JavaCamera2View. JavaCamera2View uses the camera2 api.
These are the steps that worked for me, happy to be corrected if I have done something wrong.
Good Luck :)
Upvotes: 7