如何一次性使用多种语言运行tesseract?

31

我需要分析一张既包含英文又包含日文的图片。当我运行默认设置的tesseract (-l eng) 时,有些日文字被忽略了。但如果我使用日语设置(-l jpn)运行tesseract,则会丢失一些英文字符(例如:Email)。

如何能够运行一个进程同时识别英文和日文字符呢?


1
希望这可以帮到你:https://github.com/rmtheis/tess-two/issues/28 - David V
请参阅以下链接,了解如何在安卓平台上使用Tesseract多语言支持:https://dev59.com/3HLYa4cB1Zd3GeqPSQPX - sashoalm
2个回答

53

自从tesseract 3.02版本以来,可以在-l参数中指定多种语言。

-l lang 表示要使用的语言。如果没有指定,则默认为英语。可以指定多种语言,用加号进行分隔。 Tesseract使用3个字符的ISO 639-2语言代码。

例如:

tesseract myscan.png out -l deu+eng

8
但是,这会对准确性产生什么影响呢?如果我没有指定其他语言,会有漏识英文单词的风险吗?如果我对文件使用的语言毫不了解并选择了十种语言,会发生什么?Tesseract是否只是尝试对整个文本应用所有语言,然后根据每种语言的字典保留似乎更可能正确的单词? - Nemo

3

试试这个:

custom_config = r'-l eng+jpn --psm 6'
txt = pytesseract.image_to_string(img, config=custom_config)

from langdetect import detect_langs
detect_langs(txt)

注意:您需要使用以下方式安装langdetect:
 pip install langdetect

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