问题:
我想从这样的图像中提取文本,即字母和数字的组合:
可以看到,图像可能处于不同的方向,有时它们像第一个带有白色圆圈的噪声一样包含噪声。但是文本始终以字母“ BF”开头,后跟10位数字。我认为tesseract
应该很容易实现。仍然以某种方式不起作用!
解决方案到目前为止,我已经累了。首先是pytesseract
版本,因为它对我搜索的内容(使用Python 3.7.3)似乎很重要:
import pytesseract
pytesseract.get_tesseract_version()
'5.0.0-alpha.20190708'
在this answer和this one中,我尝试了应该可以使用混合数字和字母的配置,如下所示:
from PIL import Image
import pytesseract
print(pytesseract.image_to_string(Image.open('image.jpg')), config='tessedit_char_whitelist=01234ABCDEF'))
但结果:
这太可怕了。我尝试了配置的各种组合,但是没有任何效果!我也确认可以通过Azure Cognitive Services之类的免费在线认知服务在线版本轻松提取这些文本,因此图像本身不是问题,我想我在pytesseract
中使用正确的配置还是在最新的配置中遇到困难版本有错误!