0

opencv 関数を使用して接続コンポーネント (またはブロブ) の面積を計算する方法findcontourscontourAreaこの投稿が示唆する方法を理解しています。ただし、テスト イメージでは、これら 2 つの関数を使用して最大の連結要素を見つけるのが困難です。私のテスト画像は次のとおりです。 ここに画像の説明を入力

テスト イメージは、明らかに 2 つの接続されたコンポーネントで構成されています。

コンポーネント 1

ここに画像の説明を入力

コンポーネント 2

ここに画像の説明を入力

コンポーネント 2 がコンポーネント 1 よりも大きいことは明らかですが、 を使用するabs(contourArea())と逆の結果が得られます。何か案は?ありがとう。

編集:この方法を使用して面積を計算すると、正しい結果を得ることができます:

cv::Rect rect = boundingRect(contours[i]);
area = rect.area();
4

0 に答える 0