Tesseract不承认德语“für”

时间:2018-05-24 10:27:45

标签: ocr tesseract

我通过docker image tesseractshadow/tesseract4re

使用tesseract 4.0

我使用选项$json_new_param = []; $fruitFlag = false; foreach ($response_body as $value) { if(strpos($value['NOTES'],'Fruit Name') !== false){ $fruitFlag = true; continue; } if(strpos($value['NOTES'],'Animal Name') !== false){ $fruitFlag = false; } if($fruitFlag == true){ $json_new_param[] = [ 'FRUITS' => $value['NOTES'] ]; } } echo json_encode($json_new_param, JSON_PRETTY_PRINT); 给tesseract提示,文本是“deutsch”(德语)。

德语单词“für”的结果仍然不好。德语单词很常见(英语中的“for”)。

Tesseract经常检测到“fiir”或“fur”。

我可以做些什么来改善这个?

可重现的示例

-l=deu

结果:

docker run --name self.container_name --rm \
    --volume  $PWD:/pwd \
    tesseractshadow/tesseract4re \
    tesseract /pwd/die-fuer-das.png /pwd/die-fuer-das.png.ocr-result -l=deu

图片die_fuer_das.png:

enter image description here

2 个答案:

答案 0 :(得分:6)

我找到了解决方案。它必须是-l deu,否则德语不会被使用。我不小心使用了-l=deu

使用:

===> tesseract  die-fuer-das.png out  -l deu; cat out.txt
Tesseract Open Source OCR Engine v4.0.0-beta.1-262-g555f with Leptonica
die für das

错误的语言:

===> tesseract  die-fuer-das.png out  -l=deu; cat out.txt
Tesseract Open Source OCR Engine v4.0.0-beta.1-262-g555f with Leptonica
die fur das

答案 1 :(得分:2)

这是一个评论,而不是直接回答您的问题。这是另一个数据点:如果我使用带有OCR.space API的图片的链接,那就完全正确了:

****** Result for Image/Page 1 ******
die für das 

在过去,升级到300dpi通常会改进Tesseract结果,但我很惊讶在第4版中仍然需要这样做。