Guida introduttiva: Analisi delle immagini

Attenzione

Il servizio Analisi immagini 4.0 in Azure Vision in Foundry Tools è deprecato e verrà ritirato il 25 settembre 2028, dopo il quale le chiamate effettuate al servizio avranno esito negativo. È consigliabile passare a una delle alternative disponibili descritte nella Guida alla migrazione.

Questo articolo illustra come configurare uno script di tag per immagini di base usando l'API REST di analisi delle immagini o le librerie client. 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 utilizza l'oggetto client per analizzare un'immagine remota e stampare i risultati.

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

Suggerimento

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

Suggerimento

L'API Analizza immagine 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

  • Sottoscrizione Azure. È possibile crearne uno gratuitamente.
  • La versione attuale di IDE di Visual Studio o di .NET Core.
  • Dopo aver creato la sottoscrizione Azure, creare una risorsa Visione artificiale nel portale di Azure per ottenere la chiave e l'endpoint. Dopo la distribuzione, selezionare Vai alla risorsa.
    • È necessaria la chiave e l'endpoint della risorsa creata per connettere l'applicazione a Azure Vision in Foundry Tools.
    • È possibile usare il piano tariffario gratuito (F0) per provare il servizio e eseguire l'aggiornamento in un secondo momento 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.

Passare 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 delle Chiavi ed endpoint della risorsa Face. La chiave di risorsa non corrisponde all'ID sottoscrizione 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.

  • Per impostare la VISION_KEY variabile di ambiente, sostituire <your_key> con una delle chiavi per la risorsa.
  • Per impostare la VISION_ENDPOINT variabile di ambiente, sostituire <your_endpoint> con l'endpoint per la risorsa.

Importante

Si raccomanda l'autenticazione di Microsoft Entra ID con identità gestite delle risorse Azure per evitare di archiviare le credenziali nelle applicazioni in esecuzione nel cloud.

Usare le chiavi API con cautela. Non includere la chiave API direttamente nel codice e non pubblicarla mai pubblicamente. Se si usano chiavi API, archiviarli in modo sicuro in Azure Key Vault, ruotare regolarmente le chiavi e limitare l'accesso alle Azure Key Vault usando il controllo degli accessi in base al ruolo e le restrizioni di accesso alla rete. Per altre informazioni sull'uso sicuro delle chiavi API nelle app, vedere ChiaviAPI con Azure Key Vault.

Per altre informazioni sulla sicurezza dei servizi di intelligenza artificiale, vedere Autorizzazione delle richieste a Servizi di Azure AI.

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.

Analizzare l'immagine

  1. Creare una nuova applicazione C#.

    Usando Visual Studio, creare una nuova applicazione .NET Core.

    Installare la libreria client

    Dopo aver creato un nuovo progetto, installare la libreria client facendo clic con il pulsante destro del mouse sulla soluzione di progetto nel Esplora soluzioni e selezionando Gestisci pacchetti NuGet. Nella gestione pacchetti visualizzata selezionare Browse, selezionare Include prerelease e cercare Microsoft.Azure.CognitiveServices.Vision.ComputerVision. Selezionare la versione 7.0.0e quindi Installa.

  2. Dalla directory del progetto aprire il file Program.cs nell'editor o nell'IDE 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://raw.githubusercontent.com/Azure-Samples/cognitive-services-sample-data-files/master/ComputerVision/Images/landmark.jpg";
    
            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

    Si raccomanda l'autenticazione di Microsoft Entra ID con identità gestite delle risorse Azure per evitare di archiviare le credenziali nelle applicazioni in esecuzione nel cloud.

    Usare le chiavi API con cautela. Non includere la chiave API direttamente nel codice e non pubblicarla mai pubblicamente. Se si usano chiavi API, archiviarli in modo sicuro in Azure Key Vault, ruotare regolarmente le chiavi e limitare l'accesso alle Azure Key Vault usando il controllo degli accessi in base al ruolo e le restrizioni di accesso alla rete. Per altre informazioni sull'uso sicuro delle chiavi API nelle app, vedere ChiaviAPI con Azure Key Vault.

    Per altre informazioni sulla sicurezza dei servizi di intelligenza artificiale, vedere Autorizzazione delle richieste a Servizi di Azure AI.

  3. Eseguire l'applicazione

    Eseguire l'applicazione facendo clic sul pulsante Debug nella parte superiore della finestra dell'IDE.


Output

L'output dell'operazione dovrebbe essere simile all'esempio seguente.

----------------------------------------------------------
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 di Foundry Tools, è possibile eliminare la risorsa o il gruppo di risorse. L'eliminazione del gruppo di risorse elimina anche tutte le altre risorse associate.

In questa guida rapida, hai imparato come installare la libreria client di Analisi delle immagini e fare analisi di base sulle immagini. Altre informazioni sulle funzionalità dell'API Analisi immagini.

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

Suggerimento

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

Suggerimento

L'API Analizza immagine 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 Reference | Codice sorgente della libreria | Package (PiPy) | Samples

Prerequisiti

  • Sottoscrizione Azure. È possibile crearne uno gratuitamente.
  • Python 3.x.
    • L'installazione Python deve includere pip. È possibile verificare se pip è installato eseguendo pip --version nella riga di comando. Ottieni pip installando l'ultima versione di Python.
  • Dopo aver creato la sottoscrizione Azure, creare una risorsa Visione artificiale nel portale di Azure per ottenere la chiave e l'endpoint. Dopo la distribuzione, selezionare Vai alla risorsa.
    • È necessaria la chiave e l'endpoint della risorsa creata per connettere l'applicazione a Azure Vision in Foundry Tools.
    • È possibile usare il piano tariffario gratuito (F0) per provare il servizio e eseguire l'aggiornamento in un secondo momento 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.

Passare 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 delle Chiavi ed endpoint della risorsa Face. La chiave di risorsa non corrisponde all'ID sottoscrizione 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.

  • Per impostare la VISION_KEY variabile di ambiente, sostituire <your_key> con una delle chiavi per la risorsa.
  • Per impostare la VISION_ENDPOINT variabile di ambiente, sostituire <your_endpoint> con l'endpoint per la risorsa.

Importante

Si raccomanda l'autenticazione di Microsoft Entra ID con identità gestite delle risorse Azure per evitare di archiviare le credenziali nelle applicazioni in esecuzione nel cloud.

Usare le chiavi API con cautela. Non includere la chiave API direttamente nel codice e non pubblicarla mai pubblicamente. Se si usano chiavi API, archiviarli in modo sicuro in Azure Key Vault, ruotare regolarmente le chiavi e limitare l'accesso alle Azure Key Vault usando il controllo degli accessi in base al ruolo e le restrizioni di accesso alla rete. Per altre informazioni sull'uso sicuro delle chiavi API nelle app, vedere ChiaviAPI con Azure Key Vault.

Per altre informazioni sulla sicurezza dei servizi di intelligenza artificiale, vedere Autorizzazione delle richieste a Servizi di Azure AI.

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.

Analizzare l'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, è possibile denominarlo quickstart-file.py.

  3. Aprire quickstart-file.py in un editor di testo o in un IDE e incollare il 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 utilizzando il comando nel file di avvio rapido python.

    python quickstart-file.py
    

Output

L'output dell'operazione dovrebbe essere simile all'esempio seguente.

===== 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 Vision quickstart.

Pulire le risorse

Se si vuole pulire e rimuovere una sottoscrizione di Foundry Tools, è possibile eliminare la risorsa o il gruppo di risorse. L'eliminazione del gruppo di risorse elimina anche tutte le altre risorse associate.

Passaggio successivo

In questa guida rapida, hai imparato come installare la libreria client di Analisi delle immagini e fare analisi di base sulle immagini. Successivamente, scopri di più sulle funzionalità dell'API Analizza Immagine.

Usare la libreria client di Analisi immagini per Java 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, vedere il codice sample in GitHub per scenari che coinvolgono immagini locali.

Suggerimento

L'API Analizza immagine 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 Reference | Codice sorgente della libreria |Artifact (Maven) | Samples

Prerequisiti

  • Sottoscrizione Azure. È possibile crearne uno gratuitamente.
  • Versione corrente del Java Development Kit (JDK).
  • Lo strumento di compilazione Gradle o un altro gestore delle dipendenze.
  • Dopo aver creato la sottoscrizione Azure, creare una risorsa Visione artificiale nel portale di Azure per ottenere la chiave e l'endpoint. Dopo la distribuzione, selezionare Vai alla risorsa.
    • È necessaria la chiave e l'endpoint della risorsa creata per connettere l'applicazione alla Azure Vision in Foundry Tools.
    • È possibile usare il piano tariffario gratuito (F0) per provare il servizio e eseguire l'aggiornamento in un secondo momento 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.

Passare 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 delle Chiavi ed endpoint della risorsa Face. La chiave di risorsa non corrisponde all'ID sottoscrizione 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.

  • Per impostare la VISION_KEY variabile di ambiente, sostituire <your_key> con una delle chiavi per la risorsa.
  • Per impostare la VISION_ENDPOINT variabile di ambiente, sostituire <your_endpoint> con l'endpoint per la risorsa.

Importante

Si raccomanda l'autenticazione di Microsoft Entra ID con identità gestite delle risorse Azure per evitare di archiviare le credenziali nelle applicazioni in esecuzione nel cloud.

Usare le chiavi API con cautela. Non includere la chiave API direttamente nel codice e non pubblicarla mai pubblicamente. Se si usano chiavi API, archiviarli in modo sicuro in Azure Key Vault, ruotare regolarmente le chiavi e limitare l'accesso alle Azure Key Vault usando il controllo degli accessi in base al ruolo e le restrizioni di accesso alla rete. Per altre informazioni sull'uso sicuro delle chiavi API nelle app, vedere ChiaviAPI con Azure Key Vault.

Per altre informazioni sulla sicurezza dei servizi di intelligenza artificiale, vedere Autorizzazione delle richieste a Servizi di Azure AI.

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.

Analizzare l'immagine

  1. Creare un nuovo progetto Gradle.

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

    mkdir myapp && cd myapp
    

    Esegui il comando gradle init dalla directory di lavoro. Questo comando crea file di compilazione essenziali per Gradle, incluso build.gradle.kts, usato in fase di esecuzione per creare e configurare l'applicazione.

    gradle init --type basic
    

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

  2. Installare la libreria client.

    Questa quickstart usa il gestore di dipendenze Gradle. Puoi trovare la libreria del client e le informazioni per altri gestori delle dipendenze nel Maven Central Repository.

    Individuare build.gradle.kts e aprirlo con l'IDE o l'editor di testo preferito. Copiare e incollare quindi la configurazione di compilazione seguente nel file . Questa configurazione definisce il progetto come applicazione Java il cui punto di ingresso è la classe ImageAnalysisQuickstart. Importa la libreria Azure Vision.

    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, quindi compilare l'app con:

    gradle build
    

    Eseguirlo con il comando seguente:

    gradle run
    

Output

L'output dell'operazione dovrebbe essere simile all'esempio seguente.

Azure 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 di Foundry Tools, è possibile eliminare la risorsa o il gruppo di risorse. L'eliminazione del gruppo di risorse elimina anche tutte le altre risorse associate.

Passaggio successivo

In questa guida rapida, hai imparato come installare la libreria client di Analisi delle immagini e fare analisi di base sulle immagini. Successivamente, scopri di più sulle funzionalità dell'API Analizza Immagine.

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, vedere il codice sample in GitHub per scenari che coinvolgono immagini locali.

Suggerimento

L'API Analizza immagine 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 | Pacchetto (npm) | Esempi

Prerequisiti

  • Sottoscrizione Azure. È possibile crearne uno gratuitamente.
  • Versione corrente di Node.js.
  • Dopo aver creato la sottoscrizione Azure, creare una risorsa Visione artificiale nel portale di Azure per ottenere la chiave e l'endpoint. Dopo la distribuzione, selezionare Vai alla risorsa.
    • È necessaria la chiave e l'endpoint della risorsa creata per connettere l'applicazione a Azure Vision in Foundry Tools.
    • È possibile usare il piano tariffario gratuito (F0) per provare il servizio e eseguire l'aggiornamento in un secondo momento 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.

Passare 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 delle Chiavi ed endpoint della risorsa Face. La chiave di risorsa non corrisponde all'ID sottoscrizione 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.

  • Per impostare la VISION_KEY variabile di ambiente, sostituire <your_key> con una delle chiavi per la risorsa.
  • Per impostare la VISION_ENDPOINT variabile di ambiente, sostituire <your_endpoint> con l'endpoint per la risorsa.

Importante

Si raccomanda l'autenticazione di Microsoft Entra ID con identità gestite delle risorse Azure per evitare di archiviare le credenziali nelle applicazioni in esecuzione nel cloud.

Usare le chiavi API con cautela. Non includere la chiave API direttamente nel codice e non pubblicarla mai pubblicamente. Se si usano chiavi API, archiviarli in modo sicuro in Azure Key Vault, ruotare regolarmente le chiavi e limitare l'accesso alle Azure Key Vault usando il controllo degli accessi in base al ruolo e le restrizioni di accesso alla rete. Per altre informazioni sull'uso sicuro delle chiavi API nelle app, vedere ChiaviAPI con Azure Key Vault.

Per altre informazioni sulla sicurezza dei servizi di intelligenza artificiale, vedere Autorizzazione delle richieste a Servizi di Azure AI.

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.

Analizzare l'immagine

  1. Creare una nuova applicazione Node.js

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

    mkdir myapp && cd myapp
    

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

    npm init
    

    Installare la libreria client

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

    npm install @azure/cognitiveservices-computervision
    

    Installare anche il modulo asincrono:

    npm install async
    

    Il file dell'app package.json 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://github.com/Azure-Samples/cognitive-services-sample-data-files/blob/master/ComputerVision/Images/house.jpg';
    
          // 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 node comando nel file di avvio rapido.

    node index.js
    

Output

L'output dell'operazione dovrebbe essere simile all'esempio seguente.

-------------------------------------------------
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 di Foundry Tools, è possibile eliminare la risorsa o il gruppo di risorse. L'eliminazione del gruppo di risorse elimina anche tutte le altre risorse associate.

Passaggio successivo

In questa guida rapida, hai imparato come installare la libreria client di Analisi delle immagini e fare analisi di base sulle immagini. Successivamente, scopri di più sulle funzionalità dell'API Analizza Immagine.

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

Suggerimento

L'API Analizza immagine 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 introduttiva usa i 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

  • Sottoscrizione Azure. È possibile crearne uno gratuitamente.
  • Dopo aver creato la sottoscrizione Azure, creare una risorsa Visione artificiale nel portale di Azure per ottenere la chiave e l'endpoint. Dopo la distribuzione, selezionare Vai alla risorsa.
    • È necessaria la chiave e l'endpoint della risorsa creata per connettere l'applicazione a Azure Vision in Foundry Tools.
    • È possibile usare il piano tariffario gratuito (F0) per provare il servizio e eseguire l'aggiornamento in un secondo momento 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: <yourKey>" -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 nel comando, se necessario:

    1. Sostituire il valore di <yourKey> con la chiave della risorsa Visione artificiale.
    2. Sostituire la prima parte dell'URL della richiesta (westcentralus.api.cognitive.microsoft.com) con il proprio URL endpoint.

      Nota

      Le nuove risorse create dopo il 1° luglio 2019 useranno nomi di sottodomini personalizzati. Per ulteriori informazioni e un elenco completo degli endpoint regionali, vedere Nomi di sottodomini personalizzati per gli strumenti Foundry.

    3. Facoltativamente, modificare l'URL dell'immagine nel corpo della richiesta (https://learn.microsoft.com/azure/ai-services/computer-vision/media/quickstarts/presentation.png) impostando l'URL di un'immagine diversa 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 la risposta

Viene restituita una risposta con esito positivo in formato JSON. L'applicazione di esempio analizza e visualizza una risposta corretta nella finestra del prompt dei comandi, simile all'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"
}

Passaggio successivo

In questa guida introduttiva si è appreso come effettuare chiamate di analisi delle immagini di base usando l'API REST. Successivamente, scopri di più sulle funzionalità dell'API Analizza Immagine.