【发布时间】:2018-09-07 05:13:12
【问题描述】:
我正在尝试检测这些价格标签文本,这些文本总是经过清晰的预处理。虽然它可以很容易地阅读上面写的文字,但它无法检测价格值。我正在使用 python 绑定pytesseract,尽管它也无法从 CLI 命令中读取。大多数情况下,它会尝试将价格识别为一两个字符的部分。
示例 1:
tesseract D:\tesseract\tesseract_test_images\test.png output
样本图像的输出是这样的。
je Beutel
13
但是,如果我裁剪并拉伸价格以使其看起来像是分开的并且字体大小相同,那么输出就很好了。
处理后的图片(裁剪和缩小的价格):
je Beutel
1,89
如何让 OCR tesseract 按我的预期工作,因为我将查看很多类似的图像?
编辑:添加更多价格标签:
sample5sample6sample7
【问题讨论】:
-
尝试提出一个使用例如的算法。
cv2.connectedComponents和cv2.boundingRect函数用于检测在同一水平区域上大小不同的连接区域。然后,您可以在扩大较小区域、缩小较大区域或隔离不同区域并单独调用之后调用tesseract。 -
你能写一个例子来说明它是如何工作的吗?也许我可以一个一个地输入组件,它仍然可以工作,但是 connectedComponent 返回一个黑色图像
标签: python opencv ocr tesseract