茨城エンジニアのPython開発日記

茨城のITベンチャー企業ではたらく2年目エンジニア。Pythonで色々なものを作成中。

AIをARに応用するぞ会 → (第11回) ~OpenCV利用~


ブログから記事を見つけたい場合はこちら

ブログ地図 - 茨城エンジニアのPython開発日記

こんにちは松原です。
最近ここでは書いてないけどVRやらARアプリの作成をしています。
部屋の中を犬が生活するARアプリ作りたい。

先週の分の勉強会の進捗を書いていきます。

0. 前回まで

前回までで要素開発がここまで完了しました。

android studioで識別処理の実施
android studioでカメラプレビューの起動
・androd studioでopencv機能を用いてカメラプレビューの複製


複製した画面はこんな感じ。
f:id:tottorisnow33:20211219100954p:plain
上画面がカメラプレビュー, 下画面が複製した画面。

で、今回はandroid studioで複製した画面をいじってみます。

1. できたもの

これができました。



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のバージョン問題に振り回されてる気がするなあ、

ということでまた次回。