使用 Google Vision API 进行 OCR 扫描的地图
Posted
技术标签:
【中文标题】使用 Google Vision API 进行 OCR 扫描的地图【英文标题】:OCR scanned maps using Google Vision API 【发布时间】:2020-07-13 12:37:14 【问题描述】:我的最终目标是从一系列乡村地图中读取土地所有者的姓名并记录位置。有关输入的示例,请参见 here。现在我的想法是使用 Google vision API 来提取文本,然后将文本链接回地图上的原始网格坐标。我使用标准 python 代码从here 中提取此文本。这给我留下了 2 个问题:
1) 我了解 API 仅输出 JSON 文件。此 JSON 是否记录提取文本的 PDF 坐标? 2) 有没有办法将此 JSON 转换为原始的简化可搜索 PDF,其中仅存在文本?
另外,如果有人知道任何更好的方法来 OCR 这张地图并提取字符串位置,我将不胜感激!
【问题讨论】:
【参考方案1】:根据我使用 Google OCR 的经验(使用 php 作为脚本语言 - 但这应该没有任何区别,因为您的问题取决于 API 而不是 python),您可以这样做。
正如您在 API 文档中看到的,OCR 找到的每个文本块都带有描述边界框(矩形)的四个点: https://cloud.google.com/vision/docs/ocr
在您的示例地图中,文本的质量很差。这会给您带来很多错误或缺失的 OCR 结果。
要将此文本转换为 PDF,您需要自己编写代码,因为此任务非常具体。
【讨论】:
好的,有道理,谢谢。我使用的实际地图是我拥有的物理地图的高质量扫描;该网络示例仅出于版权目的而选择,抱歉造成混淆。只要能把bounding box坐标和原图联系起来,我觉得可以跳过第二步。以上是关于使用 Google Vision API 进行 OCR 扫描的地图的主要内容,如果未能解决你的问题,请参考以下文章
IndexError:带有 Google Cloud Vision API 的字节数组
PHP Google Cloud Vision API:注释立即淹没内存
来自边界框的 Google Vision Api 文本检测布局信息
如何通过HTTP请求验证Google Cloud Vision
如何将 Google Cloud Vision API 凭据密钥文件指向 yii2 框架中的 GOOGLE_APPLICATION_CREDENTIALS 变量