金字塔分割OpenCV

时间:2012-10-09 18:14:27

标签: c opencv

我对OpenCV的分割方法有疑问,即pyramid segmentation(在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元素访问点的信息。建议将不胜感激。

谢谢。

P.S。由于某些原因,OpenCV(> 2.3)的更高版本不支持C ++版本的金字塔分段,因此需要C实现。

1 个答案:

答案 0 :(得分:1)

根据学习OpenCV ,您应该使用连接组件struct CvRect rect)的cc->rect属性,该属性表示组件的边界框(否则为{{ 1}}给出组件的区域,cc->area平均颜色和cc->value没有为这种分段设置。)

它还可以根据您的需要精确地使用此边界框,例如:您可能希望执行cvFloodFill操作 - 以便可视化分段组件,使用cc->contour作为布尔掩码来约束将要填充的区域。