问题标签 [google-cloud-vision]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4657 浏览

python - 如何避免来自 Google Vision API 的 Http 错误代码 429?

我一直在使用 Google Vision API 在一些使用 Python 的文档中执行 OCR 任务。

它开始正常工作,直到我开始收到 Http 错误代码 429,这意味着我在短时间内执行了太多请求。然后,我决定在每个请求之间放置一个睡眠,随着 Http Error Code 429 数量的增加,睡眠时间也会增加。但是,一段时间后,错误消息不断出现。由于消息不断到达,睡眠时间不断增加,直到它达到睡眠时间过长以至于我失去连接的程度。

最奇怪的是,如果我连续多次收到此类错误消息,并立即完成该过程并重新开始,则请求会在第一次尝试中再次开始工作。

换句话说,似乎无论我设置的睡眠时间如何,我都会在某个时候开始接收此类消息,而让它再次工作的唯一方法是重新启动进程(这根本没有意义)。

如何避免出现此类错误消息而无需重新启动该过程?谁能帮我?

非常感谢!

编辑:

这是请求的代码(它的一部分)。

0 投票
1 回答
1103 浏览

javascript - AWS Lambda w/Google Vision API 抛出 PEM_read_bio:no start line 或 Errno::ENAMETOOLONG

目标:用户上传到 S3,触发 Lambda 获取文件并发送到 Google Vision API 进行分析,返回结果。

据此,需要google-cloud机库,并且必须针对 lambda 正在运行的操作系统进行编译。使用lambda-packager引发了错误,但使用带有 Node 和 NPM 的 EC2 来运行安装时出现了一些 Internet 搜索。本着破解这一点的精神,这就是我所做的以使其大部分工作*。至少 lambda 停止给我 ELF 标头错误。

我目前的问题是有两种调用 Vision API 的方法,它们都不起作用并且都返回不同的错误(大部分)。


公共代码:此代码始终相同,位于函数的顶部,我将其分开以使后面的代码块专注于该问题。


使用detect():此代码总是返回错误Error: error:0906D06C:PEM routines:PEM_read_bio:no start line。理论上它应该可以工作,因为 URL 是公开的。通过搜索错误,我认为它可能是 HTTPS 问题,所以我什至尝试了一种变体,将 HTTPS 替换为 HTTP,但得到了相同的错误。


使用detectLabels()此代码始终返回Error: ENAMETOOLONG: name too long, open ....[the image in base64]...。在一个建议中,人们认为该方法不应传递 base64 图像,而应传递公共路径;这可以解释为什么它说名称太长(base64 图像就是 URL)。不幸的是,这从上面给出了 PEM 错误。我也尝试过不进行 base64 编码并直接从 aws 传递对象缓冲区,但这也导致了 PEM 错误。


根据Best Practices,图像应该是 base64 编码的。

从 API 文档和示例以及其他任何内容来看,我似乎正确地使用了这些。我觉得我已经阅读了所有这些文档一百万次。

如果 NAMETOOLONG 错误期待 base64 的东西,我不确定该怎么做。这些图像不超过 1MB。

* PEM 错误似乎与凭证有关,并且因为我了解所有这些凭证如何工作以及如何在 EC2(没有任何类型的 PEM 文件)上编译模块,这可能是我的问题。也许我需要在运行之前设置一些凭据npm install,就像需要安装在 linux 机器上一样?这开始超出我的理解范围,所以我希望这里有人知道。

理想情况下,使用detect会更好,因为我可以指定我想要检测的内容,但只要从 Google 获得任何有效的响应就会很棒。你们都可以提供的任何线索将不胜感激。

0 投票
1 回答
458 浏览

php - Google Cloud Vision IMAGE_PROPERTIES 返回 10 种颜色/结果,无论是什么图像以及 maxResults 参数的值是多少

我是 Google Cloud Vision API 的新手,我想使用它们的主色功能从图像中提取颜色。下面是我的代码,它基于Terrence Ryan 的博客

该代码有效,但我遇到了一些问题。有一些颜色显然在图像上,但未包含在 API 响应中。所以我认为增加结果的数量可以解决这个问题,但后来我发现将“maxResults”(Google API 文档:要返回的结果数量)参数更改为任何值都不会影响响应中的任何内容。即使我将参数设置为小于 10 并且即使我更改了图像,结果的数量也固定为 10 种颜色。谷歌的 API 文档没有说任何关于它的内容,所以我想知道你们中是否有人经历过。

0 投票
2 回答
1599 浏览

google-cloud-platform - Unable to obtain response from google cloud vision api

