birth
This commit is contained in:
61
detection/image_demo.py
Normal file
61
detection/image_demo.py
Normal file
@@ -0,0 +1,61 @@
|
||||
# Copyright (c) OpenMMLab. All rights reserved.
|
||||
import asyncio
|
||||
from argparse import ArgumentParser
|
||||
|
||||
from mmdet.apis import (async_inference_detector, inference_detector,
|
||||
init_detector, show_result_pyplot)
|
||||
import mmcv
|
||||
import mmcv_custom # noqa: F401,F403
|
||||
import mmdet_custom # noqa: F401,F403
|
||||
import os.path as osp
|
||||
|
||||
|
||||
def parse_args():
|
||||
parser = ArgumentParser()
|
||||
parser.add_argument('img', help='Image file')
|
||||
parser.add_argument('config', help='Config file')
|
||||
parser.add_argument('checkpoint', help='Checkpoint file')
|
||||
parser.add_argument('--out', type=str, default="demo", help='out dir')
|
||||
parser.add_argument(
|
||||
'--device', default='cuda:0', help='Device used for inference')
|
||||
parser.add_argument(
|
||||
'--palette',
|
||||
default='coco',
|
||||
choices=['coco', 'voc', 'citys', 'random'],
|
||||
help='Color palette used for visualization')
|
||||
parser.add_argument(
|
||||
'--score-thr', type=float, default=0.3, help='bbox score threshold')
|
||||
parser.add_argument(
|
||||
'--async-test',
|
||||
action='store_true',
|
||||
help='whether to set async options for async inference.')
|
||||
args = parser.parse_args()
|
||||
return args
|
||||
|
||||
|
||||
def main(args):
|
||||
# build the model from a config file and a checkpoint file
|
||||
model = init_detector(args.config, args.checkpoint, device=args.device)
|
||||
# test a single image
|
||||
result = inference_detector(model, args.img)
|
||||
|
||||
mmcv.mkdir_or_exist(args.out)
|
||||
out_file = osp.join(args.out, osp.basename(args.img))
|
||||
# show the results
|
||||
model.show_result(
|
||||
args.img,
|
||||
result,
|
||||
score_thr=args.score_thr,
|
||||
show=False,
|
||||
bbox_color=args.palette,
|
||||
text_color=(200, 200, 200),
|
||||
mask_color=args.palette,
|
||||
out_file=out_file
|
||||
)
|
||||
print(f"Result is save at {out_file}")
|
||||
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
args = parse_args()
|
||||
main(args)
|
||||
Reference in New Issue
Block a user