Udostępnij za pośrednictwem


Szybki start: analiza obrazów

W tym artykule wyjaśniono, jak skonfigurować podstawowy skrypt tagowania obrazów przy użyciu interfejsu API REST analizy obrazów lub bibliotek klienckich. Usługa Analizowanie obrazów udostępnia algorytmy sztucznej inteligencji do przetwarzania obrazów i zwracania informacji o ich funkcjach wizualnych. Wykonaj następujące kroki, aby zainstalować pakiet w aplikacji i wypróbować przykładowy kod.

Użyj biblioteki klienta Analizy obrazów dla języka C#, aby przeanalizować obraz pod kątem tagów zawartości. W tym przewodniku Szybki start zdefiniowano metodę , AnalyzeImageUrlktóra używa obiektu klienta do analizowania obrazu zdalnego i drukowania wyników.

Dokumentacja referencyjna — pakiet | kodu | źródłowego biblioteki źródłowej (NuGet)Samples |

Napiwek

Możesz również przeanalizować obraz lokalny. Zobacz metody ComputerVisionClient, takie jak AnalyzeImageInStreamAsync. Możesz też zapoznać się z przykładowym kodem w usłudze GitHub , aby zapoznać się ze scenariuszami obejmującymi obrazy lokalne.

Napiwek

Interfejs API analizowania obrazu może wykonywać wiele różnych operacji innych niż generowanie tagów obrazów. Zobacz przewodnik z instrukcjami analizy obrazów, aby zapoznać się z przykładami, które przedstawiają wszystkie dostępne funkcje.

Wymagania wstępne

  • Subskrypcja platformy Azure. Możesz utworzyć go bezpłatnie.
  • Środowisko IDE programu Visual Studio lub bieżąca wersja platformy .NET Core.
  • Po utworzeniu subskrypcji platformy Azure utwórz zasób przetwarzanie obrazów w witrynie Azure Portal, aby uzyskać klucz i punkt końcowy. Po wdrożeniu wybierz pozycję Przejdź do zasobu.
    • Potrzebny jest klucz i punkt końcowy z utworzonego zasobu, aby połączyć aplikację z usługą Azure AI Vision.
    • Możesz użyć warstwy cenowej bezpłatna (F0), aby wypróbować usługę, a następnie uaktualnić ją do warstwy płatnej dla środowiska produkcyjnego.

Tworzenie zmiennych środowiskowych

W tym przykładzie zapisz swoje poświadczenia w zmiennych środowiskowych na komputerze lokalnym, na których jest uruchamiana aplikacja.

Przejdź do portalu Azure Portal. Jeśli zasób utworzony w sekcji Wymagania wstępne został wdrożony pomyślnie, wybierz pozycję Przejdź do zasobu w obszarze Następne kroki. Klucz i punkt końcowy można znaleźć w obszarze Zarządzanie zasobami na stronie Klucze i punkt końcowy . Klucz zasobu nie jest taki sam jak identyfikator subskrypcji platformy Azure.

Aby ustawić zmienną środowiskową dla klucza i punktu końcowego, otwórz okno konsoli i postępuj zgodnie z instrukcjami dotyczącymi systemu operacyjnego i środowiska programistycznego.

  • Aby ustawić zmienną VISION_KEY środowiskową, zastąp <your_key> element jednym z kluczy zasobu.
  • Aby ustawić zmienną VISION_ENDPOINT środowiskową, zastąp <your_endpoint> element punktem końcowym zasobu.

Ważne

Jeśli używasz klucza interfejsu API, zapisz go bezpiecznie w innym miejscu, na przykład w usłudze Azure Key Vault. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie.

Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.

setx VISION_KEY <your_key>
setx VISION_ENDPOINT <your_endpoint>

Po dodaniu zmiennych środowiskowych może być konieczne ponowne uruchomienie wszystkich uruchomionych programów, które będą odczytywać zmienne środowiskowe, w tym okno konsoli.

