Guida introduttiva: Analisi delle immagini

Introduzione all'API REST di analisi delle immagini o alle librerie client per configurare uno script di tag per immagini di base. Il servizio Analizza immagini offre algoritmi di intelligenza artificiale per l'elaborazione delle immagini e la restituzione di informazioni sulle relative funzionalità visive. Seguire questa procedura per installare un pacchetto nell'applicazione e provare il codice di esempio.

Usare la libreria client di Analisi immagini per C# per analizzare un'immagine per individuare i tag di contenuto. Questa guida introduttiva definisce un metodo , AnalyzeImageUrl, che usa l'oggetto client per analizzare un'immagine remota e stampare i risultati.

Documentazione di riferimento | Codice sorgente della libreria | Pacchetto (NuGet) | Esempi

Suggerimento

È anche possibile analizzare un'immagine locale. Vedere i metodi ComputerVisionClient, ad esempio AnalyzeImageInStreamAsync. In alternativa, per gli scenari con immagini locali, vedere il codice di esempio in GitHub.

Suggerimento

L'API Analyze può eseguire molte operazioni diverse rispetto alla generazione di tag di immagine. Per esempi che illustrano tutte le funzionalità disponibili, vedere la guida pratica per l'analisi delle immagini.

Prerequisiti

  • Una sottoscrizione di Azure: creare un account gratuitamente
  • IDE di Visual Studio o la versione corrente di .NET Core.
  • Dopo aver creato la sottoscrizione di Azure, creare una risorsa Visione artificiale nel portale di Azure per ottenere la chiave e l'endpoint. Al termine della distribuzione, fare clic su Vai alla risorsa.
    • È necessaria la chiave e l'endpoint della risorsa creata per connettere l'applicazione al servizio Visione artificiale di Azure.
    • È possibile usare il piano tariffario gratuito (F0) per provare il servizio ed eseguire in un secondo momento l'aggiornamento a un livello a pagamento per la produzione.

Creare variabili di ambiente

In questo esempio scrivere le credenziali nelle variabili di ambiente nel computer locale che esegue l'applicazione.

Vai al portale di Azure. Se la risorsa creata nella sezione Prerequisiti è stata distribuita correttamente, selezionare Vai alla risorsa in Passaggi successivi. È possibile trovare la chiave e l'endpoint in Gestione risorse nella pagina Chiavi ed endpoint. La chiave della risorsa non corrisponde all'ID sottoscrizione di Azure.

Suggerimento

Non includere la chiave direttamente nel codice e non pubblicarla pubblicamente. Per altre opzioni di autenticazione come Azure Key Vault, vedere l'articolo sicurezza dei servizi di intelligenza artificiale di Azure.

Per impostare la variabile di ambiente per la chiave e l'endpoint, aprire una finestra della console e seguire le istruzioni per il sistema operativo e l'ambiente di sviluppo.

  1. Per impostare la VISION_KEY variabile di ambiente, sostituire your-key con una delle chiavi per la risorsa.
  2. Per impostare la VISION_ENDPOINT variabile di ambiente, sostituire your-endpoint con l'endpoint per la risorsa.
setx VISION_KEY your-key
setx VISION_ENDPOINT your-endpoint

Dopo aver aggiunto le variabili di ambiente, potrebbe essere necessario riavviare tutti i programmi in esecuzione che leggeranno le variabili di ambiente, inclusa la finestra della console.

