2017-05-14 7 views
0

私は現在、車をカウントするプログラムで取り組んでいます。今では、各車種の類似点を見つけるために、各車のブロブのサイズや面積を表示して、さらに分類してみます。しかし、私は本当にBLOBのサイズを表示する方法を知りません、私はBLOB [i] .currentBoundingRectを使用してみてください。私がそれをしたときにoptionsのリストが表示されたら、それらのうちのどれを使うことができますか?あなたは私にBlobのサイズ表示と車両分類に関するアドバイスや勧告をくれますか?前もって感謝します。車両クラッシングのためのBlobのサイズの表示方法は?

P/s:blob [i] .currentBoundingRect.areaを試してみると、エラーが発生します。非標準構文。 '&'を使用してメンバーへのポインターを作成します。エリアの後に括弧を追加した後、別のエラーが発生します。エラーC2248:「をCV ::文字列::文字列」:

void drawBlobInfoOnImage(std::vector<Blob> &blobs, cv::Mat &imgFrame2Copy) { 

    for (unsigned int i = 0; i < blobs.size(); i++) { 

     if (blobs[i].blnStillBeingTracked == true) { 
      cv::rectangle(imgFrame2Copy, blobs[i].currentBoundingRect, SCALAR_RED, 2); 

      int intFontFace = CV_FONT_HERSHEY_SIMPLEX; 
      double dblFontScale = blobs[i].dblCurrentDiagonalSize/60.0; 
      int intFontThickness = (int)std::round(dblFontScale * 1.0); 

      cv::putText(imgFrame2Copy, blobs[i].currentBoundingRect.height, blobs[i].centerPositions.back(), intFontFace, dblFontScale, SCALAR_GREEN, intFontThickness); 
     } 
    } 
} 
+0

「サイズ」はどのようにしますか? minEnclosingCircleの半径やminAreaRectなどの幅と高さを使用できます... – Micka

答えて

0

cv::Rect::areaRectの方法でクラスで宣言されたプライベートメンバーのCV :: string 'をアクセスできません。クラスであり、属性ではありません。 これは、次のようにかっこを使用してメソッドを呼び出す必要があることを意味します。blobs[i].currentBoundingRect.area()

関連する問題