gpt4 book ai didi

OpenCV:如何在调用 cvFindContours() 后访问 O(1) 中的一个轮廓?

转载 作者:太空宇宙 更新时间:2023-11-03 21:38:46 26 4
gpt4 key购买 nike

我正在使用 OpenCV 比较两幅图像中的两个 Blob 。假设我知道一对可能相似的 Blob ,我知道它们的索引在轮廓数组中(由 cvFindContours() 生成),我怎样才能得到在恒定时间内访问一个轮廓?

最麻烦的方法是多次使用链接操作(contours=contours->h_next),但我想知道是否有更快的方法来检索数组中的一个轮廓。

我在调用 cvFindContours() 时使用 CV_RETR_EXTERNAL 和 CV_CHAIN_APPROX_NONE。

谢谢!-J.C.

最佳答案

我认为函数 cvGetSeqElem 可以满足您的需求。引用 OpenCV docs :“假设 block 的数量远小于元素的数量,该函数的时间复杂度为 O(1)。”我想“ block ”在这种情况下意味着“轮廓”。

另外,看看 cvCvtSeqToArray ( link ),它将一个序列复制到一个连续的内存块。

关于OpenCV:如何在调用 cvFindContours() 后访问 O(1) 中的一个轮廓?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4636395/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com