deepsort中draw_boxes()的使用方法
时间: 2024-05-11 18:13:51 浏览: 139
cesium-draw_cesium_draw_
5星 · 资源好评率100%
deepsort中的draw_boxes()是一个用于在图像上绘制bounding box和id的函数,其使用方法如下:
1. 导入相关库和函数
```python
import cv2
import numpy as np
from deep_sort import generate_detections as gdet
```
2. 创建绘制bounding box和id的函数
```python
def draw_boxes(frame, bboxes, ids, colors):
for bbox, id, color in zip(bboxes, ids, colors):
x1, y1, x2, y2 = bbox.astype(np.int32)
cv2.rectangle(frame, (x1, y1), (x2, y2), color, 2)
text_size = cv2.getTextSize(str(id), cv2.FONT_HERSHEY_COMPLEX_SMALL, 1, 1)[0]
cv2.rectangle(frame, (x1, y1), (x1 + text_size[0] + 3, y1 + text_size[1] + 4), color, -1)
cv2.putText(frame, str(id), (x1, y1 + text_size[1] + 4), cv2.FONT_HERSHEY_COMPLEX_SMALL, 1, [225, 255, 255], 1)
return frame
```
3. 调用draw_boxes()函数绘制bounding box和id
```python
# 在视频帧上绘制bounding box和id
draw_boxes(frame, bboxes, ids, colors)
```
其中,frame是原始视频帧,bboxes是检测到的bounding box的坐标,ids是对应的目标id,colors是每个目标id对应的颜色。函数会返回绘制好bounding box和id的视频帧。
阅读全文