Exemplo n.º 1
0
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)),
    )
Exemplo n.º 2
0
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
Exemplo n.º 3
0
                          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]),
Exemplo n.º 4
0
        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),