在结束问题之前:我已经完成了其他SO答案,但没有人展示如何使用Android Studio修复此问题。
我正在使用opencv库来检测应用程序中的卡片。应用程序就像文档扫描程序,但它使用JavaCameraView而不是图像位图。
mOpenCvCameraView = (CameraBridgeViewBase) findViewById(R.id.live_camera_frame);
我的问题是,在使用JavaCameraView
时,它总是要求从Play商店安装OpenCV Manager。
即使按照android studio中openCV静态初始化的步骤,它也是asking me for download openCV manage APK from playstore。我使用的是android studio 1.5和opencv library 3.1.0
任何人都可以告诉我如何使用OpenCV Camera而不将Opencv管理器安装为独立应用程序?
截至目前,我不希望用户像图片一样被提示进行对话。如果我们可以将openCV库作为项目的一部分包含在内,并且我们可以在不安装的情况下使用它。
我按照这里的步骤application-development-with-static-initialization 但它是为eclipse而我正在使用android studio。我为eclipse尝试了同样的事情但是它在标准的openCV库中给出了错误 class not found.
答案 0 :(得分:2)
这样做
在主文件夹下创建一个jniLibs文件夹(与java文件夹相同的位置)
只需从/ sdk / native / libs /复制相应的OpenCV本机库(应该有七个文件夹,mips,x86等......复制你需要的文件夹,取决于你的应用程序将运行什么cpu)项目目录到文件夹jniLibs
然后在你的活动中
@Override
public void onResume() {
super.onResume();
if (!OpenCVLoader.initDebug()) {
Logger.d("Internal OpenCV library not found. Using OpenCV Manager for initialization");
OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_3_1_0, this, mLoaderCallback);
} else {
Logger.d("OpenCV library found inside package. Using it!");
mLoaderCallback.onManagerConnected(LoaderCallbackInterface.SUCCESS);
}
}
private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) {
@Override
public void onManagerConnected(int status) {
switch (status) {
case LoaderCallbackInterface.SUCCESS:
{
Logger.d( "OpenCV loaded successfully");
//mOpenCvCameraView.enableView();
} break;
default:
{
super.onManagerConnected(status);
} break;
}
}
};