OCR tessearct 在 linux(Azure 应用程序服务)中无法正确识别单词

OCR tessearct not recognizing words correctly in linux (azure app service)

我正在尝试从 azure linux 应用服务中的图像中提取文本。为此,我正在使用 tesseract-ocr。以下是应用服务 OS 信息。

Python version: ['3.7.9 (default, Sep 15 2020, 18:04:53) ', '[GCC 6.3.0 20170516]'] dist: ('debian', '9.13', '')

system: Linux machine: x86_64

platform: Linux-4.15.0-158-generic-x86_64-with-debian-9.13

(system='Linux', release='4.15.0-158-generic', version='#166-Ubuntu SMP Fri Sep 17 19:37:52 UTC 2021', mac hine='x86_64', processor='')

当我运行命令时(asd.png - 图片文件)

tesseract asd.png stdout

我得到了输出,但文本是错误的。但同样的命令在我的本地环境中运行良好。 例如, 我在 Azure 应用程序服务中得到的输出是。

Insight Partners Seeks âAmlzlng newlnsight Farmers recently ee-led a sign niillien lending mund fur lterativeSmpcs lne., a startnp applying Al to gastroenterology and drngdevelopment, adding Lenne Jaï¬c, the veteran teeh investing hrni'smanaging direetor. to iterative Seepes' heard, WsJâs .l ohnMeCermiek gm Mr.

在本地对于同一张图片,我得到(正确),

Insight Partners Seeks ‘Amazing Tech’Insight Partners recently co-led a 0 million funding round for IterativeScopes Inc., a startup applying AI to gastroenterology and drugdevelopment, adding Lonne Jaffe, the veteran tech investing firm'smanaging director, to Iterative Scopes’ board, WSJ's John,McCormick reports.

我认为这与 Azure 应用程序服务有关。这与安装在 Azure 应用程序服务中的版本有关吗?

尝试使用最新版本的 Tesseract,方法是按照以下命令检查您使用的是哪个版本:

 $ tesseract -v

如果您看到比 v4 的任何版本,那么您应该升级您的 Tesseract 安装 — 使用 Tesseract v4 LSTM 引擎将导致更准确的 OCR 结果。

如果您在输出中看到 Tesseract v4 或更高版本,则您使用的是长 Short-Term 记忆 (LSTM) OCR 模型,该模型比之前的 准确得多Tesseract 的版本。

我们可能会使用 Tesseract 获得 良好或可接受的 结果,但最佳准确度 将来自在 特定 组字体出现在实际 real-world 图像中。

但是,通过使用 blur pre-processing方法ocr.py我们可以获得更好的结果。

示例

$ python ocr.py --image images/example_01.png --preprocess blur