AIをARに応用するぞ会 → (第11回) ~OpenCV利用~
こんにちは松原です。
最近ここでは書いてないけどVRやらARアプリの作成をしています。
部屋の中を犬が生活するARアプリ作りたい。
先週の分の勉強会の進捗を書いていきます。
0. 前回まで
前回までで要素開発がここまで完了しました。
・android studioで識別処理の実施
・android studioでカメラプレビューの起動
・androd studioでopencv機能を用いてカメラプレビューの複製
複製した画面はこんな感じ。
上画面がカメラプレビュー, 下画面が複製した画面。
で、今回はandroid studioで複製した画面をいじってみます。
1. できたもの
これができました。
android上でカメラを取得, opencvで画像処理をしました。
— ごまあぶら (@tsukuruiroirop1) 2021年12月5日
上画面はカメラのプレビュー、下画面はそれをopencvでいじったものを描画しています。
下画面左上の矩形は5秒ごとに色が変わり、GODというテキストが書かれています。なにがGODかはわかりません。被写体はK君です。 pic.twitter.com/RKIRJk4NMg
2. ソースコード
描画部分だけ抜き出すとこんな感じ。
/* 5秒間隔で矩形描画 */ final Date date = new Date(); // 現在時刻情報を取得 if (pre_recog_time == 0) { pre_recog_time = date.getTime(); Log.i(TAG, "FIRST pre_recog_time = " + pre_recog_time); } Imgproc.putText(matInput, pre_recog_cls, new Point(20, 60), 5, 5, new Scalar(255, 0, 0));
まあ普通のopencvです。
で、これをcamera startの中のプレビューを設定する関数に入れておけばOK。
全体を通した動くソースは出来上がった時に書いておきます。
3. 要素開発の組み合わせ
ここまででカメラ映像の画像処理及びプレビュー, 画像識別をそれぞれに要素開発しました。
あとは組み合わせるだけなんですが、ここでandroid studioのバージョン問題にぶつかる。
・Tensor Flow Liteによる識別処理はandroid studioが4.1以上じゃないと×
・opencvはライブラリインストールのバグの問題で最新版では×
これによって、今やっているバージョンでは識別処理をそのまま実装できないことが判明。
うまいこと両立できるandroid studioのバージョンを探さなくてはいけません。
ずっとandroid studioのバージョン問題に振り回されてる気がするなあ、
ということでまた次回。