我当前正在处理 android 应用程序,该应用涉及 Canny Edge检测。我决定使用 OPENCV 库,该库比使用Java快得多。因此,我将 libopencv_java.so 放在其各自目录中。它起作用,但导致巨大的APK大小。我对C 语言不了解。是否可以生成libopencv_java.so文件,该文件仅包含用于边缘检测的所需组件以减少APK大小?
如果是,如何?
否则,请建议其他快速和较小的库在Android中执行Chany Edge检测。
您可以使用此处提到的方法为Android构建LIB。
https://zami0xzami.wordpress.com/2016/03/17/building-opencv-for-android-from-source/
我想您正在使用JNI来实现您的工作,并且必须使用OpenCV-android-SDK。
-
如果您使用的是静态库复制,则仅需要lib到../openCV-3.1.0-android-sdk1/sdk/sdk/atnation/libs/libs/(target-abi文件夹)。
2.如果您使用的是共享的,则需要libopencv_java.so来降低大小,从libopencv_java.so.so.so.so.so.so.so.so.so.so.so.so.so.so.so删除此lib to/openccv/modules/module_name/cmakelists.txt.txt.txt找到一条线OCV_DEFINE_MODULE(IMGPROC OPENCV_CORE WRAP JAVA PYTHON)并从此行中删除Java。
到目前为止,我知道Canny Edge是IMGPROC或CORE或HIGHGUI的一部分。因此,除这些模块外,修改所有模块的cmakelists。现在使用链接中的方法构建lib(在邮政启动时给出)。复制新的lib到SDK文件夹。