如何最小化OpenCv库的大小?

如何最小化OpenCv库的大小?,opencv,android-ndk,Opencv,Android Ndk,我希望最小化我的android ndk构建库的大小 我已经开始为Android预先构建OpenCv库,到目前为止,我的库的大小大约为3MB。我怎样才能最小化它的大小 我只需要读/写文件功能,png编码/解码,jpeg解码器和OpenCv的典型图像处理功能,如resize和cvtColor 非常感谢任何指点

我希望最小化我的android ndk构建库的大小

我已经开始为Android预先构建OpenCv库,到目前为止,我的库的大小大约为3MB。我怎样才能最小化它的大小

我只需要读/写文件功能,png编码/解码,jpeg解码器和OpenCv的典型图像处理功能,如resize和cvtColor


非常感谢任何指点

你可以考虑CIMG BTW,你可以很容易地把它删除,因为它只是定义了越来越多的函数作为CIMG类的一部分。


祝你好运

Jona,到目前为止,您可能已经继续您的项目,但是其他不使用cmake gui的人可能喜欢命令行示例。i、 e.如果您不想要CCALIB模块,您可以这样构建:

cmake-DBUILD\u OPENCV\u CCALIB=OFF[其他cmake标志]/

操纵构建标志可能不会覆盖您想要的所有模块排除,但是,这可能是一个很好的起点。要查看标志选项列表,请打开CMakeLists.txt文件(opencv源代码目录的顶部)


打开/关闭标志也不会像手动注释代码那样破坏您的构建。

您是否希望通过剥离库中不使用的组件来最小化库?如果是这样的话,那么在剥离库的同时,这将是一个相当长的、具有多个构建周期的过程。与ffmpeg使用的方法类似,您也可以手动注释掉库源代码中您确定不需要的部分,这导致了我前面提到的多个构建周期。然而,这是一条危险的路线。正如您所提到的,最好使用标志。构建您的opencv。使用cmake gui配置项目,并尽可能禁用。但是,出于速度原因,您可能希望启用tbb。请记住删除调试符号。请详细说明如何禁用模块?如果您从源代码构建opencv,而不是使用其他软件包管理器(如apt get)安装,则可以使用cmake配置要包含的模块。因为这是一年多前我做的,所以我忘记了细节。然而,我发现cmake gui为我提供了一个用户友好的界面。不过,可以说,编译自己的库需要一些linux背景知识。要获得启动,请查看此处:。如果不需要保存KB,请使用发行版的软件包管理器。您可以在此处找到所有模块的列表:。正如我所记得的,您还可以禁用库来加载更奇特的图像格式等。下面是一个使用cmake gui配置opencv的示例:。祝你好运