Python+OpenCVのブロブ解析+カラートラッキングで物体追跡する方法をソースコード付きで解説します。
ブロブ解析+カラートラッキングで物体追跡
前回は、HSV色空間に変換して赤色物体を検出し、検出する方法を解説しました。
【Python/OpenCV】カラートラッキング(色追跡)で移動物体検知
Python版OpenCVでカラートラッキング(色追跡)を実装し、移動物体を検出する方法をソースコード付きで解説します。
物体の位置を検出し、追跡したい場合はノイズ(追跡対象以外の部分)を除去する必要があります。
ノイズを除去するために、今回はブロブ解析を利用します。
【Python/OpenCV】最大面積のブロブ情報(座標など)を取得
この記事では、Python版OpenCVで面積が最大のブロブを解析(中心座標やサイズなど取得)する方法をソースコード付きで解説します。
ブロブ解析とは、画像をラベリング処理し、ラベル付けされた領域の特徴を解析することです。
Python版OpenCVでは、cv2.connectedComponentsWithStats()で2値画像のブロブ解析ができます。
つまり、マスク画像を与えてやると、面積が最大の領域のみを取り出したりできます。
これを応用すれば、動画に複数の赤色物体が映っていても、一番大きな赤色物体だけを追跡できます。
サンプルコード(Python)
サンプルプログラムのソースコードです。
実行結果
■赤色の振り子を追跡している様子
関連ページ
【Python版OpenCV入門】画像処理の基礎〜応用例までサンプルコード付きで徹底解説
Python版OpenCVで画像処理プログラミングを行う方法を入門者向けにソースコード付きで解説するページです。
【画像処理入門】アルゴリズム&プログラミング
画像処理における基本的なアルゴリズムとその実装例(プログラム)についてまとめました。
コメント