🌊
Androidによる画像処理OpenCV
mnistに関する記事はこちら
OpenCV導入
公式サイトからOpenCVライブラリをDL
-
公式サイトから最新のOpenCV Android SDKをダウンロード
現在の最新バージョンは4.11.0(2025年4月15日時点)
- 最新バージョン(4.11.0)の「opencv-4.10.0-android-sdk.zip」をダウンロード
- ダウンロードしたZIPファイルを解凍
Android StudioにOpenCVをインポート
- Android Studioを開き、「Atl+\」キーでメニューを開き「File > New > Import Module」を選択
- 「Import Module from Source」画面で、解凍したOpenCVフォルダ内の「sdk」ディレクトリを選択
- モジュール名を「opencv」として、「Finish」をクリック
インポートに時間がかかるので待ちます。
(私の環境で5分ぐらい待ちました。AndroidStudioが死んだかと思いました😂)
依存関係などの設定
-
「alt+\」キーでメニューを開き「File>Project Structure」を選択
-
Project Structure画面が開くので、「Dependencies>All Modules>+ボタン>Module Dependency」を選択
-
「app」を選択
-
「opencv」にチェックを入れて「OK」をクリック
-
「opencv」が追加されたのを確認し、「OK」をクリック
-
Java/Kotlinのバージョン互換性を確保するために、build.gradle(Module:app)に以下の設定を変更
build.gradle.ktsandroid { //省略 compileOptions { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } kotlinOptions { jvmTarget = "17" } //省略
-
OpenCVモジュールのbuild.gradleファイルを修正。
OpenCV SDK側でKotlinを使うことが非推奨のようで、Kotlinを使っていないのに、Kotlin-androidプラグインが適用されてしまうため、Kotlinコンパイラが動きエラーになってしまうっぽいです。
このあたりの仕組みはよくわかりません><
try-catchの部分を全部コメントアウト。
あと、javaのバージョンもAppのgradleに合わせて修正。build.gradle(Moduleapply plugin: 'com.android.library' apply plugin: 'maven-publish' //try { // apply plugin: 'kotlin-android' // println "Configure OpenCV with Kotlin" //} catch (Exception e) { // println "Configure OpenCV without Kotlin" //} android { //省略 compileOptions { sourceCompatibility JavaVersion.VERSION_17 targetCompatibility JavaVersion.VERSION_17 } //省略
-
Sync Now!!!!
OpenCVの初期化
MainActivity.ktを開き、緑の部分を追加。
MainActivity
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
+ if (OpenCVLoader.initLocal()) {
+ Log.d("opencv", "OpenCV loaded successfully")
+ } else {
+ Log.d("opencv", "OpenCV failed to load")
+ }
//以下省略
}
}
アプリ実行でログキャット確認
アプリを実行してみます。
ログキャットさんにOpenCVのロードに成功したって表示された🤣
Discussion