【问题标题】:How to piece together dashed lines in image before giving to Tesseract?在给 Tesseract 之前如何拼凑图像中的虚线?
【发布时间】:2020-05-19 21:24:51
【问题描述】:

我的屏幕图像由一些数字值组成。我想通过 Tesseract 4.0 识别这些数字。但是,这些数字由虚线组成,例如七段显示器的虚线。由于破折号,Tesseract 无法识别这些值。我使用 Gimp 并将这些虚线连接成一个部分。 Tesseract 几乎可以正确识别值。我想用 OpenCV 做到这一点。如何将数字的虚线连接成一块?

before joining process after joining process

【问题讨论】:

  • 对图像设置阈值以使其变为黑色/白色。这应该有助于 tesseract。
  • 谢谢。它有帮助,但如果我设置固定阈值,其他图像会失败。我怎样才能让它自适应?实际上我正在使用 YOLO 从图像中提取屏幕区域。我的计划是预处理那些提取的屏幕区域以提供 Tesseract。显然,这个预处理步骤会对我的数据管道产生不良影响。
  • 尝试 Otsu 阈值法或自适应阈值法

标签: python opencv image-processing tesseract text-recognition


【解决方案1】:

根据我使用 Tesseract 的经验,它应该可以轻松识别这些数字而无需任何预处理。
这张图片是否有可能只是放大了太多,因此Tesseract的数字太大且难以识别?我会先尝试使用它,如果它没有帮助,您可以查看Morphological Transformation in OpenCV

【讨论】:

  • 谢谢。你说的对。我只是将图像颜色更改为二进制图像,然后转换为灰度。除了一些条件外,Tesseract 运行良好。它仍然无法检测到数字之间的 .(dot)。你有什么建议吗?我也有不同闪电条件下的图像,如果我设置了固定阈值,其他图像就会失败。
  • 您可能无法检测到dots,因为此字符未在您的配置中列入白名单:config="-c tessedit_char_whitelist=0123456789."
  • @Ugurcan ,另一件事是您使用的是--psm 8,这对您不起作用。我建议改用 7 或 6。所有模式here
猜你喜欢
  • 1970-01-01
  • 2021-10-04
  • 2022-01-10
  • 2023-03-18
  • 2021-10-25
  • 2015-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多