opencv:检测最小矩形的时间复杂度
opencv: Time complexity to detect minimum rectangle
我开始学习opencv的最小矩形检测。我需要为此计算时间复杂性,但仍然对以下方法感到困惑:
- findContours()
- minAreaRect()
任何人都可以帮我
- 这些方法是如何工作的
- 这些方法的时间复杂度是多少
任何参考都是可观的
cv::findContours()
使用算法(链接)从二进制图像中检索轮廓:
Suzuki,S.和Abe,K.,数字化的拓扑结构分析按边框跟随的二进制图像。CVGIP 30 1,第32-46页(1985)
该算法的基本概念包括通过考虑拓扑分析来跟踪边缘。因此,提取了内部边缘和外部边缘之间的关系。在实践中,该算法区分外部边界和内部边界,并对其进行分层分类,因此,如果一个轮廓围绕该轮廓,则该轮廓被视为另一个轮廓的"父"轮廓。
另一方面,cv::minAreaRect()
找到包围一组点的有向最小边界框。它是一种边界体积。对于物体的凸包,找到最小的包围盒就足够了。对于凸多边形,已知最小面积包围矩形的线性时间算法。根据观察,最小面积封闭框的一侧必须与凸多边形的一侧共线(见[1])。用旋转卡尺的方法可以在线性时间内列举出这种盒子。
相关文章:
- 向量 <int> a {N, 0} 和 int arr a[N] = {0} 的时间复杂度有什么区别
- while循环中while循环的时间复杂度是多少
- 我可以创建一个包含两个变量的 for 循环,但时间复杂度仍然为 O(n) 吗?
- 函数的时间复杂度是多少?
- 如何检查两个 std::向量在小于 O(n) 的时间复杂度内是否相等
- 时间复杂度 当具有复合数据类型(如元组或对)时?
- 如何计算此排序函数的时间复杂度?
- 计算两个代码块的时间复杂度
- C++ 中具有 O(1) 搜索时间复杂度的数据结构
- 具有嵌套 if-else 的循环的时间复杂度
- 将树节点添加到向量向量中的 n 元树遍历的平均和最坏情况时间复杂度是多少?
- 如何计算函数的时间复杂度?
- 求解包含"variables"的 T(n) 时间复杂度
- 查找数字是否为 2 的幂的时间复杂度
- C++ - 最坏情况和平均情况插入时间复杂度在 std::unordered_map <int,int>?
- 为什么一种算法在相同的时间复杂度下比另一种算法更快?
- 关于记忆后这种递归关系的时间复杂度
- 2 个嵌套循环的时间复杂度
- 如何以尽可能低的时间复杂度检测网格中的周期
- opencv:检测最小矩形的时间复杂度