Analizza immagine

  1. Creare una nuova applicazione C#.

    Creare un'applicazione .NET Core con Visual Studio.

    Installare la libreria client

    Dopo aver creato un nuovo progetto, installare la libreria client facendo clic con il pulsante destro del mouse sulla soluzione del progetto in Esplora soluzioni e scegliendo Gestisci pacchetti NuGet. Nella finestra di dialogo Gestione pacchetti visualizzata selezionare Sfoglia, Includi versione preliminare e cercare Microsoft.Azure.CognitiveServices.Vision.ComputerVision. Selezionare la versione 7.0.0, quindi Installa.

  2. Dalla directory del progetto aprire il file Program.cs nell'ambiente di sviluppo integrato o nell'editor preferito. Incollare il codice seguente:

    using System;
    using System.Collections.Generic;
    using Microsoft.Azure.CognitiveServices.Vision.ComputerVision;
    using Microsoft.Azure.CognitiveServices.Vision.ComputerVision.Models;
    using System.Threading.Tasks;
    using System.IO;
    using Newtonsoft.Json;
    using Newtonsoft.Json.Linq;
    using System.Threading;
    using System.Linq;
    
    namespace ComputerVisionQuickstart
    {
        class Program
        {
            // Add your Computer Vision key and endpoint
            static string key = Environment.GetEnvironmentVariable("VISION_KEY");
            static string endpoint = Environment.GetEnvironmentVariable("VISION_ENDPOINT");
    
            // URL image used for analyzing an image (image of puppy)
            private const string ANALYZE_URL_IMAGE = "https://moderatorsampleimages.blob.core.windows.net/samples/sample16.png";
    
            static void Main(string[] args)
            {
                Console.WriteLine("Azure Cognitive Services Computer Vision - .NET quickstart example");
                Console.WriteLine();
    
                // Create a client
                ComputerVisionClient client = Authenticate(endpoint, key);
    
                // Analyze an image to get features and other properties.
                AnalyzeImageUrl(client, ANALYZE_URL_IMAGE).Wait();
            }
    
            /*
             * AUTHENTICATE
             * Creates a Computer Vision client used by each example.
             */
            public static ComputerVisionClient Authenticate(string endpoint, string key)
            {
                ComputerVisionClient client =
                  new ComputerVisionClient(new ApiKeyServiceClientCredentials(key))
                  { Endpoint = endpoint };
                return client;
            }
           
            public static async Task AnalyzeImageUrl(ComputerVisionClient client, string imageUrl)
            {
                Console.WriteLine("----------------------------------------------------------");
                Console.WriteLine("ANALYZE IMAGE - URL");
                Console.WriteLine();
    
                // Creating a list that defines the features to be extracted from the image. 
    
                List<VisualFeatureTypes?> features = new List<VisualFeatureTypes?>()
                {
                    VisualFeatureTypes.Tags
                };
    
                Console.WriteLine($"Analyzing the image {Path.GetFileName(imageUrl)}...");
                Console.WriteLine();
                // Analyze the URL image 
                ImageAnalysis results = await client.AnalyzeImageAsync(imageUrl, visualFeatures: features);
    
                // Image tags and their confidence score
                Console.WriteLine("Tags:");
                foreach (var tag in results.Tags)
                {
                    Console.WriteLine($"{tag.Name} {tag.Confidence}");
                }
                Console.WriteLine();
            }
        }
    }
    

    Importante

    Al termine, ricordarsi di rimuovere la chiave dal codice e non renderlo mai pubblico. Per l'ambiente di produzione, usare un modo sicuro per archiviare e accedere alle credenziali, ad esempio Azure Key Vault. Per altre informazioni, vedere l'articolo sulla sicurezza dei servizi di intelligenza artificiale di Azure.

  3. Eseguire l'applicazione

    Eseguire l'applicazione facendo clic sul pulsante Debug nella parte superiore della finestra dell'ambiente di sviluppo integrato.


Output

----------------------------------------------------------
ANALYZE IMAGE - URL

Analyzing the image sample16.png...

Tags:
grass 0.9957543611526489
dog 0.9939157962799072
mammal 0.9928356409072876
animal 0.9918001890182495
dog breed 0.9890419244766235
pet 0.974603533744812
outdoor 0.969241738319397
companion dog 0.906731367111206
small greek domestic dog 0.8965123891830444
golden retriever 0.8877675533294678
labrador retriever 0.8746421337127686
puppy 0.872604250907898
ancient dog breeds 0.8508287668228149
field 0.8017748594284058
retriever 0.6837497353553772
brown 0.6581960916519165

Pulire le risorse

Se si vuole pulire e rimuovere una sottoscrizione dei servizi di intelligenza artificiale di Azure, è possibile eliminare la risorsa o il gruppo di risorse. L'eliminazione del gruppo di risorse comporta anche l'eliminazione di tutte le altre risorse associate.

Passaggi successivi

In questo argomento di avvio rapido si è appreso come installare la libreria client di Analisi immagini e effettuare chiamate di analisi delle immagini di base. Altre informazioni sulle funzionalità dell'API Analizza.

Usare la libreria client di Analisi immagini per Python per analizzare un'immagine remota per i tag di contenuto.

Suggerimento

È anche possibile analizzare un'immagine locale. Vedere i metodi ComputerVisionClientOperationsMixin, ad esempio analyze_image_in_stream. In alternativa, per gli scenari con immagini locali, vedere il codice di esempio in GitHub.

Suggerimento

