日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

本文為您介紹如何使用阿里云視覺智能開放平臺相關服務的Node.js SDK,具體包括SDK的獲取和安裝方法,以及SDK代碼示例。

說明

阿里云視覺智能開放平臺各類目視覺AI能力SDK接入、接口使用或問題咨詢等,請通過釘釘群(23109592)加入阿里云視覺智能開放平臺咨詢群聯系我們。

該版本SDK最低環境要求Node 8.x以上,如不滿足請升級Node版本。

準備工作

在安裝和使用阿里云SDK前,確保您已經注冊阿里云賬號并生成訪問密鑰(AccessKey)。具體操作,請參見創建AccessKey

執行以下命令,根據需要的AI類目安裝SDK包。

  • 人臉人體:npm install @alicloud/facebody20191230

  • 文字識別:npm install @alicloud/ocr20191230

  • 商品理解:npm install @alicloud/goodstech20191230

  • 內容審核:npm install @alicloud/imageaudit20191230

  • 圖像識別:npm install @alicloud/imagerecog20190930

  • 圖像生產:npm install @alicloud/imageenhan20190930

  • 分割摳圖:npm install @alicloud/imageseg20191230

  • 目標檢測:npm install @alicloud/objectdet20191230

  • 圖像分析處理:npm install @alicloud/imageprocess20200320

  • 視覺搜索:npm install @alicloud/imgsearch20200320

  • 視頻生產:npm install @alicloud/videoenhan20200320

  • 視頻理解:npm install @alicloud/videorecog20200320

  • 視頻分割:npm install @alicloud/videoseg20200320

  • 異步任務管理:npm install @alicloud/viapi20230117

  • 自學習:npm install @alicloud/viapi-regen20211119

  • 人臉核身服務端20200910專用版本:npm install @alicloud/facebody20200910

SDK下載地址如下:

AI類目

SDK鏈接

Github鏈接

人臉人體

@alicloud/facebody20191230

facebody-20191230

文字識別

@alicloud/ocr20191230

ocr-20191230

商品理解

@alicloud/goodstech20191230

goodstech-20191230

內容審核

@alicloud/imageaudit20191230

imageaudit-20191230

圖像識別

@alicloud/imagerecog20190930

imagerecog-20190930

圖像生產

@alicloud/imageenhan20190930

imageenhan-20190930

分割摳圖

@alicloud/imageseg20191230

imageseg-20191230

目標檢測

@alicloud/objectdet20191230

objectdet-20191230

視覺搜索

@alicloud/imgsearch20200320

imgsearch-20200320

圖像分析處理

@alicloud/imageprocess20200320

imageprocess-20200320

視頻生產

@alicloud/videoenhan20200320

videoenhan-20200320

視頻理解

@alicloud/videorecog20200320

videorecog-20200320

視頻分割

@alicloud/videoseg20200320

videoseg-20200320

異步任務管理

@alicloud/viapi-20230117

viapi-20230117

自學習

@alicloud/viapi-regen20211119

viapi-regen-20211119

人臉核身服務端20200910專用版本

@alicloud/facebody20200910

facebody-20200910

配置環境變量

配置環境變量ALIBABA_CLOUD_ACCESS_KEY_IDALIBABA_CLOUD_ACCESS_KEY_SECRET

重要
  • 阿里云賬號AccessKey擁有所有API的訪問權限,建議您使用RAM用戶進行API訪問或日常運維,具體操作,請參見創建RAM用戶

  • 請不要將AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導致AccessKey泄露,威脅您賬號下所有資源的安全。

  • Linux和macOS系統配置方法

    1. 在IntelliJ IDEA中打開終端Terminal。

    2. 執行以下命令,配置環境變量。

      <access_key_id>需替換為您RAM用戶的AccessKey ID,<access_key_secret>替換為您RAM用戶的AccessKey Secret。如果后續需要進行更多權限相關的配置,具體操作請參見使用RAM Policy控制訪問權限

      export ALIBABA_CLOUD_ACCESS_KEY_ID=<access_key_id> 
      export ALIBABA_CLOUD_ACCESS_KEY_SECRET=<access_key_secret>
  • Windows系統配置方法

    新建環境變量文件,添加環境變量ALIBABA_CLOUD_ACCESS_KEY_IDALIBABA_CLOUD_ACCESS_KEY_SECRET,并寫入已準備好的AccessKey ID和AccessKey Secret。然后重啟Windows系統。本操作以Windows 10為例進行說明。

    1. 打開文件資源管理器,在此電腦上右鍵單擊屬性。

    2. 在右側導航欄,單擊高級系統配置

    3. 系統屬性對話框的高級頁簽下,單擊環境變量

    4. 環境變量對話框中,單擊新建(W)image.png

    5. 在彈出的新建系統變量對話框中,添加環境變量ALIBABA_CLOUD_ACCESS_KEY_IDALIBABA_CLOUD_ACCESS_KEY_SECRET,并寫入已準備好的AccessKey ID和AccessKey Secret。

    6. 重啟Windows系統,使配置生效。

SDK示例

本文以RecognizeBankCard為例。

