for i, rect in enumerate(sorted(rects, key=lambda x: x[1][0] * x[1][1], reverse=True)): box = cv2.boxPoints(rect) box = np.int0(box) print( f'Rank {i + 1}: Size={rect[1][0] * rect[1][1]:.0f}, Centre=({int(rect[0][0])}, {int(rect[0][1])}), Width={rect[1][0]:.0f}, Height={rect[1][1]:.0f}, Angle={rect[2]:.0f}, \nCorners={box}')改为只打印排名前三的
时间: 2023-12-09 09:03:30 浏览: 129
输入学生成绩并打印出排名信息
可以在循环中添加一个计数器变量,用来记录已经打印的矩形数量,当数量达到3时退出循环即可。修改后的代码如下:
```
count = 0
for i, rect in enumerate(sorted(rects, key=lambda x: x[1][0] * x[1][1], reverse=True)):
if count >= 3:
break
box = cv2.boxPoints(rect)
box = np.int0(box)
print(f'Rank {i + 1}: Size={rect[1][0] * rect[1][1]:.0f}, Centre=({int(rect[0][0])}, {int(rect[0][1])}), Width={rect[1][0]:.0f}, Height={rect[1][1]:.0f}, Angle={rect[2]:.0f}, \nCorners={box}')
count += 1
```
这样就只会打印排名前三的矩形信息了。
阅读全文