3

いくつかの色検出、バイナリしきい値処理、および cvFindContours() を使用して輪郭を描画し、画像に青い四角形を検出した後:

ここに画像の説明を入力

私の問題は、いくつかの単純な衝突回避です(中央の青い長方形は赤い「壁」にぶつかることはできません)。赤い壁の輪郭を長方形のように近似すると、私の目的に役立ちます。ただし、単純な cvBoundingRect を使用して、白い輪郭の周りに赤い四角形を描画すると、次のようになります。

ここに画像の説明を入力

エッジは少し切り取られていますが、輪郭全体が境界四角形の近似に使用されるため、輪郭に境界四角形を使用すると予想されることを理解できるかもしれません。私が望むのは、壁の輪郭を複数の境界長方形に分割することです。たとえば、左の壁を1つの長方形として近似し、右の壁、前の壁など...以下の例示的な表現のように:

ここに画像の説明を入力

そのための助けをいただければ幸いです。

4

1 に答える 1

1

行 (通常は Hough、RANSAC) と、問題に関するその他の情報を検出するだけで十分です。たとえば、左の下の画像から始めて、右の下の画像が得られます。

ここに画像の説明を入力 ここに画像の説明を入力

しかし、上の画像が左側にある場合 (既にあるはずです)、問題は既に解決されています。壁の内側と外側の両方の輪郭を描くだけで準備完了です。

于 2013-02-10T14:51:13.330 に答える