Sorting C++ OpenCV按层次排序轮廓层次结构

Sorting C++ OpenCV按层次排序轮廓层次结构,sorting,opencv,tree,hierarchy,Sorting,Opencv,Tree,Hierarchy,我有一棵等高线树。我知道,我有一个由数组表示的等高线树 hierarchy[][4] 结构是[下一个、上一个、第一个子、父] 我的问题是获得当前轮廓的水平。我想知道水平。我完全不知道如何从父对象、子对象、下一个或上一个轮廓获取此级别 任何人都可以提供代码来获取树中轮廓的级别吗 非常感谢当您想要获得轮廓级别时,您必须转到父对象的父对象的父对象,直到到达根。这适用于任何树型数据结构,而不仅仅是此树型数据结构 int nodeIndex = ....; // the contour whose d

我有一棵等高线树。我知道,我有一个由数组表示的等高线树

hierarchy[][4]
结构是[下一个、上一个、第一个子、父]

我的问题是获得当前轮廓的水平。我想知道水平。我完全不知道如何从父对象、子对象、下一个或上一个轮廓获取此级别

任何人都可以提供代码来获取树中轮廓的级别吗


非常感谢

当您想要获得轮廓级别时,您必须转到父对象的父对象的父对象,直到到达根。这适用于任何树型数据结构,而不仅仅是此树型数据结构

int nodeIndex = ....; // the contour whose depth you want to know
int depth=0;
// move from child to parent until you reach the outermost contour
while(hierarchy[nodeIndex][3] != -1) {
    depth++;
    nodeIndex = hierarchy[nodeIndex][3];
}