python生成漢字圖片字型檔

發表於2015-08-28

最近做文件識別方面的專案,做漢字識別需要建立字型檔,在網上找了各種OCR,感覺都不好,這方面的技術應該比較成熟了,OCR的軟體很多,但沒有找到幾篇有含金量量的論文,也沒有看到哪位大牛公開字型檔,我用pygame渲染字型來生成字型檔,也用PIL對整齊的圖片進行切割得到字型檔。

pygame渲染字型來生成字型檔

用pygame渲染字型我參考的這篇文章,根據GB2323-8標準,漢語中常用字3500個,覆蓋了99.7%的使用率,加上次常用共6763個,覆蓋99.99%的使用率。先生成一個字型圖片,從網上找來3500個常用漢字,對每一個子按字型進行渲染:

渲染圖片次數多總是報錯,對於渲染失敗的文字我又重試,最終得到了一個包含3510字(加上10個數字)的字型檔:

字元分割生成字型檔

另外一種辦法就是把3500個字放在word排好,然後轉PDF儲存成圖片,像下面這樣:

密密麻麻的字,但非常整齊,不需要什麼圖片處理演算法,只要找到空白的行和列,按行和列就可以進行切割,切割出來也好,只要儲存有序切割,切出來的圖片依然可以與字對應,下面是切割的程式碼:

切出來的字的效果也很好的:

自己對這影象處理本來就不熟悉,用的都是土包子的方法。漢字的識別難度是比較大的,對應整齊的圖片,取樣DTW對字型檔求相似項,效果還不錯,但用掃描器、相機拍下來的文章切割處理後,效果很差。我用了BP神經網路,但3500個漢字相當於3500個類,這個超多類別的分類問題,BP也很難應付,主要是訓練資料太少,手裡只有一份字型檔。

如果您有什麼好的方法識別圖片漢字的方法,希望給與我分享,謝謝!

相關文章