提取内部轮廓(HOLES)OpenCV

时间:2012-01-03 06:57:45

标签: image-processing opencv imagemagick computer-vision contour

在丢弃外部轮廓的同时,是否有提取或显示孔的方法?

我只能使用 CV_RETR_EXTERNAL 显示外部轮廓,但似乎无法仅显示内部轮廓(孔)。

1 个答案:

答案 0 :(得分:2)

你可以在C界面上使用这样的东西:

cvFindContours(tmp, storage, &srcSeq, sizeof(CvContour), 
                       CV_RETR_LIST, CV_CHAIN_APPROX_SIMPLE);
        while (srcSeq)
        {
            if (CV_IS_SEQ_HOLE(srcSeq))
            {
                // do something with the hole
            }
            srcSeq = srcSeq->h_next;
        }

如果您使用的是C ++接口,则必须使用FindContours()中的层次结构参数来查看轮廓是否为孔。