簡體   English   中英

如何僅保留opencv android庫的模塊(Canny Edge Detection)?

[英]How to keep only a module (Canny Edge Detection) of opencv android library?

我目前正在開發一個涉及Canny Edge Detectionandroid應用程序。 我決定使用opencv庫,該庫比使用Java快得多。 因此,我將libopencv_java.so文件放置在它們各自的目錄中。 它起作用了,但是卻導致了很大的apk大小 我不太了解C ++語言。 是否可以生成libopencv_java.so文件,該文件僅包含邊緣檢測所需的組件以減小apk大小?

如果是,怎么辦?

否則,建議使用其他快速且較小的庫在Android中執行Canny Edge Detection。

您可以使用此處提到的方法為Android構建lib。

https://zami0xzami.wordpress.com/2016/03/17/building-opencv-for-android-from-source/

我猜您正在使用JNI來實現您的工作,並且您必須正在使用opencv-Android-sdk。

  1. 如果您使用的是靜態庫,則只需要將lib復制到../OpenCV-3.1.0-android-sdk1/sdk/native/libs/(Target-abi文件夾)。

    2.如果使用共享庫,則需要libopencv_java。因此,為了減小大小,請從libopencv_java.so中刪除不需要的庫。要刪除此庫,請轉至/opencv/modules/MODULE_NAME/CMakeLists.txt,找到一行ocv_define_module(imgproc opencv_core WRAP java python)並從此行中刪除java。

據我所知,canny edge是imgproc或core或highgui的一部分。 因此,修改除這些模塊外的所有模塊的cmakelist。 現在使用鏈接中的方法構建lib(在文章開頭給出)。將新的lib復制到sdk文件夾中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM