Webカメラの画像を取り込んで処理してみる
コネクシオのテックブログをご覧いただきありがとうございます。
テックブログでは、ちょっと役立つ技術情報やコネクシオの製品を使ってできることを紹介しています。
昨今AIが進化するなかで、画像解析技術が注目を集めています。ビジネスシーンにおける導入事例も増加しており、今後の発展にも大きな期待が寄せられている分野です。「画像解析に興味はあるけど、実際にどうやってやるのかがわからない」そんな方も多いのではないでしょうか。今回はCONEXIOBlackBearとWEBカメラを使って、簡単な画像解析を行ってみましたのでご紹介します!
目次[非表示]
▼おすすめの関連記事
「CONEXIOBlackBearで利用できるプログラミング言語 」
「エッジコンピューティングとは? メリットや課題を分かりやすく解説 」
「クラウドAIとエッジAIとは? メリット・デメリットや違いを解説 」
画像解析の流れ
今回はCONEXIOBlackBearに接続したWebカメラから取り込んだ画像を、画像認識ライブラリー「OpenCV」を用いて解析します。
OpenCVは、正式名称「Open Source Computer Vision Library」と言います。その名が表すとおり画像処理、画像解析および、機械学習などの機能を持つオープンソースのライブラリのことです。各種プログラミング言語(Pythonをはじめ、C/C++、Javaなど)用にインターフェースが公開されています。
今回の具体的な画像解析の流れですが、以下の機能を持つWebアプリを作成し、画像解析の一つ「テンプレートマッチング」を行います。プログラムの詳細な掲載、解説は行っていないのであらかじめご了承ください。
・ストリーミング機能 (Webカメラで映した映像をWebアプリ上で表示)
・テンプレート画像撮影機能
・テンプレートマッチング画像撮影機能
画像解析の準備
OpenCV、Pythonのセットアップ
CONEXIOBlackBearでは、OpenCV、Pythonがプリインストールされており、すぐに使用できます。※OSのバージョンによって、これらのライブラリのバージョンは異なる場合が有ります。
画像解析(テンプレートマッチング)の実施
「テンプレートマッチング」とは、画像の中から”テンプレート画像”と類似した部分を探し出す画像処理のことです。今回は、作成したWebアプリの機能を使って、このテンプレートマッチングを行った画像表示を行います。
OpenCVでは、これらの機能を少なく簡単なコードで実装することができます。
1.テンプレート画像、マッチング画像撮影
Webカメラで映した映像をWebアプリ上で表示します。(ストリーミング機能)
カメラを調整し、「テンプレート画像撮影」ボタンをクリックして撮影します。(必要に応じて、トリミングなどを行って解析しやすい画像を作成します)
再度、カメラを調整し、「テンプレートマッチング」ボタンをクリックして撮影します。
2.テンプレートマッチング結果確認
Webアプリ上でテンプレートマッチング結果を画像で確認します。
テンプレート画像に類似した部分を抽出して赤枠を描画することができています。
(右がテンプレート画像、左がマッチング結果画像です)
今回は載せられませんでした、実装したプログラムは全体で100ステップ程度と少ないコードで実装することができます。例えば、画像マッチング処理を行うプログラムは、たったこれだけで実装できます。簡単ですよね!
以上、OpenCVを使った画像解析の例をご紹介しました。今回は、テンプレートマッチングだけとなりましたが、OpenCVでは他のライブラリと組み合わせることで、人の顔の検出や、機械学習など本当に多くのことができるようになっています。応用的な画像解析や、WEBアプリ実装などについても、別のページにて改めてご紹介できればと思います!
▼おすすめの関連記事
「CONEXIOBlackBearで利用できるプログラミング言語 」
「エッジコンピューティングとは? メリットや課題を分かりやすく解説 」
「クラウドAIとエッジAIとは? メリット・デメリットや違いを解説 」
CONEXIOBlackBearについてはこちら>>