;gbddlmZmZmZmZddlZddlmZddlZddl Z ddl m Z Gdde Z y))get_som_labeled_imgget_caption_model_processorget_yolo_model check_ocr_boxN)Image)Dictc$eZdZdefdZdefdZy) Omniparserconfigc||_tjjrdnd}t |d|_t |d|d||_tdy) Ncudacpusom_model_path) model_pathcaption_model_namecaption_model_path) model_namemodel_name_or_pathdevicezOmniparser initialized!!!) r torchr is_availabler som_modelrcaption_model_processorprint)selfr rs @/home/yadonglu/sandbox/omniv2_demo/OmniParser/util/omniparser.py__init__zOmniparser.__init__sl  ::224%'6:J3KL'BfUiNj@FG[@\ek(l$ )* image_base64c tj|}tjt j |}t d|jt|jdz }d|zttd|zdttd|zdttd|zdd}t|dd d did \\}}}t||j|jd d |||j|d ddd \} } } | | fS)Nz image size:i g?) text_scaletext_thickness text_padding thicknessFxyxytext_threshold) display_imgoutput_bb_format easyocr_args use_paddleocr BOX_TRESHOLDTgffffff?) r.output_coord_in_ratioocr_bboxdraw_bbox_configrocr_textuse_local_semantics iou_threshold scale_img batch_size)base64 b64decoderopenioBytesIOrsizemaxintrrrr r) rr image_bytesimagebox_overlay_ratior2textr1_dino_labled_imglabel_coordinatesparsed_content_lists rparsezOmniparser.parsesm&&|4  2::k23 mUZZ( Od2 11!#a*;&;"S%6!67;  ,EuW]m}@CmDTYZx!BUV[]a]k]k}A}H}HIW}XptGYiCGC_C_jnCGWZfkx{C|?*,? 333rN)__name__ __module__ __qualname__rrstrrHrrr r s+t+4#4rr ) util.utilsrrrrrPILrr;r8typingrobjectr rMrrrRs&ff  44r