pytesseract 5.0.0返回混合数字和字母的非有意义结果

时间:2019-08-20 10:10:29

标签: python ocr tesseract python-tesseract

问题:

我想从这样的图像中提取文本,即字母和数字的组合:

enter image description here

enter image description here

enter image description here

可以看到,图像可能处于不同的方向,有时它们像第一个带有白色圆圈的噪声一样包含噪声。但是文本始终以字母“ BF”开头,后跟10位数字。我认为tesseract应该很容易实现。仍然以某种方式不起作用!

解决方案到目前为止,我已经累了。首先是pytesseract版本,因为它对我搜索的内容(使用Python 3.7.3)似乎很重要:

import pytesseract
pytesseract.get_tesseract_version()
'5.0.0-alpha.20190708'

this answerthis one中,我尝试了应该可以使用混合数字和字母的配置,如下所示:

from PIL import Image
import pytesseract
print(pytesseract.image_to_string(Image.open('image.jpg')), config='tessedit_char_whitelist=01234ABCDEF'))

但结果:

  • 第一张图片:“盐磅:\ n \ nbe)是)
  • 第二张图片:“
  • 第三张图片:“ OS26S0S061 38”

这太可怕了。我尝试了配置的各种组合,但是没有任何效果!我也确认可以通过Azure Cognitive Services之类的免费在线认知服务在线版本轻松提取这些文本,因此图像本身不是问题,我想我在pytesseract中使用正确的配置还是在最新的配置中遇到困难版本有错误!