Qu'est-ce qu'une API Azure?

Azure est une plateforme de cloud computing proposée par Microsoft avec plus de 200 services disponibles. Azure fournit diverses bibliothèques clientes et une API REST pour accéder à ces services. Il existe un niveau gratuit pour vous permettre d'accéder gratuitement à plusieurs services, dont beaucoup restent gratuits tant que vous ne dépassez pas des limites mensuelles assez généreuses. Nous allons utiliser le service «Recherche cognitive» pour effectuer une analyse d'image. Le service de recherche cognitive est un niveau toujours gratuit, vous ne devriez donc jamais avoir à payer pour cela.

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

Pour accéder à l'API Azure REST, nous avons besoin d'une clé d'abonnement. La clé d'abonnement est une clé affectée à une «ressource». Nous devons donc d'abord créer une ressource. Pour créer une ressource, vous avez besoin d'un abonnement Azure actif. Veuillez visiter ce lien pour créer un abonnement:

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