变量格式
输入:视频,格式通过改文件名字确定
ground truth / target标签格式:一个txt文档,其中包含若干行lines,每一行为
[object_id conf frame_index x y w h] 如果格式不对应 只需要修改读取文档的代码部分即可
实现代码
需要的函数库
import os
import cv2
import numpy as np
需要定义的三个路径(txt文档所在路径、输入视频路径、输出视频路径)
det_path = "../detections.txt" # 根据使用情况修改
video_path = "../video.avi" # 根据使用情况修改
out_video_path = "../video_out.mp4" # 输出文件路径 当前代码支持格式为mp4 如需修改格式 需修改下文编码方式
对每一种对象,获得随机的颜色
def get_random_color(object_id): # 用每一种不同的对象 设置对应随机种子以每次获得相同的颜色
np.random.seed(object_id)
random_color = np.random.randint(0,255,3)
return (int(random_color[0]),int(random_color[1]),int(random_color[2]))
整理输入txt文件,以每一帧整理对应的bounding box集合
def sort_tracklets(gts):
sorted_gts = {
}
for line in gts:
line = line.strip().split(" ")
object_id = int(line[0])
#if object != "car": #这里可以通过这样的方式进行筛选 diy