【Python/OpenCV】ブロブ解析+カラートラッキングで物体追跡

Python+OpenCVのブロブ解析+カラートラッキングで物体追跡する方法をソースコード付きで解説します。

ブロブ解析+カラートラッキングで物体追跡

前回は、HSV色空間に変換して赤色物体を検出し、検出する方法を解説しました。

【Python/OpenCV】カラートラッキング(色追跡)で移動物体検知
Python版OpenCVでカラートラッキング(色追跡)を実装し、移動物体を検出する方法をソースコード付きで解説します。

物体の位置を検出し、追跡したい場合はノイズ(追跡対象以外の部分)を除去する必要があります。
ノイズを除去するために、今回はブロブ解析を利用します。

【Python/OpenCV】最大面積のブロブ情報(座標など)を取得
この記事では、Python版OpenCVで面積が最大のブロブを解析(中心座標やサイズなど取得)する方法をソースコード付きで解説します。

ブロブ解析とは、画像をラベリング処理し、ラベル付けされた領域の特徴を解析することです。
Python版OpenCVでは、cv2.connectedComponentsWithStats()で2値画像のブロブ解析ができます。
つまり、マスク画像を与えてやると、面積が最大の領域のみを取り出したりできます。
これを応用すれば、動画に複数の赤色物体が映っていても、一番大きな赤色物体だけを追跡できます。

サンプルコード(Python)

サンプルプログラムのソースコードです。


実行結果

■赤色の振り子を追跡している様子

関連ページ

【Python版OpenCV入門】画像処理の基礎〜応用例までサンプルコード付きで徹底解説
Python版OpenCVで画像処理プログラミングを行う方法を入門者向けにソースコード付きで解説するページです。
【画像処理入門】アルゴリズム&プログラミング
画像処理における基本的なアルゴリズムとその実装例(プログラム)についてまとめました。

コメント