2016-09-07 25 views
3

私は、さまざまなフォームの画像を繰り返しているスクリプトを持っています。 Google Vision Textの検出応答を解析する際には、各テキスト項目の 'boundingPoly'にXY座標を使用して、フォームのさまざまな部分のデータを具体的に探します。Google Vision OCRの不完全な座標値

私が抱えている問題は、応答の一部がX座標だけで返ってくることです。例:私はこの問題をキャッチする(のpython 2.7を使用して)を除いて試して/設定しましたが、それは常に同じ問題だ

{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} 

KeyError: 'y'。私は何千ものフォームを繰り返しています。これまでに1000行のうち10行が発生しています。

誰もこの問題を以前に持っていましたか?このエラーに達した場合にリクエストを再送信しようとする以外の修正がありますか?

答えて

2

From the docs

boundingPoly

オブジェクト(BoundingPoly)

顔の周りの境界多角形。境界ボックスの座標はImageParamsで返される元の画像のスケールになります。境界ボックスは、人間の期待に応じて顔を「囲む」ために計算されます。ランドマークの結果に基づいています。 注釈を付ける画像に部分的な顔しか表示されない場合は、BoundingPolyに1つ以上のxおよび/またはy座標が生成されないことがあります(ポリゴンは無制限になります)。

は、私は、これは、この場合の'y'値が0、またはより一般的には、エッジの値であることを意味していると思われます。言い換えれば、テキストがイメージの端までずっと進んでいるので、束縛されたポリが本当にどこで終了するかは分かりません。したがって、イメージはテキストが実際にそこで終わるかどうかを知るための十分な情報を与えません。画像が提供する限り、'y'0で終了します。

+0

これは、どこで発生するのが理にかなっています。 y座標を持たないテキストは、画像の先頭にあります(yは0になります)。 – crld