| 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) |