Beispiel #1
0
    def __init__(self,
                 font_file_dir,
                 text_img_output_dir,
                 text_img_info_output_dir,
                 font_min_size,
                 use_char_common_color_probability,
                 char_common_color_list,
                 char_border_width,
                 char_border_color,
                 seed=time.time()):
        """
        初始化文本图片生成器
        :param font_file_dir: 字体文件目录
        :param text_img_output_dir: 文本图片输出目录
        :param text_img_info_output_dir: 文本图片数据输出目录
        :param font_min_size: 文本字体大小的最小值
        :param use_char_common_color_probability
        :param char_common_color_list
        :param char_border_width: 字符边框的宽度
        :param char_border_color: 字符边框的颜色
        :param seed:
        """
        os.makedirs(text_img_output_dir, exist_ok=True)
        os.makedirs(text_img_info_output_dir, exist_ok=True)

        if not seed:
            seed = time.time()

        self.font_file_list = list_font_path(font_file_dir)
        self._font_index = 0
        self.text_img_output_dir = text_img_output_dir
        self.text_img_info_output_dir = text_img_info_output_dir
        self.font_min_size = font_min_size
        self.use_char_common_color_probability = use_char_common_color_probability
        self.char_common_color_list = char_common_color_list
        self.char_border_width = char_border_width
        self.char_border_color = char_border_color

        Random.shuffle(self.font_file_list, seed)
    def __init__(self, font_file_dir, text_img_output_dir, text_img_info_output_dir, font_min_size, font_max_size,
                 use_char_common_color_probability,
                 char_common_color_list,
                 char_border_width,
                 char_border_color,
                 auto_padding_to_ratio=0.0,
                 seed=time.time()):
        """
        初始化文本图片生成器
        :param font_file_dir: 字体文件目录
        :param text_img_output_dir: 文本图片输出目录
        :param text_img_info_output_dir: 文本图片数据输出目录
        :param font_min_size: 文本字体大小的最小值
        :param use_char_common_color_probability
        :param char_common_color_list
        :param char_border_width: 字符边框的宽度
        :param char_border_color: 字符边框的颜色
        :param auto_padding_to_ratio: 自动padding到指定的比例 <=0 代表不自动padding (水平排布是 w/h 竖直排布是 h/w)
        :param seed:
        """
        os.makedirs(text_img_output_dir, exist_ok=True)
        os.makedirs(text_img_info_output_dir, exist_ok=True)

        if not seed:
            seed = time.time()

        self.font_file_list = list_font_path(font_file_dir)
        self._font_index = 0
        self.text_img_output_dir = text_img_output_dir
        self.text_img_info_output_dir = text_img_info_output_dir
        self.font_min_size = font_min_size
        self.font_max_size = font_max_size
        self.use_char_common_color_probability = use_char_common_color_probability
        self.char_common_color_list = char_common_color_list
        self.char_border_width = char_border_width
        self.char_border_color = eval(char_border_color) if type(char_border_color) is str else char_border_color
        self.auto_padding_to_ratio = auto_padding_to_ratio

        Random.shuffle(self.font_file_list, seed)