文件在上海地域OSS

說明

每個類目的訪問域名與對應Region開通能力,請參見訪問域名

// 引入SDK
// 1、這里只是以ocr為例,其他能力請引入相應類目的包。包名可參考本文檔上方的SDK包名稱,能力名可參考對應API文檔中的Action參數。例如您想使用通用分割,其文檔為http://m.bestwisewords.com/document_detail/151960.html,可以知道該能力屬于分割摳圖類目,能力名稱為SegmentCommonImage,那么您需要將代碼中ocr20191230改為imageseg20191230,將RecognizeBankCard改為SegmentCommonImage。
const OcrClient = require('@alicloud/ocr20191230');
const OpenapiClient = require('@alicloud/openapi-client');
const TeaUtil = require('@alicloud/tea-util');

let config = new OpenapiClient.Config({
  // 2、創建AccessKey ID和AccessKey Secret,請參考http://m.bestwisewords.com/document_detail/175144.html。
  // 如果您用的是RAM用戶AccessKey,還需要為RAM用戶授予權限AliyunVIAPIFullAccess,請參考http://m.bestwisewords.com/document_detail/145025.html。
  // 從環境變量讀取配置的AccessKey ID和AccessKey Secret。運行示例前必須先配置環境變量。 
  accessKeyId: process.env.ALIBABA_CLOUD_ACCESS_KEY_ID,   
  accessKeySecret: process.env.ALIBABA_CLOUD_ACCESS_KEY_SECRET
});
// 3、訪問的域名。注意:這個地方需要求改為相應類目的域名,參考:http://m.bestwisewords.com/document_detail/143103.html
config.endpoint = `ocr.cn-shanghai.aliyuncs.com`;

// 4、這里只是以ocr為例,其他能力請引入相應類目的包下面的Client類
const client = new OcrClient.default(config);
// 5、這里只是以ocr下的RecognizeBankCard為例,其他能力請使用相應類目的包和類,具體入參設置需要參考具體能力的文檔
const recognizeBankCardRequest = new OcrClient.RecognizeBankCardRequest({
  imageURL: "http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/ocr/RecognizeBankCard/yhk1.jpg"
});
let runtime = new TeaUtil.RuntimeOptions({ });
// 6、這里只是以ocr下的RecognizeBankCard為例,其他能力請使用相應類目的包和類,注意,recognizeBankCardWithOptions方法名也需要改成對應能力的方法名。方法名是根據能力名稱按照一定規范形成的,如能力名稱為SegmentCommonImage,對應方法名應該為segmentCommonImageWithOptions。
client.recognizeBankCardWithOptions(recognizeBankCardRequest, runtime)
  .then(function(recognizeBankCardResponse) {
    // 獲取整體結果
    console.log(recognizeBankCardResponse);
    // 獲取單個字段,這里只是一個例子,具體能力下的字段需要看具體能力的文檔
    console.log(recognizeBankCardResponse.body.data.cardNumber);
  }, function(error) {
    // 獲取整體報錯信息
    console.log(error);
    // 獲取單個字段
    console.log(error.data.Code);
  })
說明

需要修改的地方均在上述代碼注釋中標明,總結如下:

  1. 引入包的時候,需要引入相應類目的包和相關類。包名可參考上文SDK包名稱,能力名稱可參考對應API文檔中的Action參數。

    例如,您想使用通用分割能力,通過通用分割API文檔可知該能力屬于分割摳圖類目(imageseg20191230),能力名稱為SegmentCommonImage,您需要將代碼中的ocr20191230改為imageseg20191230,將RecognizeBankCard改為SegmentCommonImage。

  2. 訪問的域名一定要修改為相應類目的域名,如果域名類目不匹配會報錯InvalidAction.NotFound。關于域名詳情,請參見訪問域名

  3. Client類需要使用相應類目的包下面的Client類。

  4. Request和Response需要使用相應類目的包和類。

  5. 調用Client的方法時,方法名需要改成對應能力的方法名。方法名是根據能力名稱按照一定規范形成的。例如,能力名稱為SegmentCommonImage,對應方法名應該為segmentCommonImageWithOptions。

文件在本地或可訪問的URL

重要

文件不在同一地域與文件在同地域區別在于需要使用xxxAdvanceRequest,文件是以Stream形式通過imageURLObject參數傳入。

// 引入SDK
// 1、這里只是以ocr為例,其他能力請引入相應類目的包。包名可參考本文檔上方的SDK包名稱,能力名可參考對應API文檔中的Action參數。例如您想使用通用分割,其文檔為http://m.bestwisewords.com/document_detail/151960.html,可以知道該能力屬于分割摳圖類目,能力名稱為SegmentCommonImage,那么您需要將代碼中ocr20191230改為imageseg20191230,將RecognizeBankCard改為SegmentCommonImage。
const OcrClient = require('@alicloud/ocr20191230');
const OpenapiClient = require('@alicloud/openapi-client');
const TeaUtil = require('@alicloud/tea-util');
const fs = require('fs');
const http = require('http');
const https = require('https');

