【问题标题】:How to add extra modules to OpenCV4Android?如何向 OpenCV4Android 添加额外的模块?
【发布时间】:2017-06-04 17:47:51
【问题描述】:

我现在正在使用NDK来实现图像处理方法,我想在OpenCV中导入一些额外的模块,比如xphoto和matlab,这样我就可以将额外的库包含到我的cpp文件中。

我已经下载了额外的模块。这些模块如下所示:

├── CONTRIBUTING.md
├── doc
├── LICENSE
├── modules
├── README.md
└── samples

modules 文件夹如下所示:

modules
├── aruco
├── bgsegm
├── bioinspired
├── ccalib
├── cnn_3dobj
├── contrib_world
├── cvv
├── datasets
├── dnn
├── dnns_easily_fooled
├── dpm
├── face
├── freetype
├── fuzzy
├── hdf
├── line_descriptor
├── matlab
├── optflow
├── phase_unwrapping
├── plot
├── README.md
├── reg
├── rgbd
├── saliency
├── sfm
├── stereo
├── structured_light
├── surface_matching
├── text
├── tracking
├── xfeatures2d
├── ximgproc
├── xobjdetect
└── xphoto

由于我对配置CMake设置不是很熟悉,请给出详细的步骤。

【问题讨论】:

    标签: opencv android-ndk cmake opencv4android


    【解决方案1】:

    我不认为您可以将 contrib 模块添加/包含到 OpenCV4Android 的预构建库中。我会说你应该从源代码编译 OpenCV+contrib。为此,您有两种选择:

    选项 1:按照steps,您可以为目标 ABI 编译 OpenCV+contrib。

    选项 2:您可以使用 OpenCV 的 python 交叉编译脚本,它使您能够为许多可用的 ABIS(armeabi-v7a、armeabi、arm64-v8a、x86_64、x86、mips64 和 mips)编译 OpenCV+contrib,执行以下步骤。

    -下载/克隆 OpenCV 和额外的贡献模块源代码。

    -然后,您应该运行此命令行为所有提到的 ABIS 编译 OpenCV,添加 Opencv contrib 模块作为 pyhton 脚本的输入参数。

       python ../opencv/platforms/android/build_sdk.py  --extra_modules_path ../opencv_contrib/modules <dir-to-store-result> ../opencv
    

    如果您没有为您的环境变量提供 Android SDK 和 NDK 的路径,以便您的构建系统知道它们的位置,您也可以将它们作为输入参数添加到 python 脚本。

    python ../opencv/platforms/android/build_sdk.py  --extra_modules_path ../opencv_contrib/modules --ndk_path <your-path-to-ndk-top-level-folder> --sdk_path <your-path-to-sdk-top-level-folder> <dir-to-store-result> ../opencv
    

    这样你就可以在 内完成一个完整的 OpenCV+contrib 模块编译,其结构与 OpenCV4Android 相同。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-20
      • 1970-01-01
      • 2014-04-10
      • 1970-01-01
      • 1970-01-01
      • 2021-10-30
      • 2020-10-05
      相关资源
      最近更新 更多