Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from PIL import Image, ImageDraw, ImageFont
- import random, time, string, os
- def GenerateImageRandomCharacter(Character, FileName, FontPath, TextSize, SIZE_X=150, SIZE_Y=150, characterColor=None, bgColor=None):
- IMG_MODE = 'RGB'
- IMG_SIZE = (SIZE_X, SIZE_Y)
- RandomColour = lambda: random.randint(0, 255)
- if not characterColor:
- CHAR_COLOR = '#%02X%02X%02X' % (RandomColour(), RandomColour(), RandomColour())
- else:
- CHAR_COLOR = characterColor
- IMG_NAME = str(FileName) + str('.jpg')
- IMG_FONT, IMG_TEXT = ImageFont.truetype(FontPath, TextSize), Character
- IMG = Image.new(IMG_MODE, IMG_SIZE, CHAR_COLOR)
- Draw = ImageDraw.Draw(IMG)
- Draw.textsize(IMG_TEXT, font=IMG_FONT)
- CHARACTER_POSITION = (random.randint(0, SIZE_X - TextSize)), (random.randint(0, SIZE_Y - TextSize))
- if not bgColor:
- BG_COLOR = '#%02X%02X%02X' % (RandomColour(), RandomColour(), RandomColour())
- else:
- BG_COLOR = bgColor
- Draw.text(CHARACTER_POSITION, IMG_TEXT, font=IMG_FONT, fill=BG_COLOR)
- IMG.save(IMG_NAME)
- DATA_SIZE = 1000
- UserInput = input('Create Number Characters? [Y/N]: ')
- if UserInput == 'Y':
- BlackWhite = input('Black & White Number Characters? [Y/N]: ')
- for NumberCharacter in list(map(str, range(10))):
- if not os.path.exists(f'./DATA/{NumberCharacter}'):
- os.mkdir(f'./DATA/{NumberCharacter}')
- for imageID in range(DATA_SIZE):
- if BlackWhite == 'Y':
- GenerateImageRandomCharacter(NumberCharacter, f'./DATA/{NumberCharacter}/{imageID}', 'C:/Windows/Fonts/consola.ttf', random.randint(10, 50),
- characterColor='#000000', bgColor='#FFFFFF')
- else:
- GenerateImageRandomCharacter(NumberCharacter, f'./DATA/{NumberCharacter}/{imageID}', 'C:/Windows/Fonts/consola.ttf', random.randint(10, 50))
- print(f'Folder: ./DATA/{NumberCharacter} ✓')
- print('\n')
- UserInput = input('Create Lower Characters? [Y/N]: ')
- if UserInput == 'Y':
- BlackWhite = input('Black & White Lower Characters? [Y/N]: ')
- for LowerCharacter in list(string.ascii_lowercase): # Lowercase Letters.
- if not os.path.exists(f'./DATA/{LowerCharacter}'):
- os.mkdir(f'./DATA/{LowerCharacter}')
- for imageID in range(DATA_SIZE):
- if BlackWhite == 'Y':
- GenerateImageRandomCharacter(LowerCharacter, f'./DATA/{LowerCharacter}/{imageID}', 'C:/Windows/Fonts/consola.ttf', random.randint(10, 50),
- characterColor='#000000', bgColor='#FFFFFF')
- else:
- GenerateImageRandomCharacter(LowerCharacter, f'./DATA/{LowerCharacter}/{imageID}', 'C:/Windows/Fonts/consola.ttf', random.randint(10, 50))
- print(f'Folder: ./DATA/{LowerCharacter} ✓')
- print('\n')
- UserInput = input('Create Upper Characters? [Y/N]: ')
- if UserInput == 'Y':
- BlackWhite = input('Black & White Upper Characters? [Y/N]: ')
- for UpperCharacter in list(string.ascii_uppercase): # Uppercase Letters
- if not os.path.exists(f'./DATA/Upper_{UpperCharacter}'):
- os.mkdir(f'./DATA/{UpperCharacter}Upper')
- for imageID in range(DATA_SIZE):
- if BlackWhite == 'Y':
- GenerateImageRandomCharacter(UpperCharacter, f'./DATA/{UpperCharacter}/{imageID}', 'C:/Windows/Fonts/consola.ttf', random.randint(10, 50),
- characterColor='#000000', bgColor='#FFFFFF')
- else:
- GenerateImageRandomCharacter(UpperCharacter, f'./DATA/{UpperCharacter}/{imageID}', 'C:/Windows/Fonts/consola.ttf', random.randint(10, 50))
- print(f'Folder: ./DATA/{UpperCharacter} ✓')
- print('\n')
Add Comment
Please, Sign In to add comment