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

本文為您介紹如何使用阿里云視覺智能開放平臺相關(guān)服務(wù)的C# SDK,包括SDK的獲取和安裝方法,以及SDK代碼示例。

說明

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

該版本SDK最低環(huán)境要求.NET Framework 4.5或.NET Core 2.0,如不滿足請升級C#版本。

準(zhǔn)備工作

配置環(huán)境變量

配置環(huán)境變量ALIBABA_CLOUD_ACCESS_KEY_IDALIBABA_CLOUD_ACCESS_KEY_SECRET

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

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

  • Linux和macOS系統(tǒng)配置方法

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

    2. 執(zhí)行以下命令,配置環(huán)境變量。

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

      export ALIBABA_CLOUD_ACCESS_KEY_ID=<access_key_id> 
      export ALIBABA_CLOUD_ACCESS_KEY_SECRET=<access_key_secret>
  • Windows系統(tǒng)配置方法

    新建環(huán)境變量文件,添加環(huán)境變量ALIBABA_CLOUD_ACCESS_KEY_IDALIBABA_CLOUD_ACCESS_KEY_SECRET,并寫入已準(zhǔn)備好的AccessKey ID和AccessKey Secret。然后重啟Windows系統(tǒng)。本操作以Windows 10為例進(jìn)行說明。

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

    2. 在右側(cè)導(dǎo)航欄,單擊高級系統(tǒng)配置

    3. 系統(tǒng)屬性對話框的高級頁簽下,單擊環(huán)境變量

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

    5. 在彈出的新建系統(tǒng)變量對話框中,添加環(huán)境變量ALIBABA_CLOUD_ACCESS_KEY_IDALIBABA_CLOUD_ACCESS_KEY_SECRET,并寫入已準(zhǔn)備好的AccessKey ID和AccessKey Secret。

    6. 重啟Windows系統(tǒng),使配置生效。

代碼示例

本文以RecognizeBankCard為例。

文件在上海地域OSS

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

using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Threading.Tasks;
// 1、這里只是以ocr為例,其他能力請引入相應(yīng)類目的包。包名可參考本文檔上方的SDK包名稱,能力名可參考對應(yīng)API文檔中的Action參數(shù)。例如您想使用通用分割,其文檔為http://bestwisewords.com/document_detail/151960.html,可以知道該能力屬于分割摳圖類目,能力名稱為SegmentCommonImage,那么您需要將代碼中Ocr20191230改為Imageseg20191230,將RecognizeBankCard改為SegmentCommonImage。
using AlibabaCloud.SDK.Ocr20191230.Models;
using Tea;
using Tea.Utils;

namespace AlibabaCloud.SDK.Sample
{
public class Sample
    {
        /**
        * 使用AK&SK初始化賬號Client
        * @param accessKeyId
        * @param accessKeySecret
        * @return Client
        * @throws Exception
        */
        public static AlibabaCloud.SDK.Ocr20191230.Client CreateClient(string accessKeyId, string accessKeySecret)
        {
            //初始化配置對象AlibabaCloud.OpenApiClient.Models.Config。Config對象存放AccessKeyId、AccessKeySecret、Endpoint等配置。
            AlibabaCloud.OpenApiClient.Models.Config config = new AlibabaCloud.OpenApiClient.Models.Config
            {
                AccessKeyId = accessKeyId,
                AccessKeySecret = accessKeySecret,
            };
            // 2、訪問的域名。注意:這個地方需要求改為相應(yīng)類目的域名,參考:http://bestwisewords.com/document_detail/143103.html
            config.Endpoint = "ocr.cn-shanghai.aliyuncs.com";
            // 3、這里只是以ocr為例,其他能力請使用相應(yīng)類目的包下面的Client類
            return new AlibabaCloud.SDK.Ocr20191230.Client(config);
        }

