在我的Java项目中,我使用Google Cloud Vision API从图像中提取文本。对于文本提取,我使用以下piece of code。
今天,我发现Google已经更改了最大文件大小的限制。以前它是4 MB。
现在,根据Quotas and Limits和Supported Images,云存储上托管的图片或可公开访问的网址的最大图片文件大小应 20 MB 。此外,还有最大JSON请求对象大小(10 MB)。
我正在使用云存储上托管的图片选项。对于大于~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)。
答案 0 :(得分:1)
Google的未记录图片像素限制为75M。 12000 x 6500图片恰好超出了此限制。
答案 1 :(得分:0)
根据官方文件:https://cloud.google.com/vision/docs/supported-files?hl=th
文件大小
发送到Cloud Vision API的图像文件不应超过20MB。 减小文件大小可以显着提高吞吐量;然而, 注意不要在此过程中降低图像质量。请注意 Vision API强加了10MB的JSON请求大小限制;更大的文件应该 托管在云存储或Web上,而不是作为传递 JSON本身中的base64编码内容。