【问题标题】:How can I make pytesseract read slahed 0 correctly如何使 pytesseract 正确读取 slahed 0
【发布时间】:2020-07-22 12:11:54
【问题描述】:

我正在尝试读取图片上的电话号码。由于图像非常清晰,我没有应用任何预处理但 pytesseract 有时无法正确识别 0。我试图训练类似的字体,但它给出了相同的结果。一个例子是this image

我的代码很简单:

image=Image.open('Fotolar/0.png')
custom_config = r'--oem 3 --psm 6'
pytesseract.image_to_string(image,config=custom_config)

我得到这个结果:'9543 684 9993'

我尝试对我的图像进行微调,但我做不到,因为所有教程都是基于 ubuntu 的,我不熟悉它。你有什么建议吗?

【问题讨论】:

  • 不幸的是,您必须进行微调或找到一个预构建的带有交叉零的 tessdata。
  • 我尝试用类似的字体进行微调,但没有成功,所以看来我必须对我的图像进行微调,你知道有什么好的资源可以逐步解释这个过程吗?
  • 示例图像质量相当高。如果您的所有图像都具有相同大小的文本,您可以尝试使用template matching 将斜线零替换为非斜线零。

标签: python-3.x ocr tesseract python-tesseract pytesser


【解决方案1】:

我按照本教程 https://www.youtube.com/watch?v=JPDeiGc2an8&t=444s 并在此 repo https://github.com/kevinbicycle/ocrd-train 上使用了文件和说明。

教程很清楚。如果你想像我一样进行微调,在教程中,不要输入“make training”,而是添加一些变量,如“START_MODEL”。

如果您的问题与我的https://github.com/yusufuyanik1/SlashedZeroOCR 相同,您也可以使用我的 slashedzero.traineddata。

【讨论】:

    猜你喜欢
    • 2020-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-01
    • 1970-01-01
    相关资源
    最近更新 更多