我正在尝试使用 tesseract ocr 和 passportEye 提高护照机读区读取的准确性,我发现很少有 github 存储库包含“*.traineddata”,它说将其移动到 tesseract ocr tessdata 文件夹中,我就是这么做的。这些存储库的自述文件中没有说明如何使用它,我相信这是一件微不足道的事情,但我对这个超正方的东西非常陌生。
如何在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。请帮忙
通常您会通过以下方式传递您正在使用的语言:
-l
参数到超立方体 - 在您的情况下:
-l mrz
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)
mrz.traineddata
和 Passporteye。我下载了
mrz.traineddata然后在终端中执行
sudo cp ./mrz.traineddata /usr/share/tesseract-ocr/4.00/tessdata/eng.traineddata
然后我就可以在Python中运行passporteye.read_mrz()
而不需要做任何额外的修改
mrz= passporteye.read_mrz(filename)