L'API Analyze può eseguire molte operazioni diverse rispetto alla generazione di tag di immagine. Per esempi che illustrano tutte le funzionalità disponibili, vedere la guida pratica per l'analisi delle immagini.

Documentazione di riferimento | Codice sorgente della libreria | Pacchetto (PiPy) | Esempi

Prerequisiti

  • Una sottoscrizione di Azure: creare un account gratuitamente

  • Python 3.x

    • L'installazione di Python deve includere pip. È possibile verificare se pip è installato eseguendo pip --version nella riga di comando. Ottenere pip installando la versione più recente di Python.
  • Dopo aver creato la sottoscrizione di Azure, creare una risorsa di Visione nel portale di Azure per ottenere la chiave e l'endpoint. Al termine della distribuzione, fare clic su Vai alla risorsa.

    • È necessaria la chiave e l'endpoint della risorsa creata per connettere l'applicazione al servizio Visione artificiale di Azure.
    • È possibile usare il piano tariffario gratuito (F0) per provare il servizio ed eseguire in un secondo momento l'aggiornamento a un livello a pagamento per la produzione.

Creare variabili di ambiente

In questo esempio scrivere le credenziali nelle variabili di ambiente nel computer locale che esegue l'applicazione.

Vai al portale di Azure. Se la risorsa creata nella sezione Prerequisiti è stata distribuita correttamente, selezionare Vai alla risorsa in Passaggi successivi. È possibile trovare la chiave e l'endpoint in Gestione risorse nella pagina Chiavi ed endpoint. La chiave della risorsa non corrisponde all'ID sottoscrizione di Azure.

Suggerimento

Non includere la chiave direttamente nel codice e non pubblicarla pubblicamente. Per altre opzioni di autenticazione come Azure Key Vault, vedere l'articolo sicurezza dei servizi di intelligenza artificiale di Azure.

Per impostare la variabile di ambiente per la chiave e l'endpoint, aprire una finestra della console e seguire le istruzioni per il sistema operativo e l'ambiente di sviluppo.

  1. Per impostare la VISION_KEY variabile di ambiente, sostituire your-key con una delle chiavi per la risorsa.
  2. Per impostare la VISION_ENDPOINT variabile di ambiente, sostituire your-endpoint con l'endpoint per la risorsa.
setx VISION_KEY your-key
setx VISION_ENDPOINT your-endpoint

Dopo aver aggiunto le variabili di ambiente, potrebbe essere necessario riavviare tutti i programmi in esecuzione che leggeranno le variabili di ambiente, inclusa la finestra della console.

Analizza immagine

  1. Installare la libreria client.

    È possibile installare la libreria client con:

    pip install --upgrade azure-cognitiveservices-vision-computervision
    

    Installare anche la libreria Pillow.

    pip install pillow
    
  2. Creare una nuova applicazione Python.

    Creare un nuovo file Python, ad esempio quickstart-file.py.

  3. Aprire quickstart-file.py in un editor di testo o in un IDE e incollarlo nel codice seguente.

    from azure.cognitiveservices.vision.computervision import ComputerVisionClient
    from azure.cognitiveservices.vision.computervision.models import OperationStatusCodes
    from azure.cognitiveservices.vision.computervision.models import VisualFeatureTypes
    from msrest.authentication import CognitiveServicesCredentials
    
    from array import array
    import os
    from PIL import Image
    import sys
    import time
    
    '''
    Authenticate
    Authenticates your credentials and creates a client.
    '''
    subscription_key = os.environ["VISION_KEY"]
    endpoint = os.environ["VISION_ENDPOINT"]
    
    computervision_client = ComputerVisionClient(endpoint, CognitiveServicesCredentials(subscription_key))
    '''
    END - Authenticate
    '''
    
    '''
    Quickstart variables
    These variables are shared by several examples
    '''
    # Images used for the examples: Describe an image, Categorize an image, Tag an image, 
    # Detect faces, Detect adult or racy content, Detect the color scheme, 
    # Detect domain-specific content, Detect image types, Detect objects
    images_folder = os.path.join (os.path.dirname(os.path.abspath(__file__)), "images")
    remote_image_url = "https://raw.githubusercontent.com/Azure-Samples/cognitive-services-sample-data-files/master/ComputerVision/Images/landmark.jpg"
    '''
    END - Quickstart variables
    '''
    
    
    '''
    Tag an Image - remote
    This example returns a tag (key word) for each thing in the image.
    '''
    print("===== Tag an image - remote =====")
    # Call API with remote image
    tags_result_remote = computervision_client.tag_image(remote_image_url )
    
    # Print results with confidence score
    print("Tags in the remote image: ")
    if (len(tags_result_remote.tags) == 0):
        print("No tags detected.")
    else:
        for tag in tags_result_remote.tags:
            print("'{}' with confidence {:.2f}%".format(tag.name, tag.confidence * 100))
    print()
    '''
    END - Tag an Image - remote
    '''
    print("End of Computer Vision quickstart.")
    
  4. Eseguire l'applicazione con il comando python nel file quickstart.

    python quickstart-file.py
    

