def same_line_data(): return base_cfg( inspect.currentframe().f_code.co_name, layout=SameLineLayout(), gray=False, corpus=[ EnumCorpus( EnumCorpusCfg( text_paths=[TEXT_DIR / "enum_text.txt"], filter_by_chars=True, chars_file=CHAR_DIR / "chn.txt", **font_cfg ), ), CharCorpus( CharCorpusCfg( text_paths=[ TEXT_DIR / "chn_text.txt", TEXT_DIR / "eng_text.txt", ], filter_by_chars=True, chars_file=CHAR_DIR / "chn.txt", length=(5, 10), font_dir=font_cfg["font_dir"], font_list_file=font_cfg["font_list_file"], font_size=(30, 35), ), ), ], corpus_effects=[Effects([Padding(), DropoutRand()]), NoEffects()], layout_effects=Effects(Line(p=1)), )
class RenderCfg: """ Parameters ---------- corpus : Union[Corpus, List[Corpus]] corpus_effects : Union[Effects, List[Effects]] Effects apply on text mask image of each corpus. Effects used at this stage must return changed bbox of text if it modified it. bg_dir : Path Background image directory pre_load_bg_img : bool True: Load all image into memory layout : Layout Layout will applied if corpus is a List perspective_transform : PerspectiveTransformCfg Apply Perspective Transform layout_effects : Effects Effects apply on merged text mask image output by Layout. render_effects : Effects Effects apply on final image. height : int Resize(keep ratio) image to height, set -1 disables resize gray : bool Save image as gray image text_color_cfg : TextColorCfg If not None, will overwrite text_color_cfg in CorpusCfg useful to set same text color when use multi corpus return_bg_and_mask: bool """ corpus: Union["Corpus", List["Corpus"]] corpus_effects: Union[Effects, List[Effects]] = None bg_dir: Path = None pre_load_bg_img: bool = True layout: Layout = SameLineLayout() perspective_transform: PerspectiveTransformCfg = None layout_effects: Effects = None render_effects: Effects = None height: int = 32 gray: bool = True text_color_cfg: TextColorCfg = None return_bg_and_mask: bool = False
num_word=(2, 5), filter_by_chars=True, chars_file=CHAR_DIR / "dict.txt", text_color_cfg=WhiteTextColorCfg(), **font_cfg), ), corpus_effects=effects, ), ) same_line_layout_different_font_size = GeneratorCfg( num_image=200000, save_dir=OUT_DIR / "same_line", render_cfg=RenderCfg( bg_dir=BG_DIR, perspective_transform=perspective_transform, layout=SameLineLayout(h_spacing=(0.9, 0.91)), corpus=[ WordCorpusSameLine( WordCorpusCfg(text_paths=[TEXT_DIR / "corpus-title_upper.txt"], filter_by_chars=True, num_word=(1, 3), chars_file=CHAR_DIR / "dict.txt", **large_font_cfg), ), WordCorpus( WordCorpusCfg(text_paths=[TEXT_DIR / "corpus-title.txt"], filter_by_chars=True, num_word=(1, 3), chars_file=CHAR_DIR / "dict.txt", **small_font_cfg), ), ], corpus_effects=[effects, effects]),
perspective_transform=perspective_transform, corpus=WordCorpus( WordCorpusCfg(text_paths=[TEXT_DIR / "eng_text.txt"], filter_by_chars=True, chars_file=CHAR_DIR / "eng.txt", **font_cfg), ), ), ) same_line_data = GeneratorCfg( num_image=100, save_dir=OUT_DIR / "same_line_data", render_cfg=RenderCfg( bg_dir=BG_DIR, perspective_transform=perspective_transform, layout=SameLineLayout(), gray=False, corpus=[ EnumCorpus( EnumCorpusCfg(text_paths=[TEXT_DIR / "enum_text.txt"], filter_by_chars=True, chars_file=CHAR_DIR / "chn.txt", **font_cfg), ), CharCorpus( CharCorpusCfg( text_paths=[ TEXT_DIR / "chn_text.txt", TEXT_DIR / "eng_text.txt" ], filter_by_chars=True, chars_file=CHAR_DIR / "chn.txt", length=(5, 10),