To add cost-effective image analysis to your applications, this article will walk you through Azure API, how to obtain a subscription key to access Azure API, and how to make requests to Azure REST API using an IDEソフトウェア with REST Client Feature.

Azure APIとは何ですか?

Azure is a cloud computing platform offered by Microsoft with more than 200 available services. Azure provides various client libraries and a REST API to access those services. There’s a free tier to get you up and running which allows you to access several services free many of which remain free as long as you don’t exceed some quite generous monthly limits. We are going to use the “Cognitive Search” service to perform Image analysis. The Cognitive Search service is an always-free tier so you should never need to pay for it.

Azure APIにアクセスするためのサブスクリプションキーを取得するにはどうすればよいですか?

To access the Azure REST API, we need a subscription key. A subscription key is a key assigned to a ‘resource’. So we need to create a resource first. To create a resource, you need an active Azure Subscription. Please visit this link to create a subscription:

https://azure.microsoft.com/free/cognitive-services/

Azureサブスクリプションを設定したら、コンピュータービジョンリソースを作成する必要があります。後で変更することはできないため、正しい地理的地域を選択していることを確認してください。リソースを作成するには、次のリンクにアクセスしてください。

https://portal.azure.com/#create/Microsoft.CognitiveServicesComputerVision

リソースのサブスクリプションキーを取得するには、リソースを開き、「キーとエンドポイント」に移動します。ここに、2つのキーとRESTAPI呼び出しを行うために必要な場所が表示されます。

DelphiRESTクライアントを使用してAzureREST APIにリクエストを送信するにはどうすればよいですか?

DelphiクライアントからRESTAPIを呼び出すのは簡単です。いくつかのパラメータを設定するだけで、設計時でも実行できます。デモアプリケーションを作ってみましょう。まず、これらのコンポーネントをフォーラムにドラッグアンドドロップします。

TRESTClient

TRESTRequest

TRESTResponse

また、いくつかの入力コントロールを配置して、API URL、サブスクリプションキー、および画像URLを取得します。を配置します TButton リクエストを開始します。 RESTクライアントのコンテンツタイプは「application/json「。次に、のクライアントプロパティと応答プロパティを設定します。 TRESTRequest 以前に配置したクライアントおよび応答コンポーネントへのコンポーネント。また、メソッドを「rmPOST“.

[スタート]ボタンのコードは次のようになります。

プロシージャTfrmMain.btnStartClick(送信者:TObject); var lparam:Trestrequestparameter; imgProcessed:bool; jsonObj、jsonStatus:TJSONObject; memResponse.Lines.Clearを開始します。 RESTClient.BaseURL:= edAPIURL.Text; RESTRequest.Method:= rmpost; imgProcessed:= false; RESTRequest.Params.Clearを試してください。 RESTResponse.RootElement:= ''; lparam:= RESTRequest.Params.PASSWORD; lparam.name:='Ocp-Apim-Subscription-Key '; lparam.Value:= edSubKey.Text; lparam.ContentType:= ctNone; lparam.Kind:= pkHTTPHEADER; //これは重要です。そうでない場合、 '=='はURLエンコードされたlparam.Options:= [poDoNotEncode];を取得します。
     lparam:= RESTRequest.Params.PASSWORD; 
     lparam.name:= 'データ'; 
     lparam.Value:= '{"url": "' + edImgURL.Text + '"}'; 
     lparam.ContentType:= ctAPPLICATION_JSON; 
     lparam.Kind:= pkGETorPOST; 
     RESTRequest.Execute; 
     RESTResponse.Status.Successでない場合は、showmessage(RESTResponse.StatusText + '' + inttostr(RESTResponse.StatusCode)) 
そうしないと 
ベギン   
    memResponse.Lines.Add(RESTResponse.JSONText); 
終わり;
最終的に終了します。終わり;

このコードは、TRESTRequestに新しいパラメーターを追加し、サブスクリプションキーを設定します。サブスクリプションキーはHTTPヘッダーとして渡す必要があり、名前は「Ocp-Apim-Subscription-Key「。 valueパラメータは、前にコピーしたサブスクリプションキーです。また、「オプションを含めることも重要です。poDoNotEncode「それ以外の場合は、キーをエンコードします。また、のベースURL TRESTClient 設定する必要があります。 AzureクライアントのベースURLを入力するときは、リソースのリージョンを考慮する必要があります。 URLのサブドメインである必要があります。ベースURLは次のようになります。

https://eastus.api.cognitive.microsoft.com/vision/v3.2/analyze?visualFeatures=Description

eastus」をお住まいの地域で使用するか、 ない 作業。また、このURLで渡すことができるパラメータはたくさんあります。すべてのパラメータを見つけるには、このリンクにアクセスしてください。

https://docs.microsoft.com/en-us/azure/cognitive-services/computer-vision/vision-api-how-to-topics/howtocallvisionapi

このデモでは、「visualFeatures = Description」は、私たちのイメージを1つの文で説明します。また、画像のURLをJSON形式で渡す必要があります。これを行うには、新しいパラメータをに追加します TRESTRequest コンテンツタイプを「ctAPPLICATION_JSON」、名前を「」に設定しますURL」とこの形式の値:

{"url": "IMAGE_URL"}

最終的なアプリケーションは次のようになります。

動作中の画像分析API

GitHubからDEMOアプリケーションをダウンロードできます。 https://github.com/checkdigits/ImageAnalysisClient_example


さて、自分で試してみてください– Windows、macOS、モバイルアプリケーションに画像分析を追加する最速の方法ですか?

閉じる

RAD Studio、Delphi、C++Builderを用いれば、開発時間を短縮し、より早く市場に投入可能!
Design. Code. Compile. Deploy.
トライアル版をダウンロード   いますぐアップグレード!

   Delphi Community Edition(無料)   C++Builder Community Edition(無料)