将 .traineddata 与 passportEye Python 一起用于机读区

Using .traineddata with passportEye Python for MRZ

我正在尝试使用 tesseract ocr 提高护照 MRZ 读取的准确性,passportEye 我发现很少有 github 存储库包含“*.traineddata”,它说要将其移动到 tesseract ocr tessdata文件夹,我做到了。这些回购协议的自述文件中没有任何地方说明如何使用它,我相信这是微不足道的,但我对这个 tesseract 东西很陌生。

如何在 python 中将它与 passportEye 一起使用,我完全迷失在这里。搜索了很多。这是当前代码。

import os
from passporteye import read_mrz

pr_path = os.getcwd()
file_path = os.path.join(pr_path,'my_app', 'data')
mrz = read_mrz(file_path + '/test1.jpg') 

print(mrz)

这是我想要测试更准确的 .traineddata 文件:https://github.com/DoubangoTelecom/tesseractMRZ/blob/master/tessdata_best/mrz.traineddata

我不想使用笨重的 openCV。请帮助

如果不更改 PassportEye 的代码库,我会说你不能查看源代码:

通常你会通过以下方式传递你正在使用的语言:-l 参数到 tesseract - 在你的情况下:

-l mrz

但是 PassportEye 的实现并没有给你这个选项:

https://github.com/konstantint/PassportEye/blob/929c186c4dfa80a1ac975b5f2b95002ca12889d0/passporteye/util/ocr.py#L48

他们通过 lang=None,您需要将该部分更改为 lang=mrz

pytesseract.run_tesseract(input_file_name,
                          output_file_name_base,
                          'txt',
                          lang='mrz',
                          config=config)