【Python/OpenCV】「cv2.connectedComponentsWithStats」で2値画像のラベリングとブロブ解析

Python版OpenCVの「cv2.connectedComponentsWithStats」で2値画像ラベリングを行い、ブロブを解析する方法をソースコード付きで解説します。

スポンサーリンク

ラベリングとブロブ解析

画像をラベリング処理し、ラベル付けされた領域の特徴を解析することをブロブ解析といいます。
Python版OpenCVでは、「cv2.connectedComponentsWithStats」を使うことでより詳しいラベルの情報(各ラベルの外接矩形の座標, 大きさ, ラベルの面積・重心)を得ることができます。
今回はこれを使ってブロブ解析を行います。

スポンサーリンク

サンプルコード

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


サンプルプログラムの実行結果です。
■入力画像

■実行結果

ブロブの個数: 3
各ブロブの外接矩形の左上x座標 [ 18 188 201]
各ブロブの外接矩形の左上y座標 [ 17  39 133]
各ブロブの外接矩形の幅 [157  99  86]
各ブロブの外接矩形の高さ [195  69  72]
各ブロブの面積 [24025  6831  4959]
各ブロブの中心座標:
 [[ 96.03862643 114.05739854]
 [237.          73.        ]
 [239.72554951 174.98648921]]
スポンサーリンク

関連ページ

Python版OpenCVで画像処理入門・サンプル集
Python版OpenCVで画像処理プログラミングを行う方法を入門者向けにソースコード付きで解説するページです。
Python画像処理
スポンサーリンク
西住工房

コメント