In this quickstart, you'll analyze a remotely stored image to extract visual features using the Computer Vision REST API with Node.js. With the Analyze Image method, you can extract visual features based on image content.
- An Azure subscription - Create one for free
- Node.js 4.x or later
- npm
- Once you have your Azure subscription, create a Computer Vision resource in the Azure portal to get your key and endpoint. After it deploys, click Go to resource.
- You will need the key and endpoint from the resource you create to connect your application to the Computer Vision service. You'll paste your key and endpoint into the code below later in the quickstart.
- You can use the free pricing tier (
F0
) to try the service, and upgrade later to a paid tier for production.
To create and run the sample, do the following steps:
-
Install the npm
request
package.-
Open a command prompt window as an administrator.
-
Run the following command:
npm install request
-
After the package is successfully installed, close the command prompt window.
-
-
Copy the following code into a text editor.
-
Replace the values of
key
andendpoint
with your Computer Vision key and endpoint. -
Optionally, replace the value of
imageUrl
with the URL of a different image that you want to analyze. -
Optionally, replace the value of the
language
request parameter with a different language. -
Save the code as a file with a
.js
extension. For example,analyze-image.js
. -
Open a command prompt window.
-
At the prompt, use the
node
command to run the file. For example,node analyze-image.js
.
'use strict';
const request = require('request');
let key = 'PASTE_YOUR_COMPUTER_VISION_KEY_HERE';
let endpoint = 'PASTE_YOUR_COMPUTER_VISION_ENDPOINT_HERE';
var uriBase = endpoint + 'vision/v3.1/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' : key
}
};
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);
});
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"
}
}
When no longer needed, delete the file, and then uninstall the npm request
package. To uninstall the package, do the following steps:
-
Open a command prompt window as an administrator.
-
Run the following command:
npm uninstall request
-
After the package is successfully uninstalled, close the command prompt window.
Next, explore the Computer Vision APIs used to analyze an image, detect celebrities and landmarks, create a thumbnail, and extract printed and handwritten text.