Analizuj obraz

  1. Utwórz nową aplikację w języku C#.

    Za pomocą programu Visual Studio utwórz nową aplikację .NET Core.

    Instalowanie biblioteki klienta

    Po utworzeniu nowego projektu zainstaluj bibliotekę klienta, klikając prawym przyciskiem myszy rozwiązanie projektu w Eksplorator rozwiązań i wybierając polecenie Zarządzaj pakietami NuGet. W otwartym menedżerze pakietów wybierz pozycję Przeglądaj, zaznacz opcję Uwzględnij wersję wstępną i wyszukaj ciąg Microsoft.Azure.CognitiveServices.Vision.ComputerVision. Wybierz wersję 7.0.0, a następnie pozycję Zainstaluj.

  2. W katalogu projektu otwórz plik Program.cs w preferowanym edytorze lub środowisku IDE. Wklej następujący kod:

    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();
            }
        }
    }
    

    Ważne

    Pamiętaj, aby usunąć klucz z kodu po zakończeniu i nigdy nie publikować go publicznie. W przypadku środowiska produkcyjnego użyj bezpiecznego sposobu przechowywania i uzyskiwania dostępu do poświadczeń, takich jak usługa Azure Key Vault. Aby uzyskać więcej informacji, zobacz Zabezpieczenia usług Azure AI.

  3. Uruchamianie aplikacji

    Uruchom aplikację, klikając przycisk Debuguj w górnej części okna IDE.


Wyjście

Dane wyjściowe operacji powinny wyglądać podobnie jak w poniższym przykładzie.

----------------------------------------------------------
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

Czyszczenie zasobów

Jeśli chcesz wyczyścić i usunąć subskrypcję usług Azure AI, możesz usunąć zasób lub grupę zasobów. Usunięcie grupy zasobów powoduje również usunięcie wszelkich innych skojarzonych z nią zasobów.

W tym przewodniku Szybki start przedstawiono sposób instalowania biblioteki klienta Analizy obrazów i wykonywania podstawowych wywołań analizy obrazów. Następnie dowiedz się więcej o funkcjach interfejsu API analizy obrazów.

Użyj biblioteki klienta Analizy obrazów dla języka Python, aby przeanalizować obraz zdalny pod kątem tagów zawartości.

Napiwek

Możesz również przeanalizować obraz lokalny. Zobacz metody ComputerVisionClientOperationsMixin, takie jak analyze_image_in_stream. Możesz też zapoznać się z przykładowym kodem w usłudze GitHub , aby zapoznać się ze scenariuszami obejmującymi obrazy lokalne.

Napiwek

Interfejs API analizowania obrazu może wykonywać wiele różnych operacji innych niż generowanie tagów obrazów. Zobacz przewodnik z instrukcjami analizy obrazów, aby zapoznać się z przykładami, które przedstawiają wszystkie dostępne funkcje.

Dokumentacja referencyjna — przykłady | pakietu kodu | źródłowego biblioteki źródłowej ()Samples |

Wymagania wstępne

  • Subskrypcja platformy Azure. Możesz utworzyć go bezpłatnie.
  • Python 3.x.
    • Instalacja języka Python powinna zawierać narzędzie. Możesz sprawdzić, czy masz zainstalowane narzędzie, uruchamiając polecenie pip --version w wierszu polecenia. Pobierz narzędzie, instalując najnowszą wersję języka Python.
  • Po utworzeniu subskrypcji platformy Azure utwórz zasób przetwarzanie obrazów w witrynie Azure Portal, aby uzyskać klucz i punkt końcowy. Po wdrożeniu wybierz pozycję Przejdź do zasobu.
    • Potrzebny jest klucz i punkt końcowy z utworzonego zasobu, aby połączyć aplikację z usługą Azure AI Vision.
    • Możesz użyć warstwy cenowej bezpłatna (F0), aby wypróbować usługę, a następnie uaktualnić ją do warstwy płatnej dla środowiska produkcyjnego.

Tworzenie zmiennych środowiskowych

W tym przykładzie zapisz swoje poświadczenia w zmiennych środowiskowych na komputerze lokalnym, na których jest uruchamiana aplikacja.

