Andoird版OpenCVのJavaサンプルを動かす

8,624 views

Published on

Published in: Technology
1 Comment
3 Likes
Statistics
Notes
  • 【訂正】
    10枚目、'Intel HAX'となっていますが、正しくは'Intel HAXM'でした。
    また、VT-dが必要と書いてありますが、VT-xだけで充分だそうです
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
8,624
On SlideShare
0
From Embeds
0
Number of Embeds
749
Actions
Shares
0
Downloads
11
Comments
1
Likes
3
Embeds 0
No embeds

No notes for slide

Andoird版OpenCVのJavaサンプルを動かす

  1. 1. Android版OpenCVのJavaサンプルを動か す @Shobomaru
  2. 2. 更新履歴• 2012/11/04 v1.0 ものすごい勢いで忘れそうなので ものすごい勢いでメモ (´・ω・`)Shobomaru 2
  3. 3. おことわり• Windows 7 x64でしか試していません• Eclipseは32bit版でしか試していません• PC版OpenCVとAndroid SDKを一度使ったことの ある人向け• 環境 – Eclipse Juno (4.2) – Java SDK 6 update 30 – Android SDK r20.0.3 – OpenCV 2.4.3 (´・ω・`)Shobomaru 3
  4. 4. Android版OpenCVのダウンロード• http://sourceforge.net/projects/opencvlibrary/files /• zipを好きな場所に展開 – Cygwinの中に入れる必要はなし• (参考)Release Notes – http://code.opencv.org/projects/opencv/wiki/Android_R elease_Notes (´・ω・`)Shobomaru 4
  5. 5. Eclipse IDE for Java Developersのダウンロー ド• http://www.eclipse.org/downloads/• zipを制限ユーザーの書き込み権限があるフォルダ に展開• プロジェクトのワークスペース(Visual Studioの Projectフォルダに相当)とするフォルダを用意し ておく• 日本語化したいときはPleiadesを入れる – http://mergedoc.sourceforge.jp/ – ただしちょっと重い (´・ω・`)Shobomaru 5
  6. 6. Android SDKのダウンロード• http://developer.android.com/sdk/index.html• “Download the SDK for Windows”を押すとインス トーラがダウンロードされる – Program Filesにインストールされるが、SDKの更新のた びに管理者権限が必要になるので、他の場所の方がい いかもしれない – あるいは”Other platforms”を押してzip版を選択 (´・ω・`)Shobomaru 6
  7. 7. ADT Pluginのインストール• Eclipseを起動 – ワークスペースを指定 – “Help”、“Install New Software” – 右上の”Add” – Nameに“Android”(任意)、Locationに”https://dl- ssl.google.com/android/eclipse/” – “OK” – “Pending…”が消えたら、”Select All”、”Next”、”Next” – ライセンスに同意して”I accept the terms (略”、”Finish” – 警告は”OK”、”Yes”で再起動 (´・ω・`)Shobomaru 7
  8. 8. Android SDKの設定• “Welcome”画面は閉じる(左上の×)• “Window”、”Android SDK Manager” – プロキシ環境では、”Tools”、”Options”で設定 • (ウィンドウが切れているが)上がサーバ-、下がポート – 好みのSDK Platformを選択 • OpenCVは2.2以降のSDKが必須らしい? • 新しすぎると動作環境条件が厳しすぎて使って貰えないかも – エミュレーターで動作させるときは、Android 4.0.3以 降の”Intel x86 Atom System Image”と、”Extras”の”Intel Hardware Accelerated Execution Manager”も選択 – (文字が切れているが)“Install N package(s)” – ライセンスに同意して”Accept All”、”Install” (´・ω・`)Shobomaru 8
  9. 9. (´・ω・`)Shobomaru 9
  10. 10. (エミュレーター環境の構築1)• 実機がない環境向け – Webカメラが準備できていることが望ましい• Intel HAXのインストール – “extrasintelHardware_Accelerated_Execution_Manager IntelHaxm.exe” – CPUのIntel VT-dとVT-xの対応が必須 • 対応CPUはark.intel.comで検索。BIOSの仮想化設定を有効に – 推奨空きメモリ2GB• VMWareとかVirtualBoxが使えなくなるらしい? – Intel HAXをアンインストールすれば動くものの、もの すごく重い • Android 2.2など、比較的軽い古いOSの仮想デバイスで我慢… (´・ω・`)Shobomaru 10
  11. 11. (エミュレーター環境の構築2)• “AVD Manager.exe” – “New” – Nameは任意、TargetはCPU/ABIが”Intel Atom (x86)”に なるものを選択(ただしAndroid 4.0.3以降のもの)、 SD CardのSizeを必要なだけ入力(64MiBとか) • 3.x以前のOSでは、カメラのエミュレーションが不可能? – “Create AVD”、”OK” – 作成した仮想デバイスを選択して“Start”、”Launch” • 終了は×ボタン、次回からは単にStartでOK • “HAX is working and emulator runs in fast virt mode”と表示さ れていれば仮想化成功 • “not working”なら設定を確認、無理なら古いOSで我慢… (´・ω・`)Shobomaru 11
  12. 12. (´・ω・`)Shobomaru 12
  13. 13. OpenCV本体とアプリの分離• OpenCV 2.4.2以降、Android本体は別パッケージ で配布されるようになった – バイナリサイズが半端ないから • 1アプリで20MB超えとか… – 本体のインストールは1回だけ – 一応*.aが同梱されているので、静的リンクで共有ライ ブラリを作るのはできるかも(gccわからない…)• OpenCV本体のインストール – Google Playから”OpenCV”で検索してインストール • “ARM”、”ARM NEON”、”x86”、”MIPS”から適切なものを自動的 に選んでインストールされる (´・ω・`)Shobomaru 13
  14. 14. (Google Playが使えない環境では?)• ADB経由でPCからapk(アプリケーションパッ ケージ)をインストール – “Android SDK”のルートフォルダの”platform-tools” の”adb.exe”をコマンドプロンプトから起動 • フォルダ内でShiftキーを押しながら右クリック、「コマンド ウィンドウをここで開く」 – “adb install ***.apk” • apkファイルはOpenCV-androidのルートフォルダ の”apkOpenCV_2.4.3_Manager_2.0_x86.apk” • armeabi版仮想デバイスなどでは待ち時間が長いので気長に待 つ (´・ω・`)Shobomaru 14
  15. 15. PCとデバイスの接続• (仮想デバイスでは不要)• ドライバを各メーカーサイトからインストール – PCに接続すれば管理ソフトのインストール手順が表示 されるデバイスもある – デバイス側の「アプリのデバッグ」を有効に設定する• サイトから配布されていなければ、”SDK Manager.exe”で”Android USB Driver”をインストー ルし、infファイルの中を頑張って弄る – 検索してください• それでも駄目ならSDカードやLAN経由で – ただしデバッグできない、すごい大変 (´・ω・`)Shobomaru 15
  16. 16. EclipseへOpenCVをインポート• Eclipseに戻り、”File”、”Import” – “Android”の中の”Existing Android Code Into Workspace”を選択、”Next” – Root DirectoryにOpenCV-androidのルートフォルダを 指定 • 反応しなければ”Browse”、”OK” – Projectsの中から”java”と”Puzzle15”を1つ選ぶ • 最初はNDK(native)以外のものを選ぶ方がいい – “Copy projects into workspace”にチェック、”Finish” – OpenCV本体のプロジェクト名は”java” • わかりにくい… (´・ω・`)Shobomaru 16
  17. 17. (´・ω・`)Shobomaru 17
  18. 18. プロジェクトの設定• Project Explorer の”com.opencv.samples.puzzle15.Puzzle15Activity” に赤い×が表示されている場合、SDKのバージョン とライブラリパスを変更する – “com.opencv.(略)”を右クリック、”Properties” – “Android“ – Targetを任意のもの(Android 2.2以降推奨)にチェッ ク、Libraryを一旦”Remove”、”Add”、”java”、”OK” – “OK” (´・ω・`)Shobomaru 18
  19. 19. (´・ω・`)Shobomaru 19
  20. 20. 実行• Ctrl + F11(デバッグなし実行) – あるいは を押す – “Andoird Application”、”OK” • ログ情報が大量なので、実行時間が長いと重くなるかも• 複数のデバイスがあり、実行したいデバイスを選 択したいとき – “com.opencv.(略)”を選択、”Properties”、”Run As”、”Run Configurations…” – “Target”タブの”Always prompt to pick device”にチェッ ク、”Apply” (´・ω・`)Shobomaru 20
  21. 21. (´・ω・`)Shobomaru 21
  22. 22. (´・ω・`)Shobomaru 22
  23. 23. 仮想デバイスの操作• 実際のAndroidデバイスと同じ – Uターンアイコン:戻る(終了) – 家のアイコン:ホームに戻る(内部ではまだ動作中)• ロック画面は、鍵アイコンを右にドラッグ&ド ロップ• 終了は右上×ボタン (´・ω・`)Shobomaru 23
  24. 24. カメラの連携• デフォルトでは市松模様• PCに接続されたカメラを使うに は、”emulator.exe”からコマンドラインで起動する 必要がある – Android SDKのルートフォルダの“toolsemulator.exe” – “emulator -avd [仮想デバイス名] -camera-back webcamN” • Nはカメラのデバイス番号 – ショートカット作っておくと便利 (´・ω・`)Shobomaru 24
  25. 25. あれっ? ショボーン(´・ω・`)Shobomaru 25
  26. 26. Android NDKは?• Android SDK r20からNDKが統合された – 超嬉しい – プロジェクトを右クリック、”Android Tools”、”Add Native Support…”でCDTと連携してビルドできる – が、なぜかインクルードパスが認識できない – ビルドは成功し、apkも出力されるのに実行できない – 参考:回避方法 • http://slowbuild.blog120.fc2.com/blog-entry-349.html (´・ω・`)Shobomaru 26
  27. 27. まとめ• まとめる内容じゃないよね(´・ω・`) (´・ω・`)Shobomaru 27
  28. 28. ライセンス• このスライドは全て、 「クリエイティブ・コモンズ 表示 2.1」 の下で提供しています (ただし引用した図・文字を除く) (´・ω・`)Shobomaru 28

×