【问题标题】:OCR: scan specific part of imageOCR:扫描图像的特定部分
【发布时间】:2020-10-07 18:24:16
【问题描述】:

我是计算机视觉方面的新手,目前正在学习使用 Go 的谷歌云视觉 SDK。现在我有一个问题。

所以我有一张使用DetectTexts() method 扫描的图像。结果很棒!扫描所有文本。

但是,我实际上并不需要所有这些文本。我只需要其中的一部分。下面是我用作示例的图像。我想得到的是用红色突出显示的两个块。

图片

结果

WE-2
Sam WHO
Time
PM 1:57
SYS
mmHg
mmHg
DIA
mmHg
90
62
82
mmHg
PUL
/MIN
MR AVGA
SET
START
STOP
MEM

我不知道最好的方法是什么。我现在想到的是这些方法:

  • 分割以红色突出显示的图像,然后对这些新图像执行 OCR 扫描
  • 或者,获取所有文本,然后使用某种算法(也许是 NLP?)来获取突出显示的文本。

有人可以帮助解决这个问题的正确和最佳方法是什么吗?

【问题讨论】:

  • 您可以在识别之前屏蔽图像。例如,在红色矩形内使用等于 0 且在其外部等于 255 的掩码进行逻辑 OR。

标签: machine-learning google-cloud-platform computer-vision ocr


【解决方案1】:

您提到您使用的是 Go,不幸的是我没有任何经验,但我已经在 Python 和 C# 等其他语言中解决了这个问题。我建议的只是创建一个 ROI 或感兴趣区域。基本上,这意味着您将仅将图像裁剪到要从中检测文本的突出显示区域。就像我说的,我不完全确定你是否可以在 Go 中做到这一点,所以你可能需要做一些原始像素操作,而不仅仅是使用成员函数。我假设您想要从中检测文本的区域的位置将保持不变。如果您愿意,您可以创建一个简单的 Python 脚本来生成 ROI,并将裁剪后的图像通过管道传输到 GO。

import cv2
img = cv2.imread('inputImg.png')
output = img[c1:c1+25,r1:r1+25]

#You could do something like this
cv2.imwrite("path/to/output/outputimg.png", output)

【讨论】:

  • 这可能有帮助。让我试试,如果它确实解决了我的问题,将标记为正确答案。谢谢
猜你喜欢
  • 2017-05-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-09
  • 1970-01-01
  • 2021-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多