3

OpenCV のセグメンテーション方法、つまりピラミッド セグメンテーション( にありますopencv2/imgproc/imgproc_c.h)について質問があります。

分割された領域からポイントにアクセスする方法がわかりません。

私が現在行っていることは次のとおりです。

cvPyrSegmentation(image, image_seg, storage, &comp, level, threshold1, threshold2);

for (unsigned int cur_seg = 0; cur_seg < total_segments; ++cur_seg) {
      CvConnectedComp* cc = (CvConnectedComp*) cvGetSeqElem(comp, cur_seg);
      // Missing part to access points from this segment 
}

cc各要素からポイントにアクセスする方法についての情報はあまり見つかりませんでした。提案をいただければ幸いです。

ありがとうございました。

PS 何らかの理由で、ピラミッド セグメンテーションの C++ バージョンは OpenCV の新しいバージョン (>2.3) ではサポートされていないため、C 実装が必要です。

4

1 に答える 1

1

Learning OpenCVによると、コンポーネントのバウンディング ボックスを表すCvRect rect接続コンポーネント構造体 ( ) の属性を使用することになっています (そうしないと、コンポーネントの領域、平均色が得られ、この種のセグメンテーションには設定されません)。cc->rectcc->areacc->valuecc->contour

また、このバウンディング ボックスを自由に使用することもできます。たとえば、cvFloodFill操作を実行して、セグメント化されたコンポーネントを視覚化しrect、ブール値マスクとして使用して、塗りつぶされる領域を制約することができます。

于 2012-10-11T09:03:22.060 に答える