美文网首页
Android上OpenCV物体识别例子

Android上OpenCV物体识别例子

作者: 杰森斯坦sen | 来源:发表于2018-06-01 12:07 被阅读0次

    在Android上运行深度学习例子

    OpenCV文档详细介绍了一个Android上运行深度学习做物体识别的例子。
    环境:

    • Android Studio 3
    • OpenCV 3.4.1 android-sdk

    配置过程:

    项目配置的步骤在OpenCV的文档How to run deep networks on Android device有详细说明。
    大体上包含下面几步:

    1. 建立一个Android Studio的工程
    2. 把OpenCV作为module导入并且添加为app依赖
      *注意导入module的时候去掉默认的打钩的选项
    3. 把app and OpenCV module的设置为一样的版本Android SDK
    4. 在app gradle 添加 jniLibs 并且拷贝 OpenCV libopencv_java3.so
      *这步主要是避免在android上安装额外的OpenCV manager
    5. 在AndroidManifest.xml添加相机访问权限
    6. 修改代码: MainActivity and activity_main.xml

    如何避免安装OpenCV manager apk

    OpenCV的lib so: libopencv_java3.so 可以用OpenCV sdk提供的OpenCV manager apk安装。
    也可以把lib so集成到app:

    • Add ndk abiFilters and jniLibs for app gradle and copy OpenCV libopencv_java3.so(上面有提到)
    • 修改MainActivity 中的onResume方法,调用app package里面的lib:
        @Override
        public void onResume()
        {
            super.onResume();
            if (!OpenCVLoader.initDebug()) {
                Log.d(TAG, "Internal OpenCV library not found. Using OpenCV Manager for initialization");
                OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_3_0_0, this, mLoaderCallback);
            } else {
                Log.d(TAG, "OpenCV library found inside package. Using it!");
                mLoaderCallback.onManagerConnected(LoaderCallbackInterface.SUCCESS);
            }
        }
    

    模型安装路径

    MobileNetSSD的模型文件要拷贝到项目assets路径: app/build/intermediates/assets/debug

    链接

    How to run deep networks on Android device
    opencv samples mobilenet-objdetect
    OpenCV4Android开发实录(2): 使用OpenCV3.4.1库实现人脸检测

    相关文章

      网友评论

          本文标题:Android上OpenCV物体识别例子

          本文链接:https://www.haomeiwen.com/subject/lwihsftx.html