【发布时间】:2018-05-14 13:13:05
【问题描述】:
在我的 Java 项目中,我使用 Google Cloud Vision API 从图像中提取文本。对于文本提取,我使用以下piece of code。
今天,我发现 Google 更改了最大文件大小的限制。以前它是 4 MB。
现在,根据 Quotas and Limits 和 Supported Images,对于托管在 Cloud Storage 或可公开访问的 URL 上的图像,最大图像文件大小应为 20 MB。还有最大 JSON 请求对象大小 (10 MB)。
我正在对托管在 Cloud Storage 上的图像使用选项。对于大于 ~7.95 MB (12000 x 6500) 的图像,我会收到一条错误消息:
responses {
error {
code: 3
message: "Invalid image contents: gs://... ."
}
}
对于尺寸较小的图像,我得到了正确的响应。我知道 TEXT_DETECTION 和 DOCUMENT_TEXT_DETECTION 功能的推荐尺寸为 1024 x 768,但根据以下说明,更大的尺寸应该不是问题:
注意:通常,Vision API 要求图像足够大,以便可以轻松区分请求中的重要特征。小于或大于这些推荐尺寸的尺寸可能会起作用。但是,较小的尺寸可能会导致较低的准确度,而较大的尺寸可能会增加处理时间和带宽使用量,而不会提供可比的准确度优势。
有什么我没有注意到的吗?
注意:我在直接调用 Vision API 时遇到了同样的错误(请参阅 Bearer tokens section)。
【问题讨论】:
-
您为请求 JSON 提供了哪些附加功能。例如{."features": [ { "type": "FACE_DETECTION", "maxResults": 1000 } ] }
-
POST vision.googleapis.com/v1/images:annotate { "requests":[ { "image":{ "source":{ "imageUri": "gs://..." } }, "features":[ { "type":"DOCUMENT_TEXT_DETECTION", "maxResults":1 } ] } ] }