Output

===== Tag an image - remote =====
Tags in the remote image:
'outdoor' with confidence 99.00%
'building' with confidence 98.81%
'sky' with confidence 98.21%
'stadium' with confidence 98.17%
'ancient rome' with confidence 96.16%
'ruins' with confidence 95.04%
'amphitheatre' with confidence 93.99%
'ancient roman architecture' with confidence 92.65%
'historic site' with confidence 89.55%
'ancient history' with confidence 89.54%
'history' with confidence 86.72%
'archaeological site' with confidence 84.41%
'travel' with confidence 65.85%
'large' with confidence 61.02%
'city' with confidence 56.57%

End of Azure AI Vision quickstart.

Pulire le risorse

Se si vuole pulire e rimuovere una sottoscrizione dei servizi di intelligenza artificiale di Azure, è possibile eliminare la risorsa o il gruppo di risorse. L'eliminazione del gruppo di risorse comporta anche l'eliminazione di tutte le altre risorse associate.

Passaggi successivi

In questo argomento di avvio rapido si è appreso come installare la libreria client di Analisi immagini e effettuare chiamate di analisi delle immagini di base. Altre informazioni sulle funzionalità dell'API Analizza.

Usare la libreria client di Analisi immagini per analizzare un'immagine remota per tag, descrizione del testo, visi, contenuto per adulti e altro ancora.

Suggerimento

È anche possibile analizzare un'immagine locale. Vedere i metodi ComputerVision, ad esempio AnalyzeImage. In alternativa, per gli scenari con immagini locali, vedere il codice di esempio in GitHub.

Suggerimento

L'API Analyze può eseguire molte operazioni diverse rispetto alla generazione di tag di immagine. Per esempi che illustrano tutte le funzionalità disponibili, vedere la guida pratica per l'analisi delle immagini.

Documentazione di riferimento | Codice sorgente della libreria |Artefatto (Maven) | Esempi

Prerequisiti

  • Una sottoscrizione di Azure: creare un account gratuitamente
  • La versione più recente di Java Development Kit (JDK)
  • Lo strumento di compilazione Gradle o un'altra utilità di gestione dipendenze.
  • Dopo aver creato la sottoscrizione di Azure, creare una risorsa di Visione nel portale di Azure per ottenere la chiave e l'endpoint. Al termine della distribuzione, fare clic su Vai alla risorsa.
    • È necessaria la chiave e l'endpoint della risorsa creata per connettere l'applicazione al servizio Visione artificiale di Azure.
    • È possibile usare il piano tariffario gratuito (F0) per provare il servizio ed eseguire in un secondo momento l'aggiornamento a un livello a pagamento per la produzione.

Creare variabili di ambiente

In questo esempio scrivere le credenziali nelle variabili di ambiente nel computer locale che esegue l'applicazione.

Vai al portale di Azure. Se la risorsa creata nella sezione Prerequisiti è stata distribuita correttamente, selezionare Vai alla risorsa in Passaggi successivi. È possibile trovare la chiave e l'endpoint in Gestione risorse nella pagina Chiavi ed endpoint. La chiave della risorsa non corrisponde all'ID sottoscrizione di Azure.

Suggerimento

Non includere la chiave direttamente nel codice e non pubblicarla pubblicamente. Per altre opzioni di autenticazione come Azure Key Vault, vedere l'articolo sicurezza dei servizi di intelligenza artificiale di Azure.

Per impostare la variabile di ambiente per la chiave e l'endpoint, aprire una finestra della console e seguire le istruzioni per il sistema operativo e l'ambiente di sviluppo.

  1. Per impostare la VISION_KEY variabile di ambiente, sostituire your-key con una delle chiavi per la risorsa.
  2. Per impostare la VISION_ENDPOINT variabile di ambiente, sostituire your-endpoint con l'endpoint per la risorsa.
setx VISION_KEY your-key
setx VISION_ENDPOINT your-endpoint

