いくつかの色検出、バイナリしきい値処理、および cvFindContours() を使用して輪郭を描画し、画像に青い四角形を検出した後:
私の問題は、いくつかの単純な衝突回避です(中央の青い長方形は赤い「壁」にぶつかることはできません)。赤い壁の輪郭を長方形のように近似すると、私の目的に役立ちます。ただし、単純な cvBoundingRect を使用して、白い輪郭の周りに赤い四角形を描画すると、次のようになります。
エッジは少し切り取られていますが、輪郭全体が境界四角形の近似に使用されるため、輪郭に境界四角形を使用すると予想されることを理解できるかもしれません。私が望むのは、壁の輪郭を複数の境界長方形に分割することです。たとえば、左の壁を1つの長方形として近似し、右の壁、前の壁など...以下の例示的な表現のように:
そのための助けをいただければ幸いです。