提问人:Suvodip Som 提问时间:10/27/2023 最后编辑:Pratham NagpureSuvodip Som 更新时间:11/16/2023 访问量:44
KerasOCR、EasyOCR、Pytesseract 无法识别简单数字
KerasOCR, EasyOCR, Pytesseract not able to recognize simple numbers
问:
我试图在我的单字符图像上运行 OCR,所有图像都是数字。我尝试在图像上运行 EasyOCR、Keras-OCR 和 Pytesseract,但没有一个返回正确的输出。我什至尝试了 MNIST,但输出仍然是错误的,(它说 5 作为输出而不是 7)。
我该怎么办?包括图片。
7的照片
9的照片
我应该添加哪些方法(如果有)进行预处理?还是我应该做点别的事情?
答:
0赞
EL Amine Bechorfa
11/16/2023
#1
每个OCR都是在不同类型的图像上训练的,看看这篇文章总结一下,“Tesseract”对于高分辨率图像表现良好。某些形态学操作,如扩张、侵蚀、OTSU 二值化,可以帮助提高 pytesseract 性能。
“EasyOCR”是轻量级的型号,在收据或PDF转换方面具有良好的性能。它通过有组织的文本(如 pdf 文件、收据、账单)提供更准确的结果。
“Keras-OCR”是特定于图像的OCR工具。如果文本在图像内部,并且它们的字体和颜色杂乱无章,则 Keras-ocr 会给出良好的结果。
对于这种数字,我推荐 Tesseract,如果问题仍然存在,请尝试创建自己的数字数据集(或搜索现有数据集)并微调现有模型。
否则,请尝试推断整个段落和单词,而不是一个数字。
对于 Easyocr,如果您只想获得数字,请尝试该参数reader.readtext(image, allowlist=(123456789))
评论