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ę , AnalyzeImageUrl
któ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
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.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.
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.
Powiązana zawartość
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.
- Instalacja języka Python powinna zawierać narzędzie. Możesz sprawdzić, czy masz zainstalowane narzędzie, uruchamiając polecenie
- 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
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
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.
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.")
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
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.
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") }
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.
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. }
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
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.
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();
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:
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'}"
W razie potrzeby wprowadź w poleceniu następujące zmiany:
- Zastąp wartość
<yourKey>
kluczem z zasobu przetwarzanie obrazów. - 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.
- 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.
- Zastąp wartość
Otwórz okno wiersza polecenia.
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.