a Zb+g @sddlZddlZejdejejejeddlmZddl m Z m Z ddl m Z GdddZedkrddlZdd ZeZeejZeZeeejZeejdS) N)Image)remove new_session)timing_decoratorc@s(eZdZd ddZedd ddZdS) Removebgu2netcCst||_dS)N)rsession)selfnamer [/apdcephfs_cq5/share_300600172/huiwenshi/3d_services/repos/hunyuan3d-lite/infer/removebg.py__init__ szRemovebg.__init__zremove backgroundFcCs0|jdkr|r|d}n|St||jd}|S)z inputs: rgb_maybe: PIL.Image, with RGB mode expected force: bool, if input is RGBA mode, covert to RGB then remove bg return: rgba_img: PIL.Image, with RGBA mode RGBARGB)r)modeconvertrr)r rgb_maybeforceZrgba_imgr r r __call__ s  zRemovebg.__call__N)r)F)__name__ __module__ __qualname__r rrr r r r rs r__main__cCs@t}|jdtdd|jdtdd|jdddd|S) Nz --rgb_pathT)typerequiredz--output_rgba_pathz--forceF store_true)defaultaction)argparseArgumentParser add_argumentstr parse_args)parserr r r get_args#s r$)ossyspathinsertdirnameabspath__file__PILrZrembgrr infer.utilsrrrrr$argsopenZrgb_pathrmodelrZrgba_pilsaveZoutput_rgba_pathr r r r s(