在tesseract中添加四个其他特殊的unicode字符

时间:2019-07-14 23:08:59

标签: python python-tesseract

我有一份有关埃及象形文字音译的文件。我现在对OCR'ing象形文字不感兴趣,但是音译使用5个特殊字符,这些字符在英语中不存在。我不必读一本书就可以找出如何将这五个字符添加到Tesseract可以读取的字符集中。

在示例中,我将列出其中一个字符(十进制为7717),在Python中为chr(7717)。一旦我弄清楚如何使Tesseract读取其中一个,添加其他内容就应该很简单。有谁知道如何将此字符添加到Tesseract可以读取的字符集中?

作为旁注,我发现有零本关于如何使用Tesseract专门阅读PDF文本的书。我找到了很多有关计算机视觉的书籍和一些网站,但是我讨厌网站,因为它们从未提供足够的详细信息。因此,如果有人知道任何解释如何使用Python Tesseract的好书,我将不胜感激。

我也尝试阅读Tesseract官方文档。大约95%的官方文档是不良文档,并假设您已经了解如何使用该软件,但Tesseract的文档在人群中显得格外糟糕。


更新

好吧,我做了一些进一步的研究,似乎我不得不在表示config的地方添加一些语法:

try:
    from PIL import Image
except:
    import Image
import pytesseract
str3 =  'beylage.jpg'

str4 = pytesseract.image_to_string(Image.open(str3),
    config='-c tessedit_char_whitelist=0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz.,;-(){}[]ḥ')

尽管我没有收到任何错误消息,但输出没有任何变化。加上它输出了我未指定的字符,例如?和#。


更新 我发现他们删除了Tesseract 4.0的功能。他们做出的更糟糕的决定。有100美元的赏金可以解决此问题1年,并且没人能解决。 https://www.bountysource.com/issues/42806964-blacklist-and-whitelist-unsupported-with-lstm-4-0

在任何情况下,似乎都可以使用旧版本。所以我输入了以下语法:

str4 = pytesseract.image_to_string(Image.open(str3),
    config='--oem 0 -c tessedit_char_whitelist=0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzḥś')

但是现在它说它无法加载语言。所以我现在正在解决这个问题。

1 个答案:

答案 0 :(得分:0)

好的,我能够通过在此处下载eng.traineddata来删除最新的错误

https://github.com/tesseract-ocr/tessdata/blob/master/eng.traineddata

然后花了很多工作来找出将该文件放在Mac上的哪里,但我在这里找到了答案:

Where is the default tesseract installation folder on a mac?

但是,由于我现在使用的是较旧版本的pytesseract,因此它的缺点是精度严重降低,几乎无法辨认。当前,没有解决此问题的方法。