使用Tesseract OCR进行中文字符识别

18
我一直在使用Tesseract 3.0.2 OCR SDK进行图像文本提取。但是,如果我使用中文文本图像并通过OCR处理,那么Tesseract不会向我提供中文字符,而是得到数字和英文字符。但是我需要显示在图像中使用的中文字符。
如何实现这一点?有没有办法获得中文字符而不是其他字符?
1个回答

21
您需要下载中文训练数据(文件名类似于 chi_sim.traineddata),并将其添加到您的tessdata文件夹中。
下载该文件,请访问以下链接:https://github.com/tesseract-ocr/tessdata/raw/master/chi_sim.traineddata 添加后,您可以像这样使用它。
Tesseract* tesseract= [[Tesseract alloc] initWithDataPath:@"tessdata" language:@"chi_sim"];

如果您遇到任何问题,您可以从https://github.com/aryansbtloe/ExperimentWithTesseract.git下载我的tessaract(支持中文语言)实验。

我已经测试过了,希望您会觉得这个实验有用。


Alok,我尝试了你的样例,在我尝试的一半简体中文字符上表现良好。但对于其余部分,它可能会将一个复合字符识别为几个不同的字符,每个字符代表复合字符中的一个组成部分,或者完全错误。你知道有什么方法可以提高识别的准确性吗? - CodeBrew
1
新的训练数据链接为https://github.com/tesseract-ocr/tessdata/raw/master/chi_sim.traineddata。 - Régis B.
从github.com/UB-Mannheim/tesseract/wiki下载安装程序,以便拥有tessdata文件夹。(除了pip install pytesseract之外) - Mark K

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接