        public static void Main(string[] args)
        {
            // 4、創(chuàng)建AccessKey ID和AccessKey Secret,請參考http://bestwisewords.com/document_detail/175144.html。
            // 如果您用的是RAM用戶的AccessKey,還需要為RAM用戶授予權(quán)限AliyunVIAPIFullAccess,請參考http://bestwisewords.com/document_detail/145025.html。
            // 從環(huán)境變量讀取配置的AccessKey ID和AccessKey Secret。運行示例前必須先配置環(huán)境變量。
            // 這里只是以ocr為例,其他能力請使用相應(yīng)類目的包下面的Client類
            AlibabaCloud.SDK.Ocr20191230.Client client = CreateClient(Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_ID"), Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
            // 5、這里只是以ocr下的RecognizeBankCard為例,其他能力請使用相應(yīng)類目的包和類,具體入?yún)⒃O(shè)置需要參考具體能力的文檔
            AlibabaCloud.SDK.Ocr20191230.Models.RecognizeBankCardRequest recognizeBankCardRequest = new AlibabaCloud.SDK.Ocr20191230.Models.RecognizeBankCardRequest();
            recognizeBankCardRequest.ImageURL = "http://viapi-test.oss-cn-shanghai.aliyuncs.com/viapi-3.0domepic/ocr/RecognizeBankCard/yhk1.jpg";
            AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions();
            try
            {
                // 6、這里只是以ocr下的RecognizeBankCard為例,其他能力請使用相應(yīng)類目的包和類,注意,RecognizeBankCardWithOptions方法名也需要改成對應(yīng)能力的方法名。方法名是根據(jù)能力名稱按照一定規(guī)范形成的,如能力名稱為SegmentCommonImage,對應(yīng)方法名應(yīng)該為SegmentCommonImageWithOptions。
                AlibabaCloud.SDK.Ocr20191230.Models.RecognizeBankCardResponse recognizeBankCardResponse = client.RecognizeBankCardWithOptions(recognizeBankCardRequest, runtime);
                // 獲取整體結(jié)果
                Console.WriteLine(AlibabaCloud.TeaUtil.Common.ToJSONString(recognizeBankCardResponse.Body));
                // 獲取單個字段,這里只是一個例子,具體能力下的字段需要看具體能力的文檔
                Console.WriteLine(recognizeBankCardResponse.Body.Data.CardNumber);
            }
            catch (TeaException error)
            {
                // 如有需要,請打印 error
                Console.WriteLine(error.Message);
            }
            catch (Exception _error)
            {
                TeaException error = new TeaException(new Dictionary<string, object>
                                                      {
                    { "message", _error.Message }
                });
                // 如有需要,請打印 error
                Console.WriteLine(error.Message);
            }
        }
    }
}
說明

需要修改的地方均在上述代碼注釋中標(biāo)明,總結(jié)如下:

  1. 引入包的時候,需要引入相應(yīng)類目的包和相關(guān)類。包名可參考上文SDK包名稱,能力名稱可參考對應(yīng)API文檔中的Action參數(shù)。

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

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

  3. Client類需要使用相應(yīng)類目的包下的Client類。

  4. Request和Response需要使用相應(yīng)類目的包和類。

  5. 調(diào)用Client的方法時,方法名需要改成對應(yīng)能力的方法名。方法名是根據(jù)能力名稱按照一定規(guī)范形成的。例如,能力名稱為SegmentCommonImage,對應(yīng)方法名應(yīng)該為SegmentCommonImageWithOptions。

文件在本地或可訪問的URL

重要

文件在本地、文件不在同一地與文件在同地域區(qū)別在于需要使用xxxAdvanceRequest,文件是以Stream形式通過ImageURLObject參數(shù)傳入。

using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Net;
using System.Threading.Tasks;
// 1、這里只是以ocr為例,其他能力請引入相應(yīng)類目的包。包名可參考本文檔上方的SDK包名稱,能力名可參考對應(yīng)API文檔中的Action參數(shù)。例如您想使用通用分割,其文檔為http://bestwisewords.com/document_detail/151960.html,可以知道該能力屬于分割摳圖類目,能力名稱為SegmentCommonImage,那么您需要將代碼中Ocr20191230改為Imageseg20191230,將RecognizeBankCard改為SegmentCommonImage。
using AlibabaCloud.SDK.Ocr20191230.Models;
using Tea;
using Tea.Utils;
using static System.Net.WebRequestMethods;

namespace AlibabaCloud.SDK.Sample
{
    public class Sample
    {
        /**
         * 使用AK&SK初始化賬號Client
         * @param accessKeyId
         * @param accessKeySecret
         * @return Client
         * @throws Exception
         */
        public static AlibabaCloud.SDK.Ocr20191230.Client CreateClient(string accessKeyId, string accessKeySecret)
        {
            //初始化配置對象AlibabaCloud.OpenApiClient.Models.Config。Config對象存放AccessKeyId、AccessKeySecret、Endpoint等配置。
            AlibabaCloud.OpenApiClient.Models.Config config = new AlibabaCloud.OpenApiClient.Models.Config
            {
                AccessKeyId = accessKeyId,
                AccessKeySecret = accessKeySecret,
            };
            // 2、訪問的域名。注意:這個地方需要求改為相應(yīng)類目的域名,參考:http://bestwisewords.com/document_detail/143103.html
            config.Endpoint = "ocr.cn-shanghai.aliyuncs.com";
            // 3、這里只是以ocr為例,其他能力請使用相應(yīng)類目的包下面的Client類
            return new AlibabaCloud.SDK.Ocr20191230.Client(config);
        }

