Android studio中在用opencv时不使用opencv manager

1 篇文章 0 订阅
1 篇文章 0 订阅

       周末一时兴起打算用opencv开发一个在安卓平板上的跑的图像处理程序,前期写代码都很顺利,编译成功后安装,一运行就弹出让安装opencv manager,安装后运行,竟然提示OpenCV was not initialised correctly. Application will be shut down,网上查了半天也没找到解决方案,然后尝试在模拟器上运行(安卓版本2.2),竟然没有问题呀。我的平板电脑的安卓版本是7.0,用的opencv版本是2.4.9,怀疑是下的opencv manager版本与安卓版本不兼容,就从opencv自带的开发工具包中找到了对应于2.4.9版本的opencv manager,在平板上安装后直接崩溃。这条路暂时走不通只好换一个思路,是不是可以不调用opencv manager,经过尝试是可以的,方法如下:

1.把OpenCV sdk for Android文件下F:\OpenCV-android-sdk\sdk\native下的libs文件夹拷贝到你的安卓项目下,即自己的项目\src\main下面,并且将libs改名为 jniLibs;

2、修改onResume方法,将其改为:标黄部分为新添加代码

  @Override

    protected void onResume() {

        super.onResume();

        if (!OpenCVLoader.initDebug()) {

            Log.d(TAG, "Internal OpenCVlibrary not found. Using OpenCV Manager for initialization");

           OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_9, this,mOpenCVCallBack);

       } else {

            Log.d(TAG, "OpenCV libraryfound inside package. Using it!");

          mOpenCVCallBack.onManagerConnected(LoaderCallbackInterface.SUCCESS);

        }

    }

}

3、重新编译安装运行就可以了。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 Android Studio 使用基于 C++ 的 OpenCV,需要进行以下配置步骤: 1. 下载 OpenCV for Android 并解压缩。可以从 OpenCV 官网下载最新版本。 2. 安装 Android NDK。可以从 Android Studio 的 SDK Manager 下载并安装。 3. 在 Android Studio 创建一个新项目并打开 build.gradle 文件。 4. 在 build.gradle 文件的 android 节点添加以下代码: ```gradle externalNativeBuild { cmake { cppFlags "" abiFilters "" } } ``` 5. 在 build.gradle 文件的 defaultConfig 节点添加以下代码: ```gradle externalNativeBuild { cmake { path "CMakeLists.txt" } } ``` 6. 在项目目录下创建一个 CMakeLists.txt 文件,并添加以下代码: ```cmake cmake_minimum_required(VERSION 3.4.1) add_library( native-lib SHARED native-lib.cpp ) find_library( log-lib log ) target_link_libraries( native-lib ${log-lib} ) add_library( opencv SHARED IMPORTED ) set_target_properties( opencv PROPERTIES IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/../sdk/native/libs/${ANDROID_ABI}/libopencv_java3.so ) include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/../sdk/native/jni/include ) target_link_libraries( native-lib opencv ) ``` 7. 在 src/main 目录下创建一个 cpp 目录,并在其添加一个 native-lib.cpp 文件。在该文件添加以下代码: ```c++ #include <jni.h> #include <string> extern "C" JNIEXPORT jstring JNICALL Java_com_example_myapplication_MainActivity_stringFromJNI( JNIEnv* env, jobject /* this */) { std::string hello = "Hello from C++"; return env->NewStringUTF(hello.c_str()); } ``` 8. 在 MainActivity.java 文件添加以下代码: ```java static { System.loadLibrary("native-lib"); System.loadLibrary("opencv"); } public native String stringFromJNI(); ``` 9. 构建并运行应用程序,如果一切配置正确,应该能够在应用程序看到 "Hello from C++" 的输出。 以上是在 Android Studio 配置基于 C++ 的 OpenCV 的步骤。需要注意的是,这只是一个简单的例子,实际使用还需要进行更多的配置和调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值