mid = RectWidth[sum / 2 - 1]; float meanangle = 0.0; for (int i = 0; i< sum; i++) { RotatedRect rect = rt[i]; /*Point2f pts[4]; rect.points(pts);*/ //过滤矩形宽度超过平均宽度20%的矩形 if (rect.size.width >(mid + 10) || rect.size.width < (mid - 10)) { continue; } RectCenterlist[index].x = rect.center.x; RectCenterlist[index].y = rect.center.y; RectWidth[index] = rect.size.width; RectHeight[index] = rect.size.height; s1 += rect.angle; index++; }此段代码有什么用
时间: 2024-04-19 16:28:59 浏览: 132
Testshape.rar_JavaScript/JQuery_Java_
这段代码的作用是从一个包含多个旋转矩形的数组中筛选出宽度接近平均宽度的矩形,并将这些矩形的中心坐标、宽度、高度和角度进行存储。
具体步骤如下:
1. 定义变量 mid,表示数组中所有矩形宽度的中位数。
2. 初始化平均角度 meanangle 为0。
3. 遍历旋转矩形数组,使用变量 i 作为索引。
4. 对于每个旋转矩形 rect:
- 检查矩形宽度是否超过平均宽度的上下限(mid + 10 和 mid - 10),如果超过则跳过继续下一个矩形。
- 将满足条件的矩形的中心坐标存储到 RectCenterlist 数组中的对应索引位置。
- 将满足条件的矩形的宽度存储到 RectWidth 数组中的对应索引位置。
- 将满足条件的矩形的高度存储到 RectHeight 数组中的对应索引位置。
- 将满足条件的矩形的角度累加到变量 s1 中。
- 将索引值 index 自增,用于下一个满足条件的矩形。
最终,这段代码将满足宽度接近平均宽度的旋转矩形的相关信息存储到对应的数组中,并计算了这些矩形的角度总和。
阅读全文