        public static void Main(string[] args)
        {
            // 4、創(chuàng)建AccessKey ID和AccessKey Secret,請參考http://bestwisewords.com/document_detail/175144.html。
            // 如果您用的是RAM用戶的AccessKey,還需要為RAM用戶授予權(quán)限AliyunVIAPIFullAccess,請參考http://bestwisewords.com/document_detail/145025.html。
            // 從環(huán)境變量讀取配置的AccessKey ID和AccessKey Secret。運行示例前必須先配置環(huán)境變量。
            // 這里只是以ocr為例,其他能力請使用相應(yīng)類目的包下面的Client類
            AlibabaCloud.SDK.Ocr20191230.Client client = CreateClient(Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_ID"), Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));            // 5、這里只是以ocr下的RecognizeBankCard為例,其他能力請使用相應(yīng)類目的包和類,具體入?yún)⒃O(shè)置需要參考具體能力的文檔
            AlibabaCloud.SDK.Ocr20191230.Models.RecognizeBankCardAdvanceRequest recognizeBankCardAdvanceRequest = new AlibabaCloud.SDK.Ocr20191230.Models.RecognizeBankCardAdvanceRequest();
            /* 場景一,使用本地文件
            System.IO.StreamReader file = new System.IO.StreamReader(@"/Users/zhuxun.lx/Downloads/yhk1.jpg");
            recognizeBankCardAdvanceRequest.ImageURLObject = file.BaseStream;
            */
            // 場景二,使用任意可訪問的url
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://viapi-test-bj.oss-cn-beijing.aliyuncs.com/viapi-3.0domepic/ocr/RecognizeBankCard/yhk1.jpg");
            WebResponse response = request.GetResponse();
            Stream stream = response.GetResponseStream();
            recognizeBankCardAdvanceRequest.ImageURLObject = stream;
            AlibabaCloud.TeaUtil.Models.RuntimeOptions runtime = new AlibabaCloud.TeaUtil.Models.RuntimeOptions();
            try
            {
                // 6、這里只是以ocr下的RecognizeBankCard為例,其他能力請使用相應(yīng)類目的包和類,注意,RecognizeBankCardAdvance方法名也需要改成對應(yīng)能力的方法名。方法名是根據(jù)能力名稱按照一定規(guī)范形成的,如能力名稱為SegmentCommonImage,對應(yīng)方法名應(yīng)該為SegmentCommonImageAdvance。
                AlibabaCloud.SDK.Ocr20191230.Models.RecognizeBankCardResponse recognizeBankCardResponse = client.RecognizeBankCardAdvance(recognizeBankCardAdvanceRequest, runtime);
                // 獲取整體結(jié)果
                Console.WriteLine(AlibabaCloud.TeaUtil.Common.ToJSONString(recognizeBankCardResponse.Body));
                // 獲取單個字段,這里只是一個例子,具體能力下的字段需要看具體能力的文檔
                Console.WriteLine(recognizeBankCardResponse.Body.Data.CardNumber);
            }
            catch (TeaException error)
            {
                // 如有需要,請打印 error
                Console.WriteLine(error.Message);
            }
            catch (Exception _error)
            {
                TeaException error = new TeaException(new Dictionary<string, object>
                {
                    { "message", _error.Message }
                });
                // 如有需要,請打印 error
                Console.WriteLine(error.Message);
            }
        }
    }
}
說明

需要修改的地方均在上述代碼注釋中標(biāo)明,總結(jié)如下:

  1. 引入包的時候,需要引入相應(yīng)類目的包和相關(guān)類。包名可參考上文SDK包名稱,能力名稱可參考對應(yīng)API文檔中的Action參數(shù)。

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

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

  3. Client類需要使用相應(yīng)類目的包下面的Client類。

  4. Request和Response需要使用相應(yīng)類目的包和類。

  5. 調(diào)用Client的方法時,方法名需要改成對應(yīng)能力的方法名。方法名是根據(jù)能力名稱按照一定規(guī)范形成。例如,能力名稱為SegmentCommonImage,對應(yīng)方法名應(yīng)該為SegmentCommonImageAdvance。

常見問題

調(diào)用報錯如何處理?

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

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

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

技術(shù)支持

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