Dopo aver aggiunto le variabili di ambiente, potrebbe essere necessario riavviare tutti i programmi in esecuzione che leggeranno le variabili di ambiente, inclusa la finestra della console.

Analizza immagine

  1. Creare un nuovo progetto Gradle.

    In una finestra della console, ad esempio cmd, PowerShell o Bash, creare e passare a una nuova directory per l'app.

    mkdir myapp && cd myapp
    

    Eseguire il comando gradle init dalla directory di lavoro. Questo comando creerà i file di compilazione essenziali per Gradle, tra cui build.gradle.kts, che viene usato in fase di esecuzione per creare e configurare l'applicazione.

    gradle init --type basic
    

    Quando viene chiesto di scegliere un linguaggio DSL, selezionare Kotlin.

  2. Installare la libreria client.

    Questo argomento di avvio rapido usa l'utilità di gestione dipendenze Gradle. La libreria client e le informazioni per altre utilità di gestione dipendenze sono disponibili in Maven Central Repository.

    Individuare il file build.gradle.kts e aprirlo con un IDE o un editor di testo a scelta. Quindi copiare la configurazione di compilazione seguente. Questa configurazione definisce il progetto come applicazione Java il cui punto di ingresso è la classe ImageAnalysisQuickstart. Importa la libreria di Visione artificiale di Azure.

    plugins {
        java
        application
    }
    application { 
        mainClass.set("ImageAnalysisQuickstart")
    }
    repositories {
        mavenCentral()
    }
    dependencies {
        implementation(group = "com.microsoft.azure.cognitiveservices", name = "azure-cognitiveservices-computervision", version = "1.0.9-beta")
    }
    
  3. Creare un file Java.

    Dalla directory di lavoro eseguire il comando seguente per creare una cartella di origine del progetto:

    mkdir -p src/main/java
    

    Passare alla nuova cartella e creare un file denominato ImageAnalysisQuickstart.java.

  4. Aprire ImageAnalysisQuickstart.java nell'editor o nell'IDE preferito e incollare il codice seguente.

    import com.microsoft.azure.cognitiveservices.vision.computervision.*;
    import com.microsoft.azure.cognitiveservices.vision.computervision.implementation.ComputerVisionImpl;
    import com.microsoft.azure.cognitiveservices.vision.computervision.models.*;
    
    import java.io.*;
    import java.nio.file.Files;
    
    import java.util.ArrayList;
    import java.util.List;
    import java.util.UUID;
    
    public class ImageAnalysisQuickstart {
    
        // Use environment variables
        static String key = System.getenv("VISION_KEY");
        static String endpoint = System.getenv("VISION_ENDPOINT");
    
        public static void main(String[] args) {
            
            System.out.println("\nAzure Cognitive Services Computer Vision - Java Quickstart Sample");
    
            // Create an authenticated Computer Vision client.
            ComputerVisionClient compVisClient = Authenticate(key, endpoint); 
    
            // Analyze local and remote images
            AnalyzeRemoteImage(compVisClient);
    
        }
    
        public static ComputerVisionClient Authenticate(String key, String endpoint){
            return ComputerVisionManager.authenticate(key).withEndpoint(endpoint);
        }
    
    
        public static void AnalyzeRemoteImage(ComputerVisionClient compVisClient) {
            /*
             * Analyze an image from a URL:
             *
             * Set a string variable equal to the path of a remote image.
             */
            String pathToRemoteImage = "https://github.com/Azure-Samples/cognitive-services-sample-data-files/raw/master/ComputerVision/Images/faces.jpg";
    
            // This list defines the features to be extracted from the image.
            List<VisualFeatureTypes> featuresToExtractFromRemoteImage = new ArrayList<>();
            featuresToExtractFromRemoteImage.add(VisualFeatureTypes.TAGS);
    
            System.out.println("\n\nAnalyzing an image from a URL ...");
    
            try {
                // Call the Computer Vision service and tell it to analyze the loaded image.
                ImageAnalysis analysis = compVisClient.computerVision().analyzeImage().withUrl(pathToRemoteImage)
                        .withVisualFeatures(featuresToExtractFromRemoteImage).execute();
    
    
                // Display image tags and confidence values.
                System.out.println("\nTags: ");
                for (ImageTag tag : analysis.tags()) {
                    System.out.printf("\'%s\' with confidence %f\n", tag.name(), tag.confidence());
                }
            }
    
            catch (Exception e) {
                System.out.println(e.getMessage());
                e.printStackTrace();
            }
        }
        // END - Analyze an image from a URL.
    
    }
    
  5. Tornare alla cartella radice del progetto e compilare l'app con:

    gradle build
    

    Eseguirlo quindi con il gradle run comando :

    gradle run
    

