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


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


  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. のsurfaceCreated()に params.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE);を追加。無限遠でしかピントが合わなかったのでAutoFocusを有効にした。追加しないと無限遠にフォーカスした状態で動作した。


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

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