Краткое руководство. Удаленный анализ изображения с помощью REST API "Компьютерное зрение" и Node.jsQuickstart: Analyze a remote image using the Computer Vision REST API with Node.js

Из этого краткого руководства вы узнаете, как анализировать удаленное изображение с помощью REST API в API компьютерного зрения, чтобы извлечь визуальные признаки.In this quickstart, you analyze a remotely stored image to extract visual features by using Computer Vision's REST API. С помощью метода Analyze Image можно извлечь визуальные функции на основе содержимого изображения.With the Analyze Image method, you can extract visual features based on image content.

Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу.If you don't have an Azure subscription, create a free account before you begin.

Предварительные требованияPrerequisites

  • Установите платформу Node.js 4.x или более поздней версии.You must have Node.js 4.x or later installed.
  • Установите npm.You must have npm installed.
  • У вас должен быть ключ подписки для Компьютерного зрения.You must have a subscription key for Computer Vision. На странице Try Cognitive Services (Пробная версия Cognitive Services) можно получить ключ бесплатной пробной версии.You can get a free trial key from Try Cognitive Services. Или следуйте инструкциям из статьи Create a Cognitive Services account (Создание учетной записи Cognitive Services), чтобы получить подписку Content Moderator и свой ключ.Or, follow the instructions in Create a Cognitive Services account to subscribe to Computer Vision and get your key.

Создание и выполнение примера кодаCreate and run the sample

Чтобы создать и запустить пример, сделайте следующее.To create and run the sample, do the following steps:

  1. Установите пакет npm request.Install the npm request package.

    1. Откройте окно командной строки с правами администратора.Open a command prompt window as an administrator.

    2. Выполните следующую команду:Run the following command:

      npm install request
      
    3. После успешной установки пакета закройте окно командной строки.After the package is successfully installed, close the command prompt window.

  2. Скопируйте приведенный ниже код в текстовый редактор.Copy the following code into a text editor.

  3. При необходимости внесите в код следующие изменения.Make the following changes in code where needed:

    1. Замените значение subscriptionKey своим ключом подписки.Replace the value of subscriptionKey with your subscription key.
    2. Замените значение uriBase URL-адресом конечной точки для метода Analyze Image из региона Azure, где вы получили ключи подписки, если это необходимо.Replace the value of uriBase with the endpoint URL for the Analyze Image method from the Azure region where you obtained your subscription keys, if necessary.
    3. При необходимости замените значение imageUrl URL-адресом другого изображения, анализ которого следует выполнить.Optionally, replace the value of imageUrl with the URL of a different image that you want to analyze.
    4. При необходимости замените значение параметра запроса language на другой язык.Optionally, replace the value of the language request parameter with a different language.
  4. Сохраните код как файл с расширением .js.Save the code as a file with a .js extension. Например, analyze-image.js.For example, analyze-image.js.

  5. Откройте окно командной строки.Open a command prompt window.

  6. В командной строке запустите файл с помощью команды node.At the prompt, use the node command to run the file. Например, node analyze-image.js.For example, node analyze-image.js.

'use strict';

const request = require('request');

// Replace <Subscription Key> with your valid subscription key.
const subscriptionKey = '<Subscription Key>';

// You must use the same location in your REST call as you used to get your
// subscription keys. For example, if you got your subscription keys from
// westus, replace "westcentralus" in the URL below with "westus".
const uriBase =
    'https://westcentralus.api.cognitive.microsoft.com/vision/v2.0/analyze';

const imageUrl =
    'https://upload.wikimedia.org/wikipedia/commons/3/3c/Shaki_waterfall.jpg';

// Request parameters.
const params = {
    'visualFeatures': 'Categories,Description,Color',
    'details': '',
    'language': 'en'
};

const options = {
    uri: uriBase,
    qs: params,
    body: '{"url": ' + '"' + imageUrl + '"}',
    headers: {
        'Content-Type': 'application/json',
        'Ocp-Apim-Subscription-Key' : subscriptionKey
    }
};

request.post(options, (error, response, body) => {
  if (error) {
    console.log('Error: ', error);
    return;
  }
  let jsonResponse = JSON.stringify(JSON.parse(body), null, '  ');
  console.log('JSON Response\n');
  console.log(jsonResponse);
});

Изучите ответ.Examine the response

Успешный ответ будет возвращен в формате JSON.A successful response is returned in JSON. После этого запустится синтаксический анализ примера и в окне командной строки отобразится успешный ответ, аналогичный следующему.The sample parses and displays a successful response in the command prompt window, similar to the following example:

{
  "categories": [
    {
      "name": "outdoor_water",
      "score": 0.9921875,
      "detail": {
        "landmarks": []
      }
    }
  ],
  "description": {
    "tags": [
      "nature",
      "water",
      "waterfall",
      "outdoor",
      "rock",
      "mountain",
      "rocky",
      "grass",
      "hill",
      "covered",
      "hillside",
      "standing",
      "side",
      "group",
      "walking",
      "white",
      "man",
      "large",
      "snow",
      "grazing",
      "forest",
      "slope",
      "herd",
      "river",
      "giraffe",
      "field"
    ],
    "captions": [
      {
        "text": "a large waterfall over a rocky cliff",
        "confidence": 0.916458423253597
      }
    ]
  },
  "color": {
    "dominantColorForeground": "Grey",
    "dominantColorBackground": "Green",
    "dominantColors": [
      "Grey",
      "Green"
    ],
    "accentColor": "4D5E2F",
    "isBwImg": false
  },
  "requestId": "81b4e400-e3c1-41f1-9020-e6871ad9f0ed",
  "metadata": {
    "height": 959,
    "width": 1280,
    "format": "Jpeg"
  }
}

Очистка ресурсовClean up resources

Если файл больше не нужен, удалите его, а затем удалите пакет request npm.When no longer needed, delete the file, and then uninstall the npm request package. Чтобы удалить пакет, сделайте следующее:To uninstall the package, do the following steps:

  1. Откройте окно командной строки с правами администратора.Open a command prompt window as an administrator.

  2. Выполните следующую команду:Run the following command:

    npm uninstall request
    
  3. После успешного удаления пакета закройте окно командной строки.After the package is successfully uninstalled, close the command prompt window.

Дополнительная информацияNext steps

Ознакомьтесь с API-интерфейсами компьютерного зрения, которые позволяют анализировать изображения, обнаруживать знаменитостей и достопримечательности, создавать эскизы, извлекать печатный и рукописный текст.Explore the Computer Vision APIs used to analyze an image, detect celebrities and landmarks, create a thumbnail, and extract printed and handwritten text. Для быстрых экспериментов с API компьютерного зрения можно использовать открытую консоль тестирования API.To rapidly experiment with the Computer Vision API, try the Open API testing console.