我正在使用opencv的cvFindContour函数,其中有一个参数RETR_TYPE意味着retrivel类型,因此我没有得到CV_RETR_LIST,CV_RETR_TREE,CV_RETR_EXTERNAL之间有什么区别?
解决方法
看看
the documentation for
findContours
.
主要区别在于返回的层次结构(给出一个轮廓和下一个轮廓之间的关系).
> CV_RETR_EXTERNAL给出“外”轮廓,所以如果你有一个包围另一个轮廓的轮廓(如同心圆),则只给出最外面的轮廓.> CV_RETR_LIST给出所有的轮廓,甚至不打算计算层次结构 – 如果你只想要轮廓,并且不关心是否嵌套在另一个轮廓之内,那么很好.> CV_RETR_CCOMP给出轮廓并将它们组织成外轮廓和内轮廓.每个轮廓都是对象的轮廓,或者另一个对象(即孔)中的对象轮廓.相应地调整层次结构.如果(说)你想要找到所有的孔,这可以是有用的.> CV_RETR_TREE计算轮廓的完整层次结构.所以你可以说object1嵌套在object2的深层4层,object3也嵌套4层深.