Pour une raison quelconque, j'ai décidé d'essayer l'OCR dans plusieurs langues, mais je n'avais pas de jeu de données que je pouvais utiliser librement, j'ai donc dû créer le mien, j'ai donc créé un script.
Utilisez Pillow (PIL), une bibliothèque de traitement d'images Python. http://pillow.readthedocs.org/en/3.0.x/index.html
Génère une image pour chaque personnage.
Le code du corps de pièce généré est le suivant.
from PIL import Image
from PIL import ImageDraw
from PIL import ImageFont
def generate_char_img(char, fontname='Osaka', size=(64, 64)):
img=Image.new('L', size, 'white')
draw = ImageDraw.Draw(img)
fontsize = int(size[0]*0.8)
font = ImageFont.truetype(fontname, fontsize)
# adjust charactor position.
char_displaysize = font.getsize(char)
offset = tuple((si-sc)//2 for si, sc in zip(size, char_displaysize))
assert all(o>=0 for o in offset)
# adjust offset, half value is right size for height axis.
draw.text((offset[0], offset[1]//2), char, font=font, fill='#000')
return img
def save_img(img, filepath):
img.save(filepath, 'png')
J'ai mis tout le code exécutable dans l'essentiel. https://gist.github.com/lazykyama/dabe526246d60fa937d1 ** (2015/10/18 23:47 postscript: Il semble que la spécification de ʻImage.save () `ou le nom de fichier des alphabets supérieur et inférieur ne soit pas distinguée, alors soyez prudent.) **
Pour générer une liste de caractères pour chaque langue, procédez comme suit.
eng_char_list = list(string.digits+string.ascii_letters)
(Référence du module string → http://docs.python.jp/3.3/library/string.html)
Faisons de notre mieux et retirons les personnages de Wikipédia.
(゜ ⊿ ゜) Silane
* .ttf
réel.
――Dès que je suis devenu accro à cause de ma faiblesseRecommended Posts