Google Vision OCR的坐标值不完整

crl*_*rld 7 python ocr google-cloud-vision

我有一个脚本迭代不同形式的图像.在解析Google Vision文本检测响应时,我使用每个文本项的'boundingPoly'中的XY坐标来专门查找表单不同部分中的数据.

我遇到的问题是一些响应只返回X坐标.例:

{u'description': u'sometext', u'boundingPoly': {u'vertices': [{u'x': 5595}, {u'x': 5717}, {u'y': 122, u'x': 5717}, {u'y': 122, u'x': 5595}
Run Code Online (Sandbox Code Playgroud)

我设置了一个try/except(使用python 2.7)来捕捉这个问题,但它总是同样的问题:KeyError: 'y'.我正在迭代数以千计的形式; 到目前为止,已经发生了1000行中的10行.

以前有人有这个问题吗?除了尝试重新提交请求(如果它达到此错误)之外是否还有其他修复?

Civ*_*Fan 5

从文档

boundingPoly

对象(BoundingPoly)

脸部周围的多边形。边框的坐标以原始图像的比例为单位,如在ImageParams中返回的那样。计算边界框以根据人类期望“构图”面部。它基于标志性结果。请注意,如果要注释的图像中只有部分面,则可能不会在BoundingPoly中生成一个或多个x和/或y坐标(多边形将是无边界的)。

我相信这意味着'y'在这种情况下,该值为0,或更一般而言,为边缘值。换句话说,它不知道边界多边形的真正终止位置,因为文本一直到图像的边缘,因此图像没有提供足够的信息来确定文本实际上在此处结束。就图片而言,其结尾处'y'0