呼叫影像分析 3.2 API

本文示範如何呼叫影像分析 3.2 API,以傳回影像視覺功能的相關信息。 它也會示範如何使用用戶端 SDK 或 REST API 剖析傳回的資訊。

本指南假設您已 建立視覺資源 ,並取得密鑰和端點 URL。 如果您使用用戶端 SDK,您也需要驗證客戶端物件。 如果您尚未完成這些步驟,請遵循 快速入門 以開始使用。

提交資料至服務

本指南中的程式代碼會使用 URL 所參考的遠端影像。 您可能想要自行嘗試不同的影像,以查看影像分析功能的完整功能。

分析遠端影像時,您可以藉由格式化要求本文來指定影像的 URL: {"url":"http://example.com/images/test.jpg"}

若要分析本機影像,您會將二進位影像數據放在 HTTP 要求本文中。

決定如何處理資料

選取視覺效果功能

分析 API 可讓您存取所有服務的影像分析功能。 根據您自己的使用案例選擇要執行的作業。 如需每項功能的描述,請參閱概觀。 下列各節中的範例會新增所有可用的視覺功能,但對於實際使用方式,您只需要一兩個。

您可以藉由設定分析 API網址查詢參數來指定要使用的功能。 參數可以有多個值,並以逗號分隔。 您指定的每項功能都需要更多計算時間,因此只需要指定您需要的內容。

URL 參數 Description
features Read 讀取影像中的可見文字,並將其輸出為結構化 JSON 數據。
features Description 以支持的語言描述具有完整句子的影像內容。
features SmartCrops 會尋找矩形座標,以將影像裁剪為所需的外觀比例,同時保留感興趣的區域。
features Objects 偵測影像內的各種物件,包括近似的位置。 Objects 自變數僅適用於英文。
features Tags 使用與影像內容相關的詳細文字清單來標記影像。

填入的網址可能如下所示:

<endpoint>/vision/v3.2/analyze?visualFeatures=Tags

指定語言

您也可以指定傳回數據的語言。

下列 URL 查詢參數會指定語言。 預設值是 en

URL 參數 Description
language en 英語
language es 西班牙文
language ja 日文
language pt 葡萄牙文
language zh 簡體中文

填入的網址可能如下所示:

<endpoint>/vision/v3.2/analyze?visualFeatures=Tags&language=en

取得來自服務的結果

本節說明如何剖析 API 呼叫的結果。 它包含 API 呼叫本身。

注意

限定範圍的 API 呼叫

影像分析中的某些功能可以直接呼叫,也可以透過分析 API 呼叫來呼叫。 例如,您可以藉由向 SDK 中的對應方法提出要求 <endpoint>/vision/v3.2/tag ,對只對影像標記執行範圍分析。 如需可個別呼叫的其他功能,請參閱參考檔

服務會傳 200 回 HTTP 回應,主體會以 JSON 字串的形式包含傳回的數據。 下列文字是 JSON 回應的範例。

{
    "metadata":
    {
        "width": 300,
        "height": 200
    },
    "tagsResult":
    {
        "values":
        [
            {
                "name": "grass",
                "confidence": 0.9960499405860901
            },
            {
                "name": "outdoor",
                "confidence": 0.9956876635551453
            },
            {
                "name": "building",
                "confidence": 0.9893627166748047
            },
            {
                "name": "property",
                "confidence": 0.9853052496910095
            },
            {
                "name": "plant",
                "confidence": 0.9791355729103088
            }
        ]
    }
}

錯誤碼

請參閱下列可能錯誤及其原因的清單:

  • 400
    • InvalidImageUrl - 影像 URL 的格式不正確或無法存取。
    • InvalidImageFormat - 輸入數據不是有效的影像。
    • InvalidImageSize - 輸入影像太大。
    • NotSupportedVisualFeature - 指定的功能類型無效。
    • NotSupportedImage - 不支援的影像,例如兒童色情內容。
    • InvalidDetails - 不支持 detail 的參數值。
    • NotSupportedLanguage - 指定的語言不支援要求的作業。
    • BadArgument - 錯誤訊息中會提供更多詳細數據。
  • 415 - 不支援的媒體類型錯誤。 Content-Type 不在允許的類型中:
    • 針對影像 URL,Content-Type 應該是 application/json
    • 若為二進位影像數據,Content-Type 應該是 application/octet-streammultipart/form-data
  • 500
    • FailedToProcess
    • Timeout - 影像處理逾時。
    • InternalServerError

提示

使用 Azure AI 視覺時,您可能會遇到由服務強制執行的速率限制或其他暫時性問題所造成的暫時性失敗,例如網路中斷。 如需處理這些失敗類型的資訊,請參閱 雲端設計模式指南中的重試模式 ,以及相關的 斷路器模式

下一步