let config = new OpenapiClient.Config({
  // 2、創建AccessKey ID和AccessKey Secret,請參考http://m.bestwisewords.com/document_detail/175144.html。
  // 如果您用的是RAM用戶AccessKey,還需要為RAM用戶授予權限AliyunVIAPIFullAccess,請參考http://m.bestwisewords.com/document_detail/145025.html。
  // 從環境變量讀取配置的AccessKey ID和AccessKey Secret。運行示例前必須先配置環境變量。 
  accessKeyId: process.env.ALIBABA_CLOUD_ACCESS_KEY_ID,   
  accessKeySecret: process.env.ALIBABA_CLOUD_ACCESS_KEY_SECRET
});
// 3、訪問的域名。注意:這個地方需要求改為相應類目的域名,參考:http://m.bestwisewords.com/document_detail/143103.html
config.endpoint = `ocr.cn-shanghai.aliyuncs.com`;
// 4、這里只是以ocr為例,其他能力請引入相應類目的包下面的Client類
const client = new OcrClient.default(config);
const getResponse = function (httpClient, url) {
  return new Promise((resolve, reject) => {
    httpClient.get(url, function (response) {
      resolve(response);
    })
  })
}
const request = async function () {
  try {
    // 5、這里只是以ocr下的RecognizeBankCard為例,其他能力請使用相應類目的包和類,具體入參設置需要參考具體能力的文檔
    let recognizeBankCardAdvanceRequest = new OcrClient.RecognizeBankCardAdvanceRequest();
    // 場景一,使用本地文件
    // const fileStream = fs.createReadStream('/tmp/bankCard.png');
    // recognizeBankCardAdvanceRequest.imageURLObject = fileStream;
    // 場景二,使用任意可訪問的url
    const url = new URL("https://viapi-test-bj.oss-cn-beijing.aliyuncs.com/viapi-3.0domepic/ocr/RecognizeBankCard/yhk1.jpg");
    const httpClient = (url.protocol == "https:") ? https : http;
    recognizeBankCardAdvanceRequest.imageURLObject = await getResponse(httpClient, url);
    let runtime = new TeaUtil.RuntimeOptions({});
    // 6、這里只是以ocr下的RecognizeBankCard為例,其他能力請使用相應類目的包和類,注意,recognizeBankCardAdvance方法名也需要改成對應能力的方法名。方法名是根據能力名稱按照一定規范形成的,如能力名稱為SegmentCommonImage,對應方法名應該為segmentCommonImageAdvance。
    client.recognizeBankCardAdvance(recognizeBankCardAdvanceRequest, runtime)
    .then(function(recognizeBankCardResponse) {
      // 獲取整體結果
      console.log(recognizeBankCardResponse);
      // 獲取單個字段
      console.log(recognizeBankCardResponse.body.data);
    }, function(error) {
      // 獲取整體報錯信息
      console.log(error);
      // 獲取單個字段
      console.log(error.data.Code);
    })
  } catch (error) {
    console.log(error);
  }
}();
說明

需要修改的地方均在上述代碼注釋中標明,總結如下:

  1. 引入包的時候,需要引入相應類目的包和相關類。包名可參考上文SDK包名稱,能力名稱可參考對應API文檔中的Action參數。

    例如,您想使用通用分割能力,通過通用分割API文檔可知該能力屬于分割摳圖類目(imageseg20191230),能力名稱為SegmentCommonImage,您需要將代碼中的ocr20191230改為imageseg20191230,將RecognizeBankCard改為SegmentCommonImage。

  2. 訪問的域名一定要修改為相應類目的域名,如果域名類目不匹配會報錯InvalidAction.NotFound。關于域名詳情,請參見訪問域名

  3. Client類需要使用相應類目的包下面的Client類。

  4. Request和Response需要使用相應類目的包和類。

  5. 調用Client的方法時,方法名需要改成對應能力的方法名。方法名是根據能力名稱按照一定規范形成的。例如,能力名稱為SegmentCommonImage,對應方法名應該為segmentCommonImageAdvance。

常見問題

調用報錯如何處理?

如果您的調用出現報錯,請先嘗試升級SDK包到最新版本,最新版本請參考各類目SDK鏈接。如果您的程序中同時引入了多個類目的包,也可以先嘗試將這些包都升級到最新版本,避免版本之間的包沖突問題。

OpenAPI界面顯示的最新包在npm倉庫中找不到如何處理?

如果您發現OpenAPI界面顯示的最新版本的包,在npm倉庫中找不到,這是因為新版本的包剛剛發布,倉庫同步可能會有延遲,如果遇到版本不存在的情況,請稍后再試或使用npm倉庫中的最新版本。

該SDK包支持Web端或者小程序端直接使用嗎?

不支持。想要在Web端或者小程序端直接使用,需要根據請求簽名機制自行計算簽名并進行請求。可以參考Web前端直接調用或者小程序場景下直接調用

技術支持

如果以上方法未能解決您的問題,請通過搜索釘釘群號(23109592)加入阿里云視覺智能開放平臺咨詢群聯系我們。屆時會有專業的技術人員與您對接解決問題。