zoukankan      html  css  js  c++  java
  • Android+openCV 的坑

    之前一直用IntelliJ IDEA 导入 opencv_android_sdk 的 java 包,在最后一步finish时,始终出错.

    后来重新安装Android Studio 重复以上步骤,能顺利导入包 openCVLibrary320 (原因未知).

    导入包后注意修改 sdk的 build.gradle 中的

    android {
        compileSdkVersion 26
        buildToolsVersion "26.0.2"
    
        defaultConfig {
            minSdkVersion 15
            targetSdkVersion 26
        }
        ...
    }

     与 app build.gradle 中的一致.

    按照网上很多教程:

    接着在 app/src/main 目录下 创建一个jniLibs 目录,然后把sdk/native/libs 下所有文件 拷贝到jniLibs下,编译,运行。

    这一步执行后运行程序会报错,指向的目标大概都是 需要loadLibrary.

    OK,我就加入了:

        // private static String strLibraryName = Core.NATIVE_LIBRARY_NAME;
        private static String strLibraryName = "opencv_java3"; // 不需要添加前缀 libopencv_java3
    
        static {
            try {
                Log.e("loadLibrary", strLibraryName);
                System.loadLibrary(strLibraryName);
            } catch (UnsatisfiedLinkError e) {
                Log.e("loadLibrary", "Native code library failed to load.
    " + e);
            } catch (Exception e) {
                Log.e("loadLibrary", "Exception: " + e);
            }
        }
    

    还是报错哦,找不到 libopencv_java3.so ,搞笑了,我就怀疑这个 libopencv_java3 路径有问题或者根本没有关联到项目,因为教程中直接让你把这个文件夹内容拷贝过来.

    查资料 无果.

    后来,把 jniLibs 目录放到 src/main/ 目录下 ,与Java 目录同一级. 然后在app 的 build.gradle 中添加:

    android {
        compileSdkVersion 26
        buildToolsVersion "26.0.2"
        defaultConfig {
            applicationId "com.***.opencvdemo2"
            minSdkVersion 15
            targetSdkVersion 26
            versionCode 1
            versionName "1.0"
            testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
            sourceSets {
                main {
                    jniLibs.srcDirs = ['src/main/jniLibs']
                }
            }
        }
        ...
    }

    这样编译就能顺利通过.

    最后:

    其实根本不需要  jniLibs  这个目录.我本来导入了opencv 的java 包.

    所以,删掉删掉.根本不需要拷贝什么文件.导入包就可以了.后续的配置什么的都删掉删掉.

    下一篇,将会记录,Android + openCV 简单的静态图片人脸检测.

  • 相关阅读:
    minicap编译示例
    uniapp H5项目中使用腾讯地图sdk
    腾讯地图打车乘客端小车平滑移动-安卓篇
    地图定位打卡功能示例
    腾讯位置服务个性化图层创建及发布
    腾讯位置服务GPS轨迹回放
    使用腾讯地图实现汽车沿轨迹行驶功能
    地图GPS轨迹录制
    腾讯地图实现微信小程序地图定位教程
    基于腾讯地图定位组件实现周边POI远近排序分布图
  • 原文地址:https://www.cnblogs.com/haoxr/p/7614924.html
Copyright © 2011-2022 走看看