【发布时间】:2021-08-16 17:17:02
【问题描述】:
好的,我正在一个项目中工作,我只想从图片中提取数字。图片还包含字母。我正在使用easyocr api,但无法制定逻辑来克服这一点。如果你有任何可以帮助我分享的链接,请告诉我。 That's how i getting output
【问题讨论】:
-
Stack Overflow 不接受代码截图。以文本形式发布您的代码!
好的,我正在一个项目中工作,我只想从图片中提取数字。图片还包含字母。我正在使用easyocr api,但无法制定逻辑来克服这一点。如果你有任何可以帮助我分享的链接,请告诉我。 That's how i getting output
【问题讨论】:
如果您尝试读取的内容只是数字,您可以使用 allowlist arg 限制您的 OCR 搜索,这可能会改善您的结果。
试试这个:
reader.readtext(IMAGE_PATH, allowlist ='0123456789')
如果您尝试阅读的内容包含字母字符但您想忽略它们,那么您可以将它们过滤掉:
numeric_filter = filter(str.isdigit, my_text)
my_text = "".join(numeric_filter)
(如果你想保留小数,你可以在过滤器中添加一个额外的条件。)
过滤后,您可以将结果类型转换为整数,假设这是您想要做的:
result_number = int(my_text)
【讨论】:
S 和 5 看起来非常相似。您可以检查周围的字符是否看起来是字母并选择性地忽略单词中的数字匹配,或者您可以将其归为误报并继续前进。任何 OCR 都不会有 100% 的准确率,看起来像数字的曲线很可能会被检测为数字。