Google Vision OCR的坐标值不完整

时间:2016-09-07 20:55:59

标签: python ocr google-cloud-vision

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

我遇到的问题是某些响应只返回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}

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

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

1 个答案:

答案 0 :(得分:4)

From the docs

  

boundingPoly

     

对象(BoundingPoly)

     

脸部周围的边界多边形。边界框的坐标采用原始图像的比例,如ImageParams中所返回。边界框计算为" frame"面对符合人类的期望。它基于具有里程碑意义的结果。 请注意,如果要注释的图像中只显示部分面,则可能无法在BoundingPoly中生成一个或多个x和/或y坐标(多边形将无界面)。

我认为这意味着此案例中的'y'值为0,或更一般地说是边值。换句话说,它并不知道有界多边形真正结束的位置,因为文本一直到图像的边缘,因此图像没有提供足够的信息来确定文本实际上就此结束。就图片而言,它以'y'的{​​{1}}结束。