Przejdź do portalu Azure Portal. Jeśli zasób utworzony w sekcji Wymagania wstępne został wdrożony pomyślnie, wybierz pozycję Przejdź do zasobu w obszarze Następne kroki. Klucz i punkt końcowy można znaleźć w obszarze Zarządzanie zasobami na stronie Klucze i punkt końcowy . Klucz zasobu nie jest taki sam jak identyfikator subskrypcji platformy Azure.

Aby ustawić zmienną środowiskową dla klucza i punktu końcowego, otwórz okno konsoli i postępuj zgodnie z instrukcjami dotyczącymi systemu operacyjnego i środowiska programistycznego.

  • Aby ustawić zmienną VISION_KEY środowiskową, zastąp <your_key> element jednym z kluczy zasobu.
  • Aby ustawić zmienną VISION_ENDPOINT środowiskową, zastąp <your_endpoint> element punktem końcowym zasobu.

Ważne

Jeśli używasz klucza interfejsu API, zapisz go bezpiecznie w innym miejscu, na przykład w usłudze Azure Key Vault. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie.

Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.

setx VISION_KEY <your_key>
setx VISION_ENDPOINT <your_endpoint>

Po dodaniu zmiennych środowiskowych może być konieczne ponowne uruchomienie wszystkich uruchomionych programów, które będą odczytywać zmienne środowiskowe, w tym okno konsoli.

Analizuj obraz

  1. Zainstaluj bibliotekę klienta.

    Bibliotekę klienta można zainstalować za pomocą następujących funkcji:

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

    Zainstaluj również bibliotekę Pillow.

    pip install pillow
    
  2. Utwórz nową aplikację w języku Python.

    Utwórz nowy plik w języku Python. Można na przykład nazwać quickstart-file.py.

  3. Otwórz quickstart-file.py w edytorze tekstów lub środowisku IDE i wklej następujący kod.

    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. Uruchom aplikację przy użyciu python polecenia w pliku Szybki start.

    python quickstart-file.py
    

Wyjście

Dane wyjściowe operacji powinny wyglądać podobnie jak w poniższym przykładzie.

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

Czyszczenie zasobów

Jeśli chcesz wyczyścić i usunąć subskrypcję usług Azure AI, możesz usunąć zasób lub grupę zasobów. Usunięcie grupy zasobów powoduje również usunięcie wszelkich innych skojarzonych z nią zasobów.

Następny krok

W tym przewodniku Szybki start przedstawiono sposób instalowania biblioteki klienta Analizy obrazów i wykonywania podstawowych wywołań analizy obrazów. Następnie dowiedz się więcej o funkcjach interfejsu API analizowania obrazów.

Biblioteka klienta Analizy obrazów dla języka Java umożliwia analizowanie obrazu zdalnego pod kątem tagów, opisu tekstu, twarzy, zawartości dla dorosłych i innych.

Napiwek

Możesz również przeanalizować obraz lokalny. Zobacz metody ComputerVision, takie jak AnalyzeImage. Możesz też zapoznać się z przykładowym kodem w usłudze GitHub , aby zapoznać się ze scenariuszami obejmującymi obrazy lokalne.

Napiwek

Interfejs API analizowania obrazu może wykonywać wiele różnych operacji innych niż generowanie tagów obrazów. Zobacz przewodnik z instrukcjami analizy obrazów, aby zapoznać się z przykładami, które przedstawiają wszystkie dostępne funkcje.

Dokumentacja referencyjna | — artefakt kodu |źródłowego biblioteki (Maven)Przykłady |

Wymagania wstępne

  • Subskrypcja platformy Azure. Możesz utworzyć go bezpłatnie.
  • Bieżąca wersja zestawu Java Development Kit (JDK).
  • Narzędzie kompilacji narzędzia Gradle lub inny menedżer zależności.
  • Po utworzeniu subskrypcji platformy Azure utwórz zasób przetwarzanie obrazów w witrynie Azure Portal, aby uzyskać klucz i punkt końcowy. Po wdrożeniu wybierz pozycję Przejdź do zasobu.
    • Potrzebny jest klucz i punkt końcowy z utworzonego zasobu, aby połączyć aplikację z usługą Azure AI Vision.
    • Możesz użyć warstwy cenowej bezpłatna (F0), aby wypróbować usługę, a następnie uaktualnić ją do warstwy płatnej dla środowiska produkcyjnego.