Output

Azure AI Vision - Java Quickstart Sample

Analyzing an image from a URL ...

Tags:
'person' with confidence 0.998895
'human face' with confidence 0.997437
'smile' with confidence 0.991973
'outdoor' with confidence 0.985962
'happy' with confidence 0.969785
'clothing' with confidence 0.961570
'friendship' with confidence 0.946441
'tree' with confidence 0.917331
'female person' with confidence 0.890976
'girl' with confidence 0.888741
'social group' with confidence 0.872044
'posing' with confidence 0.865493
'adolescent' with confidence 0.857371
'love' with confidence 0.852553
'laugh' with confidence 0.850097
'people' with confidence 0.849922
'lady' with confidence 0.844540
'woman' with confidence 0.818172
'group' with confidence 0.792975
'wedding' with confidence 0.615252
'dress' with confidence 0.517169

Pulire le risorse

Se si vuole pulire e rimuovere una sottoscrizione dei servizi di intelligenza artificiale di Azure, è possibile eliminare la risorsa o il gruppo di risorse. L'eliminazione del gruppo di risorse comporta anche l'eliminazione di tutte le altre risorse associate.

Passaggi successivi

In questo argomento di avvio rapido si è appreso come installare la libreria client di Analisi immagini e effettuare chiamate di analisi delle immagini di base. Altre informazioni sulle funzionalità dell'API Analizza.

Usare la libreria client di Analisi immagini per JavaScript per analizzare un'immagine remota per i tag di contenuto.

Suggerimento

È anche possibile analizzare un'immagine locale. Vedere i metodi ComputerVisionClient , ad esempio describeImageInStream. In alternativa, per gli scenari con immagini locali, vedere il codice di esempio in GitHub.

Suggerimento

L'API Analyze può eseguire molte operazioni diverse rispetto alla generazione di tag di immagine. Per esempi che illustrano tutte le funzionalità disponibili, vedere la guida pratica per l'analisi delle immagini.

Documentazione di riferimento | Codice sorgente della libreria | Pacchetto (npm) | Esempi

Prerequisiti

  • Una sottoscrizione di Azure: creare un account gratuitamente
  • Versione corrente di Node.js
  • Dopo aver creato la sottoscrizione di Azure, creare una risorsa di Visione nel portale di Azure per ottenere la chiave e l'endpoint. Al termine della distribuzione, fare clic su Vai alla risorsa.
    • È necessaria la chiave e l'endpoint della risorsa creata per connettere l'applicazione al servizio Visione artificiale di Azure.
    • È possibile usare il piano tariffario gratuito (F0) per provare il servizio ed eseguire in un secondo momento l'aggiornamento a un livello a pagamento per la produzione.

Creare variabili di ambiente

In questo esempio scrivere le credenziali nelle variabili di ambiente nel computer locale che esegue l'applicazione.

Vai al portale di Azure. Se la risorsa creata nella sezione Prerequisiti è stata distribuita correttamente, selezionare Vai alla risorsa in Passaggi successivi. È possibile trovare la chiave e l'endpoint in Gestione risorse nella pagina Chiavi ed endpoint. La chiave della risorsa non corrisponde all'ID sottoscrizione di Azure.

Suggerimento

Non includere la chiave direttamente nel codice e non pubblicarla pubblicamente. Per altre opzioni di autenticazione come Azure Key Vault, vedere l'articolo sicurezza dei servizi di intelligenza artificiale di Azure.

Per impostare la variabile di ambiente per la chiave e l'endpoint, aprire una finestra della console e seguire le istruzioni per il sistema operativo e l'ambiente di sviluppo.

  1. Per impostare la VISION_KEY variabile di ambiente, sostituire your-key con una delle chiavi per la risorsa.
  2. Per impostare la VISION_ENDPOINT variabile di ambiente, sostituire your-endpoint con l'endpoint per la risorsa.
setx VISION_KEY your-key
setx VISION_ENDPOINT your-endpoint

Dopo aver aggiunto le variabili di ambiente, potrebbe essere necessario riavviare tutti i programmi in esecuzione che leggeranno le variabili di ambiente, inclusa la finestra della console.

