|
|
|
@ -123,10 +123,11 @@ def detect(save_img=False):
|
|
|
|
|
if isinstance(vid_writer, cv2.VideoWriter):
|
|
|
|
|
vid_writer.release() # release previous video writer
|
|
|
|
|
|
|
|
|
|
fourcc = 'mp4v' # output video codec
|
|
|
|
|
fps = vid_cap.get(cv2.CAP_PROP_FPS)
|
|
|
|
|
w = int(vid_cap.get(cv2.CAP_PROP_FRAME_WIDTH))
|
|
|
|
|
h = int(vid_cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
|
|
|
|
|
vid_writer = cv2.VideoWriter(save_path, cv2.VideoWriter_fourcc(*opt.fourcc), fps, (w, h))
|
|
|
|
|
vid_writer = cv2.VideoWriter(save_path, cv2.VideoWriter_fourcc(*fourcc), fps, (w, h))
|
|
|
|
|
vid_writer.write(im0)
|
|
|
|
|
|
|
|
|
|
if save_txt or save_img:
|
|
|
|
@ -145,20 +146,20 @@ if __name__ == '__main__':
|
|
|
|
|
parser.add_argument('--img-size', type=int, default=640, help='inference size (pixels)')
|
|
|
|
|
parser.add_argument('--conf-thres', type=float, default=0.4, help='object confidence threshold')
|
|
|
|
|
parser.add_argument('--iou-thres', type=float, default=0.5, help='IOU threshold for NMS')
|
|
|
|
|
parser.add_argument('--fourcc', type=str, default='mp4v', help='output video codec (verify ffmpeg support)')
|
|
|
|
|
parser.add_argument('--device', default='', help='cuda device, i.e. 0 or 0,1,2,3 or cpu')
|
|
|
|
|
parser.add_argument('--view-img', action='store_true', help='display results')
|
|
|
|
|
parser.add_argument('--save-txt', action='store_true', help='save results to *.txt')
|
|
|
|
|
parser.add_argument('--classes', nargs='+', type=int, help='filter by class')
|
|
|
|
|
parser.add_argument('--agnostic-nms', action='store_true', help='class-agnostic NMS')
|
|
|
|
|
parser.add_argument('--augment', action='store_true', help='augmented inference')
|
|
|
|
|
parser.add_argument('--update', action='store_true', help='update all models')
|
|
|
|
|
opt = parser.parse_args()
|
|
|
|
|
print(opt)
|
|
|
|
|
|
|
|
|
|
with torch.no_grad():
|
|
|
|
|
detect()
|
|
|
|
|
|
|
|
|
|
# # Update all models
|
|
|
|
|
# for opt.weights in ['yolov5s.pt', 'yolov5m.pt', 'yolov5l.pt', 'yolov5x.pt', 'yolov3-spp.pt']:
|
|
|
|
|
# detect()
|
|
|
|
|
# create_pretrained(opt.weights, opt.weights)
|
|
|
|
|
if opt.update: # update all models (to fix SourceChangeWarning)
|
|
|
|
|
for opt.weights in ['yolov5s.pt', 'yolov5m.pt', 'yolov5l.pt', 'yolov5x.pt', 'yolov3-spp.pt']:
|
|
|
|
|
detect()
|
|
|
|
|
create_pretrained(opt.weights, opt.weights)
|
|
|
|
|
else:
|
|
|
|
|
detect()
|
|
|
|
|