1. 程式人生 > >Android studio中在用opencv時不使用opencv manager

Android studio中在用opencv時不使用opencv manager

       週末一時興起打算用opencv開發一個在安卓平板上的跑的影象處理程式,前期寫程式碼都很順利,編譯成功後安裝,一執行就彈出讓安裝opencv manager,安裝後執行,竟然提示OpenCV was not initialised correctly. Application will be shut down,網上查了半天也沒找到解決方案,然後嘗試在模擬器上執行(安卓版本2.2),竟然沒有問題呀。我的平板電腦的安卓版本是7.0,用的opencv版本是2.4.9,懷疑是下的opencv manager版本與安卓版本不相容,就從opencv自帶的開發工具包中找到了對應於2.4.9版本的opencv manager,在平板上安裝後直接崩潰。這條路暫時走不通只好換一個思路,是不是可以不呼叫opencv manager,經過嘗試是可以的,方法如下:

1.把OpenCV sdk for Android檔案下F:\OpenCV-android-sdk\sdk\native下的libs資料夾拷貝到你的安卓專案下,即自己的專案\src\main下面,並且將libs改名為 jniLibs;

2、修改onResume方法,將其改為:標黃部分為新新增程式碼

  @Override

    protected void onResume() {

        super.onResume();

        if (!OpenCVLoader.initDebug()) {

            Log.d(TAG, "Internal OpenCVlibrary not found. Using OpenCV Manager for initialization");

           OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_9, this,mOpenCVCallBack);

       } else {

            Log.d(TAG, "OpenCV libraryfound inside package. Using it!");

          mOpenCVCallBack.onManagerConnected(LoaderCallbackInterface.SUCCESS);

        }

    }

}

3、重新編譯安裝執行就可以了。