Analizza immagine

  1. Creare una nuova applicazione Node.js

    In una finestra della console, ad esempio cmd, PowerShell o Bash, creare e passare a una nuova directory per l'app.

    mkdir myapp && cd myapp
    

    Eseguire il comando npm init per creare un'applicazione Node con un file package.json.

    npm init
    

    Installare la libreria client

    Installare il ms-rest-azure pacchetto e @azure/cognitiveservices-computervision npm:

    npm install @azure/cognitiveservices-computervision
    

    Installare anche il modulo asincrono:

    npm install async
    

    Il file package.json dell'app viene aggiornato con le dipendenze.

    Creare un nuovo file index.js.

  2. Aprire index.js in un editor di testo e incollare il codice seguente.

    'use strict';
    
    const async = require('async');
    const fs = require('fs');
    const https = require('https');
    const path = require("path");
    const createReadStream = require('fs').createReadStream
    const sleep = require('util').promisify(setTimeout);
    const ComputerVisionClient = require('@azure/cognitiveservices-computervision').ComputerVisionClient;
    const ApiKeyCredentials = require('@azure/ms-rest-js').ApiKeyCredentials;
    
    /**
     * AUTHENTICATE
     * This single client is used for all examples.
     */
    const key = process.env.VISION_KEY;
    const endpoint = process.env.VISION_ENDPOINT;
    
    
    const computerVisionClient = new ComputerVisionClient(
      new ApiKeyCredentials({ inHeader: { 'Ocp-Apim-Subscription-Key': key } }), endpoint);
    /**
     * END - Authenticate
     */
    
    
    function computerVision() {
      async.series([
        async function () {
    
          /**
           * DETECT TAGS  
           * Detects tags for an image, which returns:
           *     all objects in image and confidence score.
           */
          console.log('-------------------------------------------------');
          console.log('DETECT TAGS');
          console.log();
    
          // Image of different kind of dog.
          const tagsURL = 'https://moderatorsampleimages.blob.core.windows.net/samples/sample16.png';
    
          // Analyze URL image
          console.log('Analyzing tags in image...', tagsURL.split('/').pop());
          const tags = (await computerVisionClient.analyzeImage(tagsURL, { visualFeatures: ['Tags'] })).tags;
          console.log(`Tags: ${formatTags(tags)}`);
    
          // Format tags for display
          function formatTags(tags) {
            return tags.map(tag => (`${tag.name} (${tag.confidence.toFixed(2)})`)).join(', ');
          }
          /**
           * END - Detect Tags
           */
          console.log();
          console.log('-------------------------------------------------');
          console.log('End of quickstart.');
    
        },
        function () {
          return new Promise((resolve) => {
            resolve();
          })
        }
      ], (err) => {
        throw (err);
      });
    }
    
    computerVision();
    
  3. Eseguire l'applicazione con il comando node nel file quickstart.

    node index.js
    

Output

-------------------------------------------------
DETECT TAGS

Analyzing tags in image... sample16.png
Tags: grass (1.00), dog (0.99), mammal (0.99), animal (0.99), dog breed (0.99), pet (0.97), outdoor (0.97), companion dog (0.91), small greek domestic dog (0.90), golden retriever (0.89), labrador retriever (0.87), puppy (0.87), ancient dog breeds (0.85), field (0.80), retriever (0.68), brown (0.66)

-------------------------------------------------
End of quickstart.

Pulire le risorse

Se si vuole pulire e rimuovere una sottoscrizione dei servizi di intelligenza artificiale di Azure, è possibile eliminare la risorsa o il gruppo di risorse. L'eliminazione del gruppo di risorse comporta anche l'eliminazione di tutte le altre risorse associate.

Passaggi successivi

In questo argomento di avvio rapido si è appreso come installare la libreria client di Analisi immagini e effettuare chiamate di analisi delle immagini di base. Altre informazioni sulle funzionalità dell'API Analizza.

Usare l'API REST analisi immagini per analizzare un'immagine per i tag.

Suggerimento

L'API Analyze può eseguire molte operazioni diverse rispetto alla generazione di tag di immagine. Per esempi che illustrano tutte le funzionalità disponibili, vedere la guida pratica per l'analisi delle immagini.

Nota

Questa guida di avvio rapido usa comandi cURL per chiamare l'API REST. È anche possibile chiamare l'API REST usando un linguaggio di programmazione. Vedere gli esempi di GitHub per esempi in C#, Python, Java e JavaScript.

