我通过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:
答案 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版中仍然需要这样做。