# Copyright (c) OpenMMLab. All rights reserved. from argparse import ArgumentParser from mmocr.apis.inferencers import MMOCRInferencer def parse_args(): parser = ArgumentParser() parser.add_argument( 'inputs', type=str, help='Input image file or folder path.') parser.add_argument( '--out-dir', type=str, default='results/', help='Output directory of results.') parser.add_argument( '--det', type=str, default=None, help='Pretrained text detection algorithm. It\'s the path to the ' 'config file or the model name defined in metafile.') parser.add_argument( '--det-weights', type=str, default=None, help='Path to the custom checkpoint file of the selected det model. ' 'If it is not specified and "det" is a model name of metafile, the ' 'weights will be loaded from metafile.') parser.add_argument( '--rec', type=str, default=None, help='Pretrained text recognition algorithm. It\'s the path to the ' 'config file or the model name defined in metafile.') parser.add_argument( '--rec-weights', type=str, default=None, help='Path to the custom checkpoint file of the selected recog model. ' 'If it is not specified and "rec" is a model name of metafile, the ' 'weights will be loaded from metafile.') parser.add_argument( '--kie', type=str, default=None, help='Pretrained key information extraction algorithm. It\'s the path' 'to the config file or the model name defined in metafile.') parser.add_argument( '--kie-weights', type=str, default=None, help='Path to the custom checkpoint file of the selected kie model. ' 'If it is not specified and "kie" is a model name of metafile, the ' 'weights will be loaded from metafile.') parser.add_argument( '--device', type=str, default=None, help='Device used for inference. ' 'If not specified, the available device will be automatically used.') parser.add_argument( '--batch-size', type=int, default=1, help='Inference batch size.') parser.add_argument( '--show', action='store_true', help='Display the image in a popup window.') parser.add_argument( '--print-result', action='store_true', help='Whether to print the results.') parser.add_argument( '--save_pred', action='store_true', help='Save the inference results to out_dir.') parser.add_argument( '--save_vis', action='store_true', help='Save the visualization results to out_dir.') call_args = vars(parser.parse_args()) init_kws = [ 'det', 'det_weights', 'rec', 'rec_weights', 'kie', 'kie_weights', 'device' ] init_args = {} for init_kw in init_kws: init_args[init_kw] = call_args.pop(init_kw) return init_args, call_args def main(): init_args, call_args = parse_args() ocr = MMOCRInferencer(**init_args) ocr(**call_args) if __name__ == '__main__': main()