2016-10-09 3 views
0

私は、Contournを使ってイメージ内のオブジェクトを探しています。私は最終結果を見るためにboundRectsにpossibles cadidatesを囲ん​​でいます。私は、高さ>幅(黒丸で囲む)のどこかで再結果を取り除きたいです。これを行うための任意の提案。あなたのヘルプと対応に感謝します。opencv 3.0でboundRectを消去するC++

enter vector<vector<Point> > contours_poly(contours.size()); 
      vector<Rect> boundRect(contours.size()); 

      for (size_t i = 0; i < contours.size(); i++) 
      { 
       approxPolyDP(Mat(contours[i]), contours_poly[i], 3, true); 
       boundRect[i] = boundingRect(Mat(contours_poly[i])); 
      } 
      for (int i = 0; i < contours.size(); i++) 
      { 
       Scalar color = Scalar(255, 0, 255); 
       rectangle(result_white, boundRect[i].tl(), boundRect[i].br(), color, 2, 8, 0); 
       rectangle(imageLoad, boundRect[i].tl(), boundRect[i].br(), color, 2, 8, 0); 
      } 
      imshow("white final", imageLoad); 

と間に合わない最終的な結果は次のとおりです:私のコードがある final image

+0

削除とはどういう意味ですか?その時点でイメージの内容を削除したい場合は、マスクを作成し、このマスクをイメージに適用することができます。 – PSchn

+0

あなたのコメントをありがとう、私は生成されたboundRect内部の輪郭を消去したい。 – Alexander33

+0

「消去」とは何を意味していますか? – PSchn

答えて

0

なぜそれらを削除しますか?

あなたのリクエストに合わない場合は、四角形のベクトルに追加しないでください(ベクトルにはpush_backを使用してください)。

+0

ご意見ありがとうございます、私は生成されたboundRect内部の輪郭を消去したい。 – Alexander33

+0

次に、背景色で塗りつぶした矩形を描きます。 –

+0

回答ありがとう@Andrey Smorodov – Alexander33

関連する問題