前提條件
已建立並擷取AccessKey。具體操作,請參見建立AccessKey。
已開通OSS服務、建立儲存空間並上傳檔案到儲存空間。具體操作,請參見控制台上傳檔案。
已開通Intelligent Media Management服務。具體操作,請參見開通產品。
已通過Intelligent Media Management控制台建立專案。具體操作,請參見建立專案。
安裝SDK
重要
調用2020-09-30版本的API,需要使用2020-09-30版本的SDK。
使用Intelligent Media ManagementTypeScript SDK的操作步驟請參見快速入門。
建立專案目錄,並進入該目錄。
執行以下命令初始化。
按照嚮導提示進行配置。初始化完成後,會自動建立一個package.json檔案。其檔案內容樣本如下:
{
"name": "resources",
"version": "1.0.0",
"description": "",
"main": "demo.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
}
執行以下命令安裝TypeScript SDK和代碼所需依賴。
npm install aliyun-sdk
npm install --save @alicloud/imm20200930
npm install --save @alicloud/openapi-client
npm install --save @alicloud/tea-util
npm install --save @alicloud/tea-typescript
npm install -g typescript
使用方法
如下以使用20.10.0版本的TypeScript SDK在華東2(北京)地區中檢測圖片中的人臉以及人臉資訊為例,介紹如何使用Intelligent Media ManagementTypeScript SDK。
建立demo.ts檔案並寫入如下內容。
import imm20200930, * as $imm20200930 from '@alicloud/imm20200930';
import OpenApi, * as $OpenApi from '@alicloud/openapi-client';
import Util, * as $Util from '@alicloud/tea-util';
import * as $tea from '@alicloud/tea-typescript';
export default class Client {
static createClient(accessKeyId: string, accessKeySecret: string): imm20200930 {
let config = new $OpenApi.Config({
accessKeyId: accessKeyId,
accessKeySecret: accessKeySecret,
});
config.endpoint = `imm.cn-beijing.aliyuncs.com`;
return new imm20200930(config);
}
static async main(): Promise<void> {
const imm_access_key_id = process.env.ALIBABA_CLOUD_ACCESS_KEY_ID;
const imm_access_key_secret = process.env.ALIBABA_CLOUD_ACCESS_KEY_SECRET;
let client = Client.createClient(imm_access_key_id, imm_access_key_secret);
let detectImageFacesRequest = new $imm20200930.DetectImageFacesRequest({
projectName: "immtest",
sourceURI: "oss://your-bucket-name/your-path/your-image.jpg"
});
let runtime = new $Util.RuntimeOptions({ });
try {
let response = await client.detectImageFacesWithOptions(detectImageFacesRequest, runtime);
console.log(JSON.stringify(response.body));
} catch (error) {
Util.assertAsString(error.message);
console.log(error);
}
}
}
Client.main();
執行如下命令將demo.ts轉換為JavaScript代碼,轉換完產生demo.js檔案。
tsc demo.ts
執行node demo.js
命令,控制台輸出結果如下。
{
"faces": [
{
"attractive": 0.9810000061988831,
"beard": "none",
"beardConfidence": 0.9990000128746033,
"boundary": {
"height": 320,
"left": 217,
"top": 169,
"width": 226
},
"emotion": "happiness",
"emotionConfidence": 1,
"faceQuality": 0.9869999885559082,
"figureClusterId": "figure-cluster-id-unavailable",
"figureConfidence": 1,
"figureId": "92b7ed67-6344-4410-b5ed-****",
"figureType": "face",
"glasses": "none",
"glassesConfidence": 0.9990000128746033,
"hat": "none",
"hatConfidence": 1,
"headPose": {
"pitch": -17.742000579833984,
"roll": 3.2850000858306885,
"yaw": -0.7279999852180481
},
"mask": "none",
"maskConfidence": 0.7559999823570251,
"mouth": "open",
"mouthConfidence": 1,
"sharpness": 1,
...
}
],
"requestId": "5BE08720-554C-566F-A642-****"
}