Prerequisiti

  • Una sottoscrizione di Azure: creare un account gratuitamente
  • Dopo aver creato la sottoscrizione di Azure, creare una risorsa di Visione nel portale di Azure per ottenere la chiave e l'endpoint. Al termine della distribuzione, fare clic su Vai alla risorsa.
    • Sarà necessaria la chiave e l'endpoint della risorsa creata per connettere l'applicazione al servizio Visione artificiale di Azure. La chiave e l'endpoint verranno incollati nel codice riportato di seguito nell'argomento di avvio rapido.
    • È possibile usare il piano tariffario gratuito (F0) per provare il servizio ed eseguire in un secondo momento l'aggiornamento a un livello a pagamento per la produzione.
  • cURL installato

Analizzare un'immagine

Per analizzare un'immagine per varie funzionalità visive, seguire questa procedura:

  1. Copiare il comando seguente in un editor di testo.

    curl.exe -H "Ocp-Apim-Subscription-Key: <subscriptionKey>" -H "Content-Type: application/json" "https://westcentralus.api.cognitive.microsoft.com/vision/v3.2/analyze?visualFeatures=Tags" -d "{'url':'https://learn.microsoft.com/azure/ai-services/computer-vision/media/quickstarts/presentation.png'}"
    
  2. Apportare le modifiche seguenti al comando, dove necessario:

    1. Sostituire il valore di <subscriptionKey> con la chiave.
    2. Sostituire la prima parte dell'URL della richiesta (westcentralus) con il testo dell'URL dell'endpoint.

      Nota

      Le nuove risorse create dopo il 1° luglio 2019 useranno nomi di sottodomini personalizzati. Per altre informazioni e un elenco completo degli endpoint a livello di area, vedere Nomi di sottodomini personalizzati per i servizi di intelligenza artificiale di Azure.

    3. Facoltativamente, modificare l'URL dell'immagine nel corpo della richiesta (https://learn.microsoft.com/azure/ai-services/computer-vision/media/quickstarts/presentation.png) nell'URL di un'altra immagine da analizzare.
  3. Aprire una finestra del prompt dei comandi.

  4. Incollare il comando modificato curl dall'editor di testo nella finestra del prompt dei comandi e quindi eseguire il comando .

Esaminare i risultati

Una risposta con esito positivo viene restituita in JSON. L'applicazione di esempio analizza e visualizza una risposta con esito positivo nella finestra del prompt dei comandi, come nell'esempio seguente:

{{
   "tags":[
      {
         "name":"text",
         "confidence":0.9992657899856567
      },
      {
         "name":"post-it note",
         "confidence":0.9879657626152039
      },
      {
         "name":"handwriting",
         "confidence":0.9730165004730225
      },
      {
         "name":"rectangle",
         "confidence":0.8658561706542969
      },
      {
         "name":"paper product",
         "confidence":0.8561884760856628
      },
      {
         "name":"purple",
         "confidence":0.5961999297142029
      }
   ],
   "requestId":"2788adfc-8cfb-43a5-8fd6-b3a9ced35db2",
   "metadata":{
      "height":945,
      "width":1000,
      "format":"Jpeg"
   },
   "modelVersion":"2021-05-01"
}

Passaggi successivi

In questa guida introduttiva si è appreso come effettuare chiamate di analisi delle immagini di base usando l'API REST. Altre informazioni sulle funzionalità dell'API Analizza.

Prerequisiti

  • Accedere a Vision Studio con la sottoscrizione di Azure e la risorsa dei servizi di intelligenza artificiale di Azure. Per assistenza con questo passaggio, vedere la sezione Introduzione della panoramica.

Analizzare un'immagine

  1. Selezionare la scheda Analizza immagini e selezionare il pannello Estrai tag comuni dalle immagini.
  2. Per usare l'esperienza try-it-out, è necessario scegliere una risorsa e confermare che comporta l'utilizzo in base al piano tariffario.
  3. Selezionare un'immagine dal set disponibile o caricarsi personalmente.
  4. Dopo aver selezionato l'immagine, i tag rilevati verranno visualizzati nella finestra di output insieme ai relativi punteggi di attendibilità. È anche possibile selezionare la scheda JSON per visualizzare l'output JSON restituito dalla chiamata API.
  5. Di seguito sono riportati i passaggi successivi per iniziare a usare questa funzionalità nella propria applicazione.

Passaggi successivi

In questa guida introduttiva si è usato Vision Studio per eseguire un'attività di analisi delle immagini di base. Altre informazioni sulle funzionalità dell'API Analizza.