yolov6源码里自带了图片的推理,推理完成后结果图片保存再runs/inference文件夹下;
但当我们想对视频进行推理的时候不是很方便,但v6里面封装了对图片的推理函数,我们只需要稍微改一下即可。
默认的图片推理代码如下:
inferer = Inferer(source, weights, device, yaml, img_size, half)
inferer.infer(conf_thres, iou_thres, classes, agnostic_nms, max_det, save_dir, save_txt, save_img, hide_labels, hide_conf)
我们只需要基于图片的infer代码,修改出一个infer_video接口即可:
找到inferer.py,定义两个新函数,其实就是复制infer和process_image函数并略微修改
1. infer_video
def infer_video(self, cap, conf_thres, iou_thres, classes, agnostic_nms, max_det, save_dir, save_txt, save_img, hide_labels, hide_conf):
cv2.namedWindow("test", cv2.WINDOW_NORMAL)
while True:
r, frame = cap.read()
if not r:
break
else:
img, img_src = self.precess_video(frame, self.img_size, self.stride, sel