2015-01-28 7 views
1

컨투어 (RETR_TREE)가 있습니다. 내가 배열로 표시 윤곽의 나무를 가지고, 이해한다C++ OpenCV 수준별 등고선 계층 정렬

hierarchy[][4] 

구조 [다음, 이전, First_Child, 부모]

(http://docs.opencv.org/trunk/doc/py_tutorials/py_imgproc/py_contours/py_contours_hierarchy/py_contours_hierarchy.html는)

내 문제는를 얻을 수 있습니다 현재 윤곽의 레벨. 나는 그 수준을 알고 싶다. 부모, 자식, 다음 또는 이전 윤곽선에서이 레벨을 얻는 방법을 절대 알지 못합니다.

누구나 트리의 등고선 레벨을 얻기위한 코드를 제공 할 수 있습니까? 당신이 부모의 부모의 부모에 가야 윤곽의 수준을 얻을하려는 경우 루트에 도달 할 때까지

, 당신에게

답변

0

대단히 감사합니다. 이는 트리가 아닌 모든 데이터 구조에 적용됩니다.

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]; 
}