I am trying to test out google cloud vision api by following Google's tutorial on using cloud vision api.

Step 1: Generating JSON Requests by typing the following command in the terminal

The above command generates request.json file.

Step 2: Using Curl to Send Generated Requests

Output in Terminal (following step 2) Notice that the output in the terminal (see below) shows Content-Length: 0 and [data not shown].

Can someone please advise why the content length is zero ? and also why I am unable to obtain the JSON response from google cloud vision api ?

The below is the out put in Terminal

Below is the JSON request generated in request.json file

Below is the Code in generate_json.py

The below is the text inside cloudVisionInputFile

0 投票
1 回答
3940 浏览

react-native - 用于 Google Cloud Vision API - 文本检测的 React Native 组件

我正在使用 React Native 的 Image Picker 组件在我的应用程序上捕获图像。在显示图片之前,我想使用 Google Cloud Vision 的文本检测 API 对其进行解析。我一直在搜索 React Native 中的组件,但没有结果。有谁知道周围有什么东西,或者是否可以在 React Native 中完成?

0 投票
4 回答
6356 浏览

machine-learning - 可以使用您的图像数据训练 Google Cloud Vision API 吗?

IBM Watson 有一项功能,您可以使用您的图像在 Watson 上训练分类器,但我无法在 Google Cloud Vision API 上找到类似的功能?我想要的是上传 10-15 类图像,并在上传图像的基础上对之后加载的任何图像进行分类。IBM Bluemix (Watson) 具有此功能,但其定价明显高于 Google。如果价格低于谷歌,我也对其他服务持开放态度

0 投票
0 回答
1082 浏览

rest - Xamarin 中的 Google Vision Rest API

我正在尝试从 Xamarin.Forms 应用程序调用 Google Vision REST API。我有以下代码: -

但这给我返回了一条400错误消息:

收到无效的 JSON 有效负载。期望值。

0 投票
1 回答
2440 浏览

android - 在 android 项目中在哪里设置 GOOGLE_APPLICATION_CREDENTIALS 变量?

我正在开发一个需要使用谷歌云平台提供的谷歌视觉服务的安卓应用程序。对于身份验证,这使用类GoogleCredential类,其代码可在此处找到:

https://cloud.google.com/vision/docs/label-tutorial#authenticating

我需要将GOOGLE_APPLICATION_CREDENTIALS变量设置为指向从另一个链接下载的 json 文件的环境变量,这并不重要。

问题是:当我使用设置环境变量时

它给了我例外

java.io.IOException:应用程序默认凭据不可用。如果在 Google App Engine、Google Compute Engine 或 Google Cloud Shell 上运行,它们就可用。否则,必须定义环境变量 GOOGLE_APPLICATION_CREDENTIALS 指向定义凭据的文件。

排队

所有代码都可以在上面给出的链接中找到。

0 投票
1 回答
248 浏览

google-cloud-platform - TEXT_DETECTION 忽略/消除单词

我正在尝试使用 Google Vision API 文本检测功能,并尝试对文本图像执行 OCR。文本图像非常干净,80% 的时间都有效。20% 的错误包括误解的数字/字符(可修复),以及一些根本不显示的单词/数字(不可修复!)。

我遵循了最佳实践页面提示(图像为 1024x768,16 位 PNG)但无济于事。

这是一个示例:此示例页面 https://storage.googleapis.com/ximian-cloud.appspot.com/sample_page.png

有一个数字 177(根据观察,“RT ARM”的右侧),API 根本没有检测到这......

我试过了:

  • 两倍分辨率 (2048 x 1536)
  • BMP 24 位
  • BMP 32 位
  • 以上所有,灰度
  • 以上所有内容,倒置(黑色背景和白色字母)

没运气 ...

关于为什么会发生这种情况的任何提示?是 API 还是我的图像格式可以使用某些格式?

0 投票
0 回答
102 浏览

google-image-search - 用于读取图像标签的 Google Vision API 提供的结果不如 Google 图片搜索准确

我正在寻找创建一个使用用户上传的图像并在网络上查找相同/相似图像的应用程序。谷歌图像是最好的例子,所以我尝试使用 Vision API 首先读取图像标签并使用谷歌自定义搜索 API 查询它们。问题是,标签读取 API 没有给出特定的标签。例如,如果我在谷歌图片上上传星巴克标志,我会得到标签“星巴克”和“标志”。使用相同的图像从 API 获取标签会给我所有其他不相关的标签,例如“字体”、“圆圈”、“艺术”等。我的问题是,同一家公司的 API 怎么会在他们的网站上使用功能当我使用它时会给我不同的结果吗?