KeyError:使用 Google Cloud Vision API 进行 OCR 时出现“textAnnotations”
Posted
技术标签:
【中文标题】KeyError:使用 Google Cloud Vision API 进行 OCR 时出现“textAnnotations”【英文标题】:KeyError: 'textAnnotations' while doing OCR using Google Cloud Vision API 【发布时间】:2020-10-22 09:26:45 【问题描述】:我正在关注关于 OCR 的 this 教程。我做了所有与教程中提到的相同的事情,但是在最后一部分生成请求时我收到了这个错误KeyError: 'textAnnotations'
。我能知道我该如何解决这个问题吗?我的输入图像只是一个字符a
。
这是我创建请求的方式:
from googleapiclient.discovery import build
import base64
IMAGE="gs://<project-name>/<folder>/<file-name>.jpg"
vservice = build('vision', 'v1', developerKey=APIKEY)
request = vservice.images().annotate(body=
'requests': [
'image':
'source':
'gcs_image_uri': IMAGE
,
'features': [
'type': 'TEXT_DETECTION',
'maxResults': 3,
]
],
)
responses = request.execute(num_retries=3)
print(responses['responses'][0]['textAnnotations'][0]['description'])
【问题讨论】:
请添加响应和代码,这个错误意味着他在响应中找不到'textAnnotations'。 @Inga890 我正在关注我链接的教程。最后,他们正在创建一个请求。它的结果应该是图像中的文本,但我得到了 keyerror。我已在问题中添加了上述请求。 关键错误来自打印。你收到回复了吗?可以附上吗? 您需要检查它是否检测到图像中的字母。检查responses['responses'][0]
的长度或将其作为一个整体打印出来,看看里面有什么。
【参考方案1】:
出现错误时由 API 返回的响应结构与responses['responses'][0]['textAnnotations'][0]['description']
不同。
我的观点是存在错误,因此您的响应没有您认为的形状。按照 Caleb 的建议,我会打印出完整的回复,然后先看看里面有什么
【讨论】:
以上是关于KeyError:使用 Google Cloud Vision API 进行 OCR 时出现“textAnnotations”的主要内容,如果未能解决你的问题,请参考以下文章
Google API quickstart.py 错误 KeyError: '_module'
Google API:在调用get_credentials()时表单KeyError:'_ module'
GCP - 无法在 Cloud Run 中使用 Google Secret Manager (@google-cloud/secret-manager)
如何使用 Google PubSub 确认 (@google-cloud/pubsub)
google.cloud.pubsub_v1 和 google.cloud.pubsub 有啥区别?
如何使用 Google Python Client for Cloud Functions 获取 Google Cloud Functions 列表?