Неполные значения координат для Google Vision OCR

У меня есть сценарий, который перебирает изображения разных форм. При анализе ответа обнаружения текста Google Vision я использую координаты XY в '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'. Я просматриваю тысячи форм; пока это произошло с 10 строками из 1000.

У кого-нибудь была эта проблема раньше? Есть ли другое исправление, кроме попытки повторно отправить запрос, если он достигает этой ошибки?


person crld    schedule 07.09.2016    source источник


Ответы (1)


Из документов:

boundingPoly

объект (BoundingPoly)

Ограничивающий многоугольник вокруг лица. Координаты ограничивающей рамки находятся в масштабе исходного изображения, возвращенном в ImageParams. Ограничивающая рамка вычисляется для «кадрирования» лица в соответствии с человеческими ожиданиями. Он основан на выдающихся результатах. Обратите внимание, что одна или несколько координат x и / или y не могут быть сгенерированы в BoundingPoly (многоугольник будет неограниченным), если на изображении для аннотирования появляется только часть лица.

Я считаю, что это означает, что значение 'y' в этом случае равно 0 или, в более общем смысле, значение края. Другими словами, он не знает, где на самом деле заканчивается ограниченный многоугольник, поскольку текст доходит до края изображения, и, таким образом, изображение не дает достаточно информации, чтобы точно знать, что текст на самом деле заканчивается на этом. . Насколько видно из изображения, он заканчивается на 'y' из 0.

person CivFan    schedule 07.09.2016
comment
Это имеет смысл, учитывая, где это происходит; текст, у которого нет координаты y, находится вверху изображения (у которого может быть y равное 0). - person crld; 08.09.2016