tesseract 5.0.0 返回混合数字和字母的无意义结果
Posted
技术标签:
【中文标题】tesseract 5.0.0 返回混合数字和字母的无意义结果【英文标题】:pytesseract 5.0.0 returns non sense results for mix numbers and letters 【发布时间】:2019-12-25 12:49:36 【问题描述】:问题:
我想从这些图像中提取由字母和数字混合而成的文本:
可以看出,图像可能有不同的方向,有时它们会包含噪点,例如第一个带有一些白色圆圈的图像,依此类推。但文本始终以字母“BF”开头,后跟 10 位数字。我认为tesseract
应该很容易做到这一点。还是不行!!
解决方法 t 我已经累了。首先是 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'))
但结果:
第一张图片:'SALT LB:\n\nbe) be)' 第二张图片:'' 第三张图片:'OS26S0S061 38'这太可怕了。我尝试了各种配置组合,但没有任何效果!我还确认这些文本可以通过免费在线版的在线认知服务(如Azure Cognitive Services)轻松提取,所以图像本身不是问题,我想我在pytesseract
中使用正确的配置或可能最新版本有错误! !
【问题讨论】:
【参考方案1】:image processing to improve tesseract OCR accuracy 或 ImproveQuality 可能还有 Accuracy difference between Tesseract and others
【讨论】:
以上是关于tesseract 5.0.0 返回混合数字和字母的无意义结果的主要内容,如果未能解决你的问题,请参考以下文章
给你一个混合了数字和字母的字符串 s,其中的字母均为小写英文字母。
给你一个混合了数字和字母的字符串 s,其中的字母均为小写英文字母。