Eclipse下配置OpenCV

https://jingyan.baidu.com/article/4f7d5712ca0a031a21192760.html

在Android上,有兩種使用OpenCV的方法。方法一:使用OpenCV提供好的庫文件,然後調用OpenCV的java api來進行圖像處理。方法二:使用OpenCV的C++的api,這時需要先使用NDK創建動態庫,然後在Android工程中間接調用動態庫中的函數。

值得說明的是,如果僅是使用第一種方法,CDT和NDK是不需配置的,只需將OpenCV的庫導入到工程中即可。

工具/原料

  • 可運行Android程序的Eclipse
  • OpenCV開發包
  • Windows OS(筆者使用Win 7旗艦版)

方法/步驟

  1. 首先下載OpenCV4Android。筆者在2015.06.18下載的最新版本是OpenCV-3.0.0-android-sdk.zip。將其解壓到非系統盤裏。

    然後創建一個新的文件夾,用於OpenCV的Android程序的開發。

    注意,該WorkSpace必須和解壓的OpenCV-android-sdk在同一個盤符下,不然可能導致後期的導入庫函數失敗。

    效果如下圖所示:

    Eclipse下配置OpenCV
  2. 導入OpenCV庫和實例到Eclipse中。

    OpenCV Library的導入與一般的庫的導入一致。具體如下:

    在「Package Explorer」->Import,進入到如下界面:

    Eclipse下配置OpenCV
  3. 按照引導,選擇……\OpenCV-android-sdk\sdk,就可將OpenCV導入到Eclipse中。效果如下:

    Eclipse下配置OpenCV
  4. 這樣,OpenCV就導入到Eclipse中了,接下來就是導入實例,並將該OpenCV庫導入到實例中。實例的導入與一般的工程導入一致,這裏不做介紹。

    需要說明的是,這裏的實例沒有使用OpenCV的C++的api,所以不需配置CDT和NDK。導入工程後,會給出如下無法識別opencv庫中的內容的錯誤提示。

    這時,就需要爲工程關聯OpenCV庫。

    Eclipse下配置OpenCV
  5. 關聯OpenCV庫,步驟見下圖:

    Eclipse下配置OpenCV
    Eclipse下配置OpenCV
  6. 這樣OpenCV庫就正確導入了,程序錯誤消失。

    運行(run)例程,在AVD或手機上調試,可能會出現如下錯誤:「OpenCV manager package was not found」。

    出現這種錯誤的主要原因是,在源程序中使用到OpenCV Manager。給出兩種解決方案:

    方案一:

    在AVD或真機上安裝OpenCV Manager.apk。

    方案二:修改程序源碼,將其轉換成不需要OpenCV Manager。

    Eclipse下配置OpenCV
  7. 由於在下載的OpenCV-3.0.0-android-sdk.zip的解壓文件的……\OpenCV-android-sdk\apk中包含需要安裝到真機的版本,所以我們選擇方案一。

     

    Eclipse下配置OpenCV
    END

注意事項

  • 這裏使用的實例程序因爲沒有用到OpenCV 的C++ api,所以直接導入OpenCV的包,就可正確運行。如果你的實例程序中包含了對C++ api的引用,則簡單地導入OpenCV的包是不能保證程序可調試的。