我正在寻找最小化我的 android ndk 构建库的大小。
我已经开始使用为 Android 构建的预构建 OpenCv 库,到目前为止,我的库的大小约为 3MB。我怎样才能最小化它的大小?
我只需要读/写文件功能、png 编码/解码、jpeg 解码器和来自 OpenCv 的典型图像处理功能,例如 resize 和 cvtColor。
任何指针都非常感谢!
我正在寻找最小化我的 android ndk 构建库的大小。
我已经开始使用为 Android 构建的预构建 OpenCv 库,到目前为止,我的库的大小约为 3MB。我怎样才能最小化它的大小?
我只需要读/写文件功能、png 编码/解码、jpeg 解码器和来自 OpenCv 的典型图像处理功能,例如 resize 和 cvtColor。
任何指针都非常感谢!
Jona,您现在可能已经继续您的项目,但其他不使用 cmake-gui 的人可能喜欢命令行示例。即,如果您不想要 CCALIB 模块,您可以这样构建:
cmake -DBUILD_OPENCV_CCALIB=OFF [其他 cmake 标志] ../
操作构建标志可能无法涵盖您想要的所有模块排除项,但是,它可能是一个不错的起点。要查看标志选项列表,请打开 CMakeLists.txt 文件(opencv 源目录的顶部)。
打开/关闭标志也不会像手动注释代码那样破坏您的构建。
OpenCV 库有几个模块,您可以考虑省略诸如“highgui”和“gpu”之类的模块,并且可能更多取决于您需要和不需要的模块。无论如何,我不太确定你需要什么。也许您应该改用其他较小的库,因为读取、写入、解码、转换等并不是真正的计算机视觉操作,例如 Hough 变换或距离图
您可能会考虑 cimg 顺便说一句,您可以轻松地将其剥离,因为它只是将越来越多的函数定义为 cimg 类的一部分。
祝你好运!