Help us understand the problem. What is going on with this article?

OpenCVの顔認識をAndroidスマホで動作させる

More than 1 year has passed since last update.

はじめに

OpenCVの顔認識をAndroidで動作させるには、AndroidでOpenCV 3.2を使って顔検出をするを真似れば良かった。特に記事にする必要もないように思ったけれど、ここでは、Android Studioのバージョンが上がったためか修正が必要な部分があったので、若干補足を記載。

動作確認環境

  • OpenCV, version 3.4.2
  • Android Studio 3.1.3
  • Build #AI-173.4819257, built on June 5, 2018
  • JRE: 1.8.0_152-release-1024-b01 x86_64
  • JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
  • macOS High Sierra, version.10.13.6
  • Moto G5 Plus, Android 7.0

修正箇所

https://blogs.osdn.jp/2017/02/10/opencv.html
からの修正箇所。

  1. Target API Version, Min API Version, Compile API Versionを API 24 (Android 7.0)に揃えた。
  2. AndroidManifest.xmlからandroid:roundIcon="@mipmap/ic_launcher_round"を削除。roundIconはAPI Level 25 (Android 7.1)以降でのみ対応しているらしい。
  3. /main/res/layout/activity_main.xml に android:id="@+id/activity_main" を追加。
  4. CameraView.java のsurfaceCreated()に params.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE);を追加。無限遠でしかピントが合わなかったのでAutoFocusを有効にした。追加しないと無限遠にフォーカスした状態で動作した。

まとめ

Moto G5 Plus(Android 7.0)でOpenCV3.4.2のhaarcascade_frontalface_alt.xmlを使った顔認識が動作した。

mktshhr
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away