import cv2 import argparse from yolov8n import Yolov8N from utils import draw_detect_res def parser_args(): parser = argparse.ArgumentParser(description="Run model benchmarks") parser.add_argument('--target_model',type=str,default='./models/cutoff_yolov8n_qcs8550_fp16.qnn236.ctx.bin',help="inference model path") parser.add_argument('--imgs',type=str,default='./python/bus.jpg',help="Predict images path") parser.add_argument('--height',type=int,default=640,help="run backend") parser.add_argument('--weight',type=int,default=640,help="run backend") parser.add_argument('--cls_num',type=int,default=80,help="run backend") parser.add_argument('--invoke_nums',type=int,default=10,help="Inference nums") parser.add_argument('--model_type',type=str,default='QNN',help="run backend") args = parser.parse_args() return args if __name__ == "__main__": args = parser_args() height = args.height weight = args.weight model = Yolov8N(args.target_model, args.weight, args.height, args.cls_num) frame = cv2.imread(args.imgs) out_boxes= model(frame,args.invoke_nums) print(f"=================== \n Detect {len(out_boxes)} targets.") result = draw_detect_res(frame, out_boxes) cv2.imwrite("./python/result.jpg", result)