字符訓練網上一搜一大堆,但作為一個初學者而言,字符合並網上卻寫的很籠統
首先,需要 生成的字符集.tif文件,位置文件 .box ,只要有這兩個文件在,就可以合並字典(這個說的很有道理的樣子)
好了,我現在有三個需要合並的字典
(1).(why3.楷體.exp0.tif,why3.楷體.exp0.box)
(2).(why4.microsoftyaheiuilight.exp0.tif,why4.microsoftyaheiuilight.exp0.box)
(3). (why5.隸書b.exp0.tif,why5.隸書b.exp0.box)
1、先生成相對應的 .tr 文件
//自己的命令根據自己的情況進行修改
tesseract why3.楷體.exp0.tif why3.楷體.exp0 nobatch box.train
tesseract why4.microsoftyaheiuilight.exp0.tif why4.microsoftyaheiuilight.exp0 nobatch box.train
tesseract why5.隸書b.exp0.tif why5.隸書b.exp0 nobatch box.train
2、從所有文件中提取字符
//自己的命令根據自己的情況進行修改
unicharset_extractor why3.楷體.exp0.box why4.microsoftyaheiuilight.exp0.box why5.隸書b.exp0.box
3、生成字體特征文件
新建的font.txt文件,在文件中把所有box文件對應的字體特征都加進去(如果不知道,可以去原來考出來的字庫文件找.font_properties文件查看)
楷體 0 0 0 0 0
microsoftyaheiuilight 0 0 0 0 0
隸書b 0 1 0 0 0
寫完之后,執行如下命令:
mftraining -F font.txt -U unicharset why3.楷體.exp0.tr why4.microsoftyaheiuilight.exp0.tr why5.隸書b.exp0.tr
4 、聚集所有.tr 文件
cntraining why3.楷體.exp0.tr why4.microsoftyaheiuilight.exp0.tr why5.隸書b.exp0.tr
5 、重命名文件,我把unicharset, inttemp, normproto, pfftable,shapetable 這幾個文件加了前綴why. (自己定,隨意) //我加的是together.
6、合並所有文件 生成一個大的字庫文件
combine_tessdata together.
目錄下生成的結果如下:
把合並字庫拷進如下目錄:
測試圖片如下:
執行如下代碼:
# coding=utf-8 __author__ = 'syq' #https://github.com/tesseract-ocr import sys import importlib #reload(sys) importlib.reload(sys); #sys.setdefaultencoding('utf-8') import os; os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8' try: from pyocr import pyocr from PIL import Image except ImportError: print('模塊導入錯誤,請使用pip安裝,pytesseract依賴以下庫:') print('http://www.lfd.uci.edu/~gohlke/pythonlibs/#pil') print('http://code.google.com/p/tesseract-ocr/') raise SystemExit tools = pyocr.get_available_tools()[:] if len(tools) == 0: print("No OCR tool found") sys.exit(1) print("Using '%s'" % (tools[0].get_name())) print(tools[0].image_to_string(Image.open('pic\\123.png'),lang='together'))
結果如下:
效果還可以,厲害了
參考:http://blog.csdn.net/dragoo1/article/details/8439272
http://www.lxway.com/815805156.htm