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.

O que é uma API do 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.

Como obtemos uma chave de assinatura para acessar a API do 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/

Depois de configurar a assinatura do Azure, você deve criar um Recurso de Visão do Computador. Certifique-se de ter selecionado a região geográfica correta, porque você não pode alterar isso mais tarde. Visite este link para criar o recurso:

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

Para obter a chave de assinatura do seu recurso, abra o recurso e vá para “Chaves e pontos de extremidade”. Lá você pode ver duas chaves e o local que precisa para fazer nossa chamada REST API.

Como fazer uma solicitação à API REST do Azure usando Delphi REST Client?

Chamar a API REST do Delphi Client é fácil. Você só precisa definir alguns parâmetros e pode executá-lo mesmo em tempo de design. Vamos fazer um aplicativo DEMO. Primeiro, arraste e solte esses componentes em um fórum.

TRESTClient

TRESTRequest

TRESTResponse

Além disso, coloque alguns controles de entrada para obter o URL da API, a chave de assinatura e o URL da imagem. Colocar um TButton para iniciar o pedido. O tipo de conteúdo do Cliente REST deve ser “application / json“. Agora defina as propriedades do cliente e da resposta do TRESTRequest componente para o cliente e componentes de resposta que colocamos anteriormente. Defina também o método como “rmPOST“.

O código do botão Iniciar é assim:

procedimento TfrmMain.btnStartClick (Sender: TObject); var lparam: Trestrequestparameter; imgProcessed: bool; jsonObj, jsonStatus: TJSONObject; begin memResponse.Lines.Clear; RESTClient.BaseURL: = edAPIURL.Text; RESTRequest.Method: = rmpost; imgProcessed: = false; tente RESTRequest.Params.Clear; RESTResponse.RootElement: = ''; lparam: = RESTRequest.Params.AddItem; lparam.name: = 'Ocp-Apim-Subscription-Key'; lparam.Value: = edSubKey.Text; lparam.ContentType: = ctNone; lparam.Kind: = pkHTTPHEADER; // Este é importante, caso contrário, '==' obterá a codificação url lparam.Options: = [poDoNotEncode];
     lparam: = RESTRequest.Params.AddItem; 
     lparam.name: = 'dados'; 
     lparam.Value: = '{"url": "' + edImgURL.Text + '"}'; 
     lparam.ContentType: = ctAPPLICATION_JSON; 
     lparam.Kind: = pkGETorPOST; 
     RESTRequest.Execute; 
     se não for RESTResponse.Status.Success, então showmessage (RESTResponse.StatusText + '' + inttostr (RESTResponse.StatusCode)) 
senão 
começar   
    memResponse.Lines.Add (RESTResponse.JSONText); 
fim;
finalmente terminar; fim;

Este código adicionará um novo parâmetro ao TRESTRequest e definirá a chave de assinatura. A chave de assinatura deve ser passada como um cabeçalho HTTP e o nome deve ser “Ocp-Apim-Subscription-Key“. O parâmetro de valor é a chave de assinatura que copiamos anteriormente. Também é importante incluir a opção “poDoNotEncode“, Caso contrário, ele irá codificar a chave. Além disso, o URL base do TRESTClient precisa ser definido. Quando inserimos a URL base do Cliente Azure, devemos considerar a região do nosso recurso. Deve ser o subdomínio da URL. O URL base terá esta aparência.

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

Substituir "Eastus”Com a sua região ou irá não trabalhos. Além disso, existem vários parâmetros que você pode passar por este URL. Visite este link para encontrar todos os parâmetros.

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

Nesta demonstração passamos “visualFeatures = Descrição”Que irá descrever nossa imagem em uma frase. Além disso, temos que passar nosso URL de imagem no formato JSON. Para fazer isso, adicione um novo parâmetro ao TRESTRequest e defina o tipo de conteúdo para “ctAPPLICATION_JSON”, Defina o nome para“url”E o valor neste formato:

{"url": "IMAGE_URL"}

Nosso aplicativo final deve ser assim.

API de análise de imagem em ação

Você pode baixar o aplicativo DEMO no GitHub: https://github.com/checkdigits/ImageAnalysisClient_example


Bem, experimente você mesmo e veja - é a maneira mais rápida de adicionar análise de imagem aos seus aplicativos Windows, macOS e móveis?

perto

Reduza o tempo de desenvolvimento e chegue ao mercado mais rapidamente com RAD Studio, Delphi ou C ++ Builder.
Projeto. Código. Compilar. Implante.
Iniciar avaliação gratuita   Aprimore hoje

   Delphi Community Edition grátis   Edição gratuita da comunidade C ++ Builder