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->rect)的属性,它表示组件的边界框(否则cc->area会给出组件的区域,cc->value平均颜色并且cc->contour不为这种分割设置)。

它还精确地表明,您可以按照自己的方式使用此边界框,例如,您可能想要执行cvFloodFill操作 - 以便可视化分段组件,将rect其用作布尔掩码来约束将被填充的区域。

于 2012-10-11T09:03:22.060 回答