Neste artigo será construido uma aplicação ASP.NET Core utilizando um API de Inteligencia Artificial (IA) da Microsoft. Veja como é simples criar um projeto e consumir a api Computer Vision do Azure.

Cognitive Services

Cognitive Services é um conjunto de Api's e SDK's de Inteligencia Artificial da Microsoft. Possui serviços como detecção de emoção em vídeo. Reconhecimento facial, fala e identificação de objetos. Compreensão de fala e linguagem.

Computer vision API

A robot named Pepper holding an iPad

Esta Api oferece diversos recursos para trabalhar com imagens. Possui métodos para analise de imagens, identificando os elementos visuais. Fazer OCR, lendo o texto e reconhecimento de texto manuscrito.

SB Admin

É um template Frontend gratuito desenvolvido em Angular 6 com Bootstrap 4.

Projeto

Uma WebApi em ASP.NET Core que consume o Computer Vision do Azure. Efetuar a analise de imagem e devolve o JSON. O upload das imagens será com Angular 6 e o template SB Admin Bootstrap 4.

Resultado deste tutorial

SHOW ME THE CODE

Code on a computer

O projeto será totalmente desenvolvido com o VSCode.

Pré-requisitos

Computer Vision API

Abra o painel do Azure e vá em Create Service > AI + Machine Learning > Computer Vision.

Portal-Azure-1

No painel seguinte solicita os dados para criar a Api. A unica atenção aqui é para utilizar a camada F0, gratuíta.

Azure-criando

Após criar o serviço, vá em All Resources localize o Cognitive Services e copie a Key gerada. (All Resources > Cognitive Services > Keys).

azure-key

VSCode

Crie uma pasta no seu computador chamado CognitiveServices. Abra o VSCode e carregue esta pasta.

Agora abra o terminal CTRL + ` e execute os seguintes comandos.

Os comandos criam um novo projeto e adiciona as referências necessárias para este projeto.

Startup.cs

Para configurar o Swagger é necessário modificar o arquivo Startup.cs

ComputerVisionController.cs

Crie uma nova Controller chamada ComputerVisionController. Nela haverá dois métodos. O primeiro é para obter informações de uma imagem pela Url e a outra é analizar uma imagem que será feito o upload.

Substitua o YOUR KEY pela chave gerada no Azure.

Models

Crie uma pasta chamada Models e adicione uma Class ImageModel.cs.

Frontend - SB Admin

Para adicionar o projeto Angular vá no terminal do VSCode e execute os comandos a seguir

Os comandos irão fazer download do projeto, instalar as dependências e adicionar os componentes necessários.

module

Abra o arquivo computer-vision.module.ts. Será necessário configurar a rota.

Html Component

Agora é necessário criar um formulário básico para consumir o WebApi. O formulário possui um preview e um botão de upload da imagem.

Service

O service será responsável por manter a comunicação com o WebApi. Crie um arquivo chamado computer-vision.service.ts na pasta computer-vision.

component

O component irá tratar o arquivo do upload e também fará chamadas na WebApi.

models

A seguinte model deverá ser criada. Para isso crie um arquivo FileUpload.ts na pasta shared > models.

Crie também uma model para o resultado da WebApi chamado ImageAnalisys.

Configurando o novo component

Para que o component esteja disponivel na aplicação é necessário configurar o Angular.

Adicionando nova rota

Adicione o module a rota do projeto. Abra o arquivo layout-routing.module.ts e adicione a rota:

environment

Adicione o endereço da WebApi nas configurações do environment.

sidebar.component.ts

É preciso adicionar a nova página no Sidebar. Abra o arquivo sidebar.component.html e adicione. (src > app > layout > components > sidebar)

Demo

Download

O código do projeto está disponível no meu GitHub