Tworzenie zmiennych środowiskowych

W tym przykładzie zapisz swoje poświadczenia w zmiennych środowiskowych na komputerze lokalnym, na których jest uruchamiana aplikacja.

Przejdź do portalu Azure Portal. Jeśli zasób utworzony w sekcji Wymagania wstępne został wdrożony pomyślnie, wybierz pozycję Przejdź do zasobu w obszarze Następne kroki. Klucz i punkt końcowy można znaleźć w obszarze Zarządzanie zasobami na stronie Klucze i punkt końcowy . Klucz zasobu nie jest taki sam jak identyfikator subskrypcji platformy Azure.

Aby ustawić zmienną środowiskową dla klucza i punktu końcowego, otwórz okno konsoli i postępuj zgodnie z instrukcjami dotyczącymi systemu operacyjnego i środowiska programistycznego.

  • Aby ustawić zmienną VISION_KEY środowiskową, zastąp <your_key> element jednym z kluczy zasobu.
  • Aby ustawić zmienną VISION_ENDPOINT środowiskową, zastąp <your_endpoint> element punktem końcowym zasobu.

Ważne

Jeśli używasz klucza interfejsu API, zapisz go bezpiecznie w innym miejscu, na przykład w usłudze Azure Key Vault. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie.

Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.

setx VISION_KEY <your_key>
setx VISION_ENDPOINT <your_endpoint>

Po dodaniu zmiennych środowiskowych może być konieczne ponowne uruchomienie wszystkich uruchomionych programów, które będą odczytywać zmienne środowiskowe, w tym okno konsoli.

Analizuj obraz

  1. Utwórz nowy projekt Gradle.

    W oknie konsoli (na przykład cmd, PowerShell lub Bash) utwórz nowy katalog dla aplikacji i przejdź do niego.

    mkdir myapp && cd myapp
    

    gradle init Uruchom polecenie z katalogu roboczego. To polecenie tworzy podstawowe pliki kompilacji dla narzędzia Gradle, w tym build.gradle.kts, które są używane w czasie wykonywania do tworzenia i konfigurowania aplikacji.

    gradle init --type basic
    

    Po wyświetleniu monitu wybierz pozycję Język DSL, a następnie Kotlin.

  2. Zainstaluj bibliotekę klienta.

    W tym przewodniku Szybki start jest używany menedżer zależności narzędzia Gradle. Bibliotekę klienta i informacje dotyczące innych menedżerów zależności można znaleźć w repozytorium centralnym programu Maven.

    Znajdź plik build.gradle.kts i otwórz go przy użyciu preferowanego środowiska IDE lub edytora tekstów. Następnie skopiuj i wklej następującą konfigurację kompilacji do pliku. Ta konfiguracja definiuje projekt jako aplikację Java, której punktem wejścia jest klasa ImageAnalysisQuickstart. Importuje bibliotekę usługi Azure AI 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. Utwórz plik Java.

    W katalogu roboczym uruchom następujące polecenie, aby utworzyć folder źródłowy projektu:

    mkdir -p src/main/java
    

    Przejdź do nowego folderu i utwórz plik o nazwie ImageAnalysisQuickstart.java.

  4. Otwórz ImageAnalysisQuickstart.java w preferowanym edytorze lub środowisku IDE i wklej następujący kod.

    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. Wróć do folderu głównego projektu, a następnie skompiluj aplikację za pomocą polecenia:

    gradle build
    

    Uruchom go za pomocą następującego polecenia:

    gradle run
    

Wyjście

Dane wyjściowe operacji powinny wyglądać podobnie jak w poniższym przykładzie.

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

Czyszczenie zasobów

Jeśli chcesz wyczyścić i usunąć subskrypcję usług Azure AI, możesz usunąć zasób lub grupę zasobów. Usunięcie grupy zasobów powoduje również usunięcie wszelkich innych skojarzonych z nią zasobów.

Następny krok

W tym przewodniku Szybki start przedstawiono sposób instalowania biblioteki klienta Analizy obrazów i wykonywania podstawowych wywołań analizy obrazów. Następnie dowiedz się więcej o funkcjach interfejsu API analizowania obrazów.

Użyj biblioteki klienta Analizy obrazów dla języka JavaScript, aby przeanalizować obraz zdalny pod kątem tagów zawartości.

Napiwek

Możesz również przeanalizować obraz lokalny. Zobacz metody ComputerVisionClient, takie jak describeImageInStream. Możesz też zapoznać się z przykładowym kodem w usłudze GitHub , aby zapoznać się ze scenariuszami obejmującymi obrazy lokalne.

Napiwek

Interfejs API analizowania obrazu może wykonywać wiele różnych operacji innych niż generowanie tagów obrazów. Zobacz przewodnik z instrukcjami analizy obrazów, aby zapoznać się z przykładami, które przedstawiają wszystkie dostępne funkcje.

Dokumentacja referencyjna | Package (npm)Samples |

Wymagania wstępne

  • Subskrypcja platformy Azure. Możesz utworzyć go bezpłatnie.
  • Bieżąca wersja platformy Node.js.
  • Po utworzeniu subskrypcji platformy Azure utwórz zasób przetwarzanie obrazów w witrynie Azure Portal, aby uzyskać klucz i punkt końcowy. Po wdrożeniu wybierz pozycję Przejdź do zasobu.
    • Potrzebny jest klucz i punkt końcowy z utworzonego zasobu, aby połączyć aplikację z usługą Azure AI Vision.
    • Możesz użyć warstwy cenowej bezpłatna (F0), aby wypróbować usługę, a następnie uaktualnić ją do warstwy płatnej dla środowiska produkcyjnego.

Tworzenie zmiennych środowiskowych

W tym przykładzie zapisz swoje poświadczenia w zmiennych środowiskowych na komputerze lokalnym, na których jest uruchamiana aplikacja.

Przejdź do portalu Azure Portal. Jeśli zasób utworzony w sekcji Wymagania wstępne został wdrożony pomyślnie, wybierz pozycję Przejdź do zasobu w obszarze Następne kroki. Klucz i punkt końcowy można znaleźć w obszarze Zarządzanie zasobami na stronie Klucze i punkt końcowy . Klucz zasobu nie jest taki sam jak identyfikator subskrypcji platformy Azure.

Aby ustawić zmienną środowiskową dla klucza i punktu końcowego, otwórz okno konsoli i postępuj zgodnie z instrukcjami dotyczącymi systemu operacyjnego i środowiska programistycznego.

  • Aby ustawić zmienną VISION_KEY środowiskową, zastąp <your_key> element jednym z kluczy zasobu.
  • Aby ustawić zmienną VISION_ENDPOINT środowiskową, zastąp <your_endpoint> element punktem końcowym zasobu.

Ważne

Jeśli używasz klucza interfejsu API, zapisz go bezpiecznie w innym miejscu, na przykład w usłudze Azure Key Vault. Nie dołączaj klucza interfejsu API bezpośrednio do kodu i nigdy nie publikuj go publicznie.

Aby uzyskać więcej informacji na temat zabezpieczeń usług sztucznej inteligencji, zobacz Uwierzytelnianie żądań w usługach Azure AI.

setx VISION_KEY <your_key>
setx VISION_ENDPOINT <your_endpoint>

Po dodaniu zmiennych środowiskowych może być konieczne ponowne uruchomienie wszystkich uruchomionych programów, które będą odczytywać zmienne środowiskowe, w tym okno konsoli.

Analizuj obraz

  1. Tworzenie nowej aplikacji Node.js

    W oknie konsoli (na przykład cmd, PowerShell lub Bash) utwórz nowy katalog dla aplikacji i przejdź do niego.

    mkdir myapp && cd myapp
    

    Uruchom polecenie , npm init aby utworzyć aplikację węzła z plikiem package.json .

    npm init
    

    Instalowanie biblioteki klienta

    ms-rest-azure Zainstaluj pakiet i @azure/cognitiveservices-computervision npm:

    npm install @azure/cognitiveservices-computervision
    

    Zainstaluj również moduł asynchroniczny:

    npm install async
    

    Plik aplikacji package.json jest aktualizowany przy użyciu zależności.

    Utwórz nowy plik index.js.

  2. Otwórz index.js w edytorze tekstów i wklej następujący kod.

    '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. Uruchom aplikację, wykonując polecenie node dla pliku szybkiego startu.

    node index.js
    

Wyjście

Dane wyjściowe operacji powinny wyglądać podobnie jak w poniższym przykładzie.

-------------------------------------------------
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.

Czyszczenie zasobów

Jeśli chcesz wyczyścić i usunąć subskrypcję usług Azure AI, możesz usunąć zasób lub grupę zasobów. Usunięcie grupy zasobów powoduje również usunięcie wszelkich innych skojarzonych z nią zasobów.

Następny krok

W tym przewodniku Szybki start przedstawiono sposób instalowania biblioteki klienta Analizy obrazów i wykonywania podstawowych wywołań analizy obrazów. Następnie dowiedz się więcej o funkcjach interfejsu API analizowania obrazów.

Użyj interfejsu API REST analizy obrazów, aby przeanalizować obraz pod kątem tagów.

Napiwek

Interfejs API analizowania obrazu może wykonywać wiele różnych operacji innych niż generowanie tagów obrazów. Zobacz przewodnik z instrukcjami analizy obrazów, aby zapoznać się z przykładami, które przedstawiają wszystkie dostępne funkcje.

Uwaga

Ten przewodnik Szybki start używa poleceń cURL do wywoływania interfejsu API REST. Interfejs API REST można również wywołać przy użyciu języka programowania. Zobacz przykłady dotyczące usługi GitHub, aby zapoznać się z przykładami w językach C#, Python, Java i JavaScript.

Wymagania wstępne

  • Subskrypcja platformy Azure. Możesz utworzyć go bezpłatnie.
  • Po utworzeniu subskrypcji platformy Azure utwórz zasób przetwarzanie obrazów w witrynie Azure Portal, aby uzyskać klucz i punkt końcowy. Po wdrożeniu wybierz pozycję Przejdź do zasobu.
    • Potrzebny jest klucz i punkt końcowy z utworzonego zasobu, aby połączyć aplikację z usługą Azure AI Vision.
    • Możesz użyć warstwy cenowej bezpłatna (F0), aby wypróbować usługę, a następnie uaktualnić ją do warstwy płatnej dla środowiska produkcyjnego.
  • Zainstalowano bibliotekę cURL .

Analizowanie obrazu

Aby przeanalizować obraz pod kątem różnych funkcji wizualnych, wykonaj następujące czynności:

  1. Skopiuj następujące polecenie do edytora tekstów.

    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. W razie potrzeby wprowadź w poleceniu następujące zmiany:

    1. Zastąp wartość <yourKey> kluczem z zasobu przetwarzanie obrazów.
    2. Zastąp pierwszą część adresu URL żądania (westcentralus.api.cognitive.microsoft.com) własnym adresem URL punktu końcowego.

      Uwaga

      Nowe zasoby utworzone po 1 lipca 2019 r. będą używać niestandardowych nazw domen podrzędnych. Aby uzyskać więcej informacji i pełną listę regionalnych punktów końcowych, zobacz Niestandardowe nazwy poddomeny dla usług Azure AI.

    3. Opcjonalnie zmień adres URL obrazu w treści żądania (https://learn.microsoft.com/azure/ai-services/computer-vision/media/quickstarts/presentation.png) na adres URL innego obrazu do analizy.
  3. Otwórz okno wiersza polecenia.

  4. Wklej edytowane curl polecenie z edytora tekstów w oknie wiersza polecenia, a następnie uruchom polecenie.

Sprawdzanie odpowiedzi

Pomyślna odpowiedź jest zwracana w formacie JSON. Przykładowa aplikacja analizuje i wyświetla pomyślną odpowiedź w oknie wiersza polecenia, podobnie jak w poniższym przykładzie:

{
   "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"
}

Następny krok

W tym przewodniku Szybki start przedstawiono sposób wykonywania podstawowych wywołań analizy obrazów przy użyciu interfejsu API REST. Następnie dowiedz się więcej o funkcjach interfejsu API analizowania obrazów.