opencv - OpenCV.js - 遍历轮廓层次结构
问题描述
我已阅读 OpenCV.js 文档cv.findContours()
,但我找不到访问层次结构(父、子、下一个、上一个)对象的方法。
https://docs.opencv.org/3.4/da/d0a/tutorial_js_contours_hierarchy.html
hierarchy
如何在 JavaScript 中遍历对象?
我正在使用cv.RETR_TREE
轮廓检索模式。
解决方案
如果层级变量是通过 启动的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”。
推荐阅读
- javascript - 如何将基于 Jquery 和 Ajax 的脚本转换为纯 Javascript
- glsl - 为什么 Vulkan 无法识别我的 SPIR-V 着色器?
- json - Observable Angular 8 中的对象用户
- bash - 如何启动并运行 sh 格式化程序?
- java - 如何在所有 JUnit 测试中集成 Spring Instrument javaagent
- grails - Micronaut ReadTimeoutException
- vb.net - CheckForDetailedUpdate 抛出“无法绑定到未安装的部署”
- node.js - Express-JWT 身份验证中间件错误:Next 不是函数
- java - AsyncTask - How can i pass an object as parameter to an anonymous AsyncTask class
- powershell - 用于从 FTPS 服务器下载文件的 Powershell 脚本