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 software with REST Client Feature.

Qu'est-ce qu'une API Azure?

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.

Comment obtenir une clé d'abonnement pour accéder à l'API Azure?

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/

Une fois que vous avez configuré l'abonnement Azure, vous devez créer une ressource de vision par ordinateur. Assurez-vous d'avoir sélectionné la bonne région géographique car vous ne pourrez pas la modifier ultérieurement. Visitez ce lien pour créer la ressource:

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

Pour obtenir la clé d'abonnement de votre ressource, ouvrez la ressource et accédez à «Clés et points de terminaison». Là, vous pouvez voir deux clés et l'emplacement qui doit faire notre appel à l'API REST.

Comment faire une demande à l'API Azure REST à l'aide du client Delphi REST?

L'appel de l'API REST à partir du client Delphi est facile. Il vous suffit de définir quelques paramètres et vous pouvez l'exécuter même au moment de la conception. Laissez faire une application DEMO. Faites d'abord glisser et déposez ces composants dans un forum.

TRESTClient

TRESTRequest

TRESTResponse

Placez également des contrôles d'entrée pour obtenir l'URL de l'API, la clé d'abonnement et l'URL de l'image. Placer un TButton pour démarrer la demande. Le type de contenu du client REST doit être "application / json«. Maintenant, définissez les propriétés de client et de réponse du TRESTRequest composant au client et aux composants de réponse que nous avons placés précédemment. Définissez également la méthode sur "rmPOST“.

Le code du bouton Démarrer ressemble à ceci:

procedure TfrmMain.btnStartClick (Sender: TObject); var lparam: paramètre Trestrequest; imgProcessed: booléen; jsonObj, jsonStatus: TJSONObject; begin memResponse.Lines.Clear; RESTClient.BaseURL: = edAPIURL.Text; RESTRequest.Method: = rmpost; imgProcessed: = faux; essayez RESTRequest.Params.Clear; RESTResponse.RootElement: = ''; lparam: = RESTRequest.Params.AddItem; lparam.name: = 'Clé-d'abonnement-Ocp-Apim'; lparam.Value: = edSubKey.Text; lparam.ContentType: = ctNone; lparam.Kind: = pkHTTPHEADER; // Celui-ci est important sinon le '==' obtiendra l'URL encodée lparam.Options: = [poDoNotEncode];
     lparam: = RESTRequest.Params.AddItem; 
     lparam.name: = 'données'; 
     lparam.Value: = '{"url": "' + edImgURL.Text + '"}'; 
     lparam.ContentType: = ctAPPLICATION_JSON; 
     lparam.Kind: = pkGETorPOST; 
     RESTRequest.Execute; 
     sinon RESTResponse.Status.Success alors showmessage (RESTResponse.StatusText + '' + inttostr (RESTResponse.StatusCode)) 
autre 
commencer   
    memResponse.Lines.Add (RESTResponse.JSONText); 
finir;
enfin finir; finir;

Ce code ajoutera un nouveau paramètre à la TRESTRequest et définira la clé d'abonnement. La clé d'abonnement doit passer comme un en-tête HTTP et le nom doit être "Clé d'abonnement Ocp-Apim«. Le paramètre value est la clé d'abonnement que nous avons copiée précédemment. Il est également important d'inclure l'option "poDoNotEncode«, Sinon il encodera la clé. Aussi l'URL de base du TRESTClient doit être défini. Lorsque nous entrons l'URL de base du client Azure, nous devons tenir compte de la région de notre ressource. Il doit s'agir du sous-domaine de l'URL. L'URL de base ressemblera à ceci.

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

Remplacez "Eastus"Avec votre région ou il sera ne pas travail. Il existe également de nombreux paramètres que vous pouvez passer par cette URL. Veuillez visiter ce lien pour trouver tous les paramètres.

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

Dans cette démo, nous avons réussi "visualFeatures = Description»Qui décrira notre image en une phrase. Nous devons également transmettre notre URL d'image au format JSON. Pour ce faire, ajoutez un nouveau paramètre au TRESTRequest et définissez le type de contenu sur "ctAPPLICATION_JSON", Définissez le nom sur"URL»Et la valeur dans ce format:

{"url": "IMAGE_URL"}

Notre application finale devrait ressembler à ceci.

API d'analyse d'image en action

Vous pouvez télécharger l'application DEMO depuis GitHub: https://github.com/checkdigits/ImageAnalysisClient_example


Eh bien, essayez-le par vous-même et voyez - est-ce le moyen le plus rapide d'ajouter une analyse d'image à vos applications Windows, macOS et mobiles?

proche

Réduisez le temps de développement et accédez plus rapidement au marché avec RAD Studio, Delphi ou C ++ Builder.
Conception. Code. Compiler. Déployer.
Commencer l'essai gratuit   Mettre à jour aujourd'hui

   Édition communautaire Delphi gratuite   Édition communautaire gratuite de C ++ Builder