23
26

More than 5 years have passed since last update.

kotlinでOpenCV(環境設定編)

Last updated at Posted at 2017-11-30

最近openCV使う人ってpython使う人が多いらしく、参考記事読んでもぱっと見、何がMatなのかなんなのか型がわからないです。そこに一石投じたいのと、kotlinでopenCVて新しいんじゃね?と思ったので書いてみました。(実際はjavaのときとそう変わらないのですがまだ記事として書いている人がいなさそうということで)
長くなりそうなので3回ぐらいに分けて書こうと思います。

環境設定

OpenCV for Androidのダウンロード

Android用のOpenCVをダウンロードします。ここから自分のほしいバージョンを選んで
(今回は3.2です)opencv-3.2.0-android-sdk.zipをダウンロードして解凍してください。

プロジェクトの作成

MainActivityはBlankで適当にprojectを作ってください。
プロジェクトを作り終わったら「File > New > import Module」を選択して次の画面のSourceDirectoryに次の画面のSource Directoryに(OpenCVを展開した場所)/OpenCV-android-sdk/sdk/javaと入力してください。

すくりーん1.png

ModuleNameは適当で大丈夫です。デフォルトでopenCVLibrary320て感じの名前がつきます。

OpenCVライブラリをプロジェクトに追加

解凍したOpenCVフォルダからsdk > native > libsをコピーして先程作ったプロジェクトの(プロジェクト名) > app > src > mainにペーストしてください。またこのフォルダの名前をjniLibsに変更してください。うまく目的のディレクトリが見つけられない人はディレクトリの表示をappからprojectにして探してください。

モジュールの依存関係を設定

Android StudioのFile > Project Structureを開き、左側にある「app」を選択して、右上の「Dependencies」タブを開きます。右カラム右上の「+」ボタンを押して「Module dependency」選択すると先程取り込んだライブラリが表示されるのでそれを選択して「OK」を押して追加してください。

スリーん2.png

build.gradleの変更

最後にopenCVモジュールの中のbuild.gradleで指定されているcompileSdkVersionとbuildToolsVersionの値をappモジュールのbuild.gradleの値と合わせてください。例えばappの方でcompileSdkVersionが26とか書いてあればopenCVの方のbuild.gradleでも26て書いてやってください。

app: build.gradleの切り抜き
appgradle.png

OpenCV: build.gradleの切り抜き
opencvgradle.png

ここまででOpenCVをAndroidで使う環境が整いました!

kotlin環境を整えていく

このサイトを参考にしてkotlin環境を整えてください。
今回は「kotlin Android Extentsions」(findViewByIdをほぼいらない子にするすごいやつ)を使用したいのでProjectのbuild.gradleにclasspath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"の一行を追加してください。appgradle.png

これでやっと環境設定終わりです!お疲れ様でした!
次回は画像同士の特徴量比較編です!

明日は三千万さんが書いてくれるらしいので楽しみにしています。あの人のことだから素晴らしい記事でしょう。
5日後くらいにまた会いましょう。

参考にしたサイト

環境設定に関してはこのサイトを参考にさせてもらいました、ありがとうございました!

23
26
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
23
26