我已经阅读了cv.findContours()
的OpenCV.js文档,但是找不到任何访问层次结构(父,子,下一个,上一个)对象的方法。
https://docs.opencv.org/3.4/da/d0a/tutorial_js_contours_hierarchy.html
一个人如何遍历JavaScript中的hierarchy
对象?
我正在使用cv.RETR_TREE
轮廓检索模式。
答案 0 :(得分:0)
如果通过cv.mat()
启动了层次结构变量,则矩阵将层次结构值存储在不同的数据类型中,例如CV_8U,CV_16S等。每个链接都可以使用Ptr Manipulation进行访问,如本链接的表格中所示。
https://docs.opencv.org/3.4.3/de/d06/tutorial_js_basic_ops.html
所以迭代看起来像(这里我以CV_32S的方式访问Mat)
for (let i = 0; i < contours.size(); ++i) {
let hier = hierarchy.intPtr(0, i)
}
确保以任何带符号的整数格式访问层次结构,否则就不能为子轮廓检查“ -1”。