簡體   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