************实现串行处理多路流 返回多路视频的目标检测结果******************
#错误示例 同一帧,如果该帧有4个目标,会返回4帧相同的数据。
def post_process():
return_boxs = []
return_scores = []
return_cls = []
_boxs = []
_scores = []
_cls = []
for i in range(4):
_boxs.append([1+i, 1+i, 1+i, 1+i]) # 原因分析 i=0的时候,return_boxs只存了一个——boxs, 但i=1的时候,执行到这里,_boxs会自动添加到return_boxs。
_scores.append(0.3)
_cls.append(1)
return_boxs.append(_boxs)
return_scores.append(_scores)
return_cls.append(_cls)
return return_boxs, return_scores, return_cls
return_boxs = []
return_scores = []
return_cls = []
for image_file in range(2):
return_boxs, return_scores, return_cls = post_process()
print("return_boxs000=====",return_boxs)
#正确示例
def post_process1():
_boxs = []
_scores = []
_cls = []
for i in range(4):
_boxs.append([1+i, 1+i, 1+i, 1+i])
_scores.append(0.3)
_cls.append(1)
return _boxs, _scores, _cls
batch_return_boxs = []
batch_return_scores = []
batch_return_cls = []
for image_file in range(2):
return_boxs, return_scores, return_cls = post_process1()
batch_return_boxs.append(return_boxs)
batch_return_scores.append(return_scores)
batch_return_cls.append(return_cls)
print("batch_return_boxs=====",batch_return_boxs)