Google Vision API文本检测奇怪的行为 - Javascript

时间:2017-06-24 19:47:07

标签: javascript ocr google-vision

最近有关Google Vision API的更改内容。我用它来识别收据上的文字。直到现在都很好。突然,API开始对我的请求作出不同的反应。

我今天向API发送了相同的图片,我得到了不同的回复(过去)。我确保我的代码没有任何改变,所以这不是罪魁祸首。

另一个奇怪的事情是,当我将图像上传到响应中的https://cloud.google.com/vision/时,在textAnnotations下,我得到一个包含183个条目的数组。但是,当我从我的应用程序发布时,我得到了113个条目的数组。下面你可以看到我的代码。

.bgimg {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url(/w3images/profile_girl.jpg);
    min-height: 100%;
}

我想知道我的免费订阅是否有所改变,这就是我收到不同回复的原因。这甚至可能吗?有没有人在此之前偶然发现了这类问题?

2 个答案:

答案 0 :(得分:3)

我有同样的问题。对我来说,(我不知道为什么,但是......)从TEXT_DETECTION更改为DOCUMENT_TEXT_DETECTION解决了这个问题。现在,当我在Google Vision页面上传图片时,从API收到的结果是相同的。

答案 1 :(得分:2)

我有类似的问题。

Google Cloud Vision API表示“OCR会自动检测拉丁语charatecrs,有时会失败”或者有一种奇怪的行为。 API还表示您可以向帮助添加参数以更好地检测文本,为图像提供 上下文

您必须将以下代码添加到请求中。

"imageContext": {
        "languageHints": [
          "en"
        ]
 }

结果应如下所示:

{
  "requests": [
    {
      "image": {
            content: imageData.split(',')[1]
      },
      "features": [{
            type: 'TEXT_DETECTION',
            maxResults:50
        }],
      "imageContext": {
        "languageHints": [
          "en"
        ]
      }
    }
  ]
}

请注意,语言提示它是一个数组,因此您可以添加更多语言,以准确地给出OCR提示。

你可以阅读更多: https://cloud.google.com/vision/docs/reference/rest/v1/images/annotate#imagecontext

这有助于我不会得到奇怪的角色。