gpt4 book ai didi

ios - 如何提高 Tesseract 结果质量?

转载 作者:行者123 更新时间:2023-11-30 11:14:11 26 4
gpt4 key购买 nike

我正在尝试使用 Tesseract 的 OCR(我使用的是 TesseractOCRiOS 4.0.0)从法国重要卡中读取 NIRPP 号码(社会安全号码)。这就是我正在做的事情:

首先,我请求一张整张卡片的图片:

enter image description here

然后,使用自定义裁剪器,我要求用户专门缩放卡号:

enter image description here

然后我捕捉到这张图像(1291x202px)并使用 Tesseract 我尝试读取数字:

let tesseract = G8Tesseract(language: "eng")
tesseract?.image = pickedImage
tesseract?.recognize()
print("\(tesseract?.recognizedText ?? "")")

但我得到的结果非常糟糕......只有大约 30% 的时间 Tesseract 能够找到正确的数字,其中有时我需要修剪一些字符(如字母字符、点、破折号...... .).

那么有没有办法可以改善这些结果?

感谢您的帮助。

最佳答案

改善结果:

  • 将图像缩放至适当的级别。适当的缩放会大大提高您的准确性。
  • 配置 tesseract,以便仅将数字列入白名单。我是假设您尝试提取的内容仅包含数字。如果您仅将数字列入白名单,那么它将提高您的机会将 0 识别为 0 而不是 O 字符。
  • 如果您提取的文本与正则表达式匹配,您应该配置tesseract 也使用该正则表达式。

  • 预处理图像以删除所有背景颜色并应用形态效应,例如侵 eclipse ,可以增加您之间的空间字符/数字。如果它们太接近,tesseract 就会有很难正确识别它们。大部分图像处理库预先构建了这些效果。

  • 使用 tiff 作为图像格式。

一旦您拥有正确的 tesseract 预处理管道和配置,您通常会得到非常好的且一致的结果。

关于ios - 如何提高 Tesseract 结果质量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51897036/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com