繁体   English   中英

使用Unicode字符将文本转换为图像

[英]Converting Text to Image with Unicode characters

因此,这里的想法是给定的文本恰好是梵文字符,例如संस्थानका कर्मचारी ,我想将给定的文本转换为图像。 这是我尝试过的。

def draw_image(myString):

    width=500
    height=100
    back_ground_color=(255,255,255)
    font_size=10
    font_color=(0,0,0)
    unicode_text = myString

    im  =  Image.new ( "RGB", (width,height), back_ground_color )
    draw  =  ImageDraw.Draw (im)
    unicode_font = ImageFont.truetype("arial.ttf", font_size)
    draw.text ( (10,10), unicode_text, font=unicode_font, fill=font_color )
    im.save("text.jpg")

    if cv2.waitKey(0)==ord('q'):
        cv2.destroyAllWindows()

但是无法识别字体,因此图像由框和其他无法理解的字符组成。 那么,我应该使用哪种字体来获取正确的图像? 还是有更好的方法将给定字符(如字符)中的文本转换为图像?

因此,当我想用​​乌尔都语在图像上书写文本时,我遇到了类似的问题,首先,您需要正确的字体,因为仅使用PIL甚至openCV进行书写都需要适当的Unicode字符,甚至当您获得适当的字体时,一个单词的字母也是如此脱节,您将无法获得正确的结果。

为了解决这个问题,由于我正在为OCR创建人工数据集,因此您不得不偏离传统的仅使用python的方法,我需要将大量此类单词打印在白色背景上。 我决定为此使用图形软件。 由于像photoshop这样的工具甚至允许您编写脚本来自动执行过程。

我购买的软件是GIMP,它使您可以快速编写和运行extensions.scripts以自动执行该过程。 它允许您使用python编写扩展,或更准确地说是python的修改版本,称为python-fu。 文档是有限的,所以很难上手,但是在一些持久性的支持下,我能够编写一些功能,可以从文本文件中读取文本,并将其放置在白色背景上并保存到磁盘上。

我可以在几个小时内从中生成约30万张图像。 我建议如果您也打算大量编写文本,那么您也应该依赖python-fu和GIMP。

有关更多信息,请参阅GIMP Python文档。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM