小屋創作

日誌2013-02-23 16:51

如何在Android中使用OpenCV?

作者:神戶 小鳥






   相信有接觸過計算機視覺等程式的人,應該知道OpenCV是什麼

   那是啥東西啊?

  

   總而言之,OpenCV本來是個用C++編寫的函式庫
     但在先人努力下,它也能在以Java為基礎的Android上執行

   什麼?!你說iOS?沒測試過我也不知道……

  OpenCV4Android SDK

   根據教學文件指出,要使用OpenCV大概要安裝以下軟體……

  JDK
  Android SDK and NDK
  Eclipse IDE
  ADT and CDT plugins for Eclipse

   相信安裝JDK、Eclipse和Android SDK並不困難
     甚至Android SDK本身就提供了Eclipse
     只要下載了Android SDK,就能從目錄裡開啟Eclipse

  http://developer.android.com/sdk/installing/installing-adt.html

   ADT則是一個針對Android開發的Eclipse插件
     按照說明從Eclipse安裝ADT,即可將Eclipse改為Android開發環境

   安裝CDT和安裝ADT一樣,在Eclipse輸入一個網址就能安裝完成
     NDK就比較麻煩,你必須將NDK下載下來後解壓縮
     再到環境變數設定NDKROOT的位置

   理論上這樣子,OpenCV for Android的開發前置環境就設定完成了

   接著你可以「輸入已存在project」的方式,將OpenCV的sample導入

   映入眼簾的是一片編譯錯誤的紅色叉叉

  

  

   怎麼回事,我明明按照說明做了,怎麼還一堆編譯錯誤……


   根據說明所示,NDK的位置好像會發生問題……

   但是當你打開properties會發現……啊,奇怪,為何我會沒有C/C++這一項

   理論上先前若安裝過CDT,Eclipse就能使用C/C++的功能

   原來是必須選擇File>New>Other>C/C++,將既有project轉換為C/C++ project

   好不容易圖上的C/C++ Build出現了,將NDK的位置設置好……

   啊,怎麼還是一堆紅叉叉,搞什麼鬼呀!

   什麼什麼,原來還有另一份文件寫著,要把另一個地方的NDK路徑設置好


  # for NDK r8b and later:
  ${NDKROOT}/platforms/android-9/arch-arm/usr/include
  ${NDKROOT}/sources/cxx-stl/gnu-libstdc++/4.6/include
  ${NDKROOT}/sources/cxx-stl/gnu-libstdc++/4.6/libs/armeabi-v7a/include
  ${ProjDirPath}/../../sdk/native/jni/include

   好不容易把可以設置的地方都設置好……

  

   還是滿江紅!!!!!

   特別是一開始它不認得java.util函式庫
     把JDK裝到Build path後,它換成不認得Android的函式庫,怎麼這麼麻煩呀

   喔喔喔喔喔喔喔喔喔喔-----

   哇,有人要暴走了!

   雖然一個正職(?)工程師應該一個個軟體慢慢裝
     但我真的快受不了了,只能使用白痴方法……

  Tegra Android Development Pack

   TADP是NVIDIA所提供的整合型安裝軟體
     自動將以下軟體安裝好,真是佛心來著

  Android Development:
  .Android SDK r21.0.1
  .Android APIs
  .Android NDK r8d
  .Google USB Driver
  .Android Support Library
  .JDK 6u24
  .Cygwin 1.7
  .Eclipse 4.2.1, CDT 8.1.1, ADT 21.0.1
  .Apache Ant 1.8.2
  Tegra Libraries and Tools:
  .Nsight Tegra 1.1, Visual Studio Edition [Windows Only]
  .NVIDIA Debug Manager for Eclipse 12.0.1
  .PerfHUD ES 1.9.8
  .Tegra Profiler 1.2
  .OpenCV for Tegra 2.4.3.2
  .PhysX 3.2 for Android
  Tegra Samples, Docs and OS Images
  .Tegra SDK Samples
  .Tegra SDK Documentation
  .Tegra Android OS Images for Cardhu and Ventana development kits
  All Tegra SDK Samples will also be imported into an Eclipse workspace.
  The pack provides sample applications, support libraries and updated documentation for the following Android game development topics:
  .Pure native gaming on Android with NativeActivity
  .Getting Android application lifecycle just right
  .Tips for (and benefits of) mixing a little Java into your native Android game for better integration
  .Supporting game controllers, sensors, multi-touch and device rotation

   不過當你點入下載頁面會發現……奇怪,怎麼連不上?!

   原來是要登入會員並簽署Registered Developer Programs才能下載
     喂喂,這又不是你們開發的程式,竟然還這麼小氣

   基本上安裝並不困難,雖然時間長,但不需做什麼就能安裝完成

   安裝完當然是馬上點開Eclipse試試看,但最好是先閱讀一下說明文件

   一般來說Eclipse的workspace都是設置在「我的文件」下
     但TADP要求將workspace設置在<path to TADP directory>下

   按照說明文件的白痴方法一步步走,終於將OpenCV編譯成功!

   萬歲!!!!!

   萬你的頭,根本只是照著步驟走而已!

   所以我才討厭Java,有太多的插件整合不知為何那麼喜歡跟我作對!

   這就是你使用不熟練之故!

   以實機執行後,實機會要求你下載OpenCV Manager
     基本上到這一步就沒什麼問題了





6

9

LINE 分享

相關創作

奇蹟MU:無限金蛋 - 魔幻MMORPG遊戲台港澳公測 Android APK iOS | 肯魚

異世界奇妙生活 - 的異世界魔物娘養成RPG遊戲公測 Android APK iOS | 肯魚

湮滅:邊界線 - 少女機甲戰棋遊戲公測 Android APK iOS | 肯魚

留言

開啟 APP

face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】