Analizowanie obrazu

Ukończone

Aby przeanalizować obraz, możesz użyć metody REST analizowania obrazu lub równoważnej metody w zestawie SDK dla preferowanego języka programowania, określając funkcje wizualne, które chcesz uwzględnić w analizie (i jeśli wybierzesz kategorie, czy chcesz uwzględnić szczegóły osobistości lub charakterystycznych elementów krajobrazu). Ta metoda zwraca dokument JSON zawierający żądane informacje.

Uwaga

Wykrywanie osobistości będzie wymagać zatwierdzenia za pośrednictwem zasad ograniczonego dostępu. Więcej informacji na temat dodawania tych zasad do naszego standardu odpowiedzialnej sztucznej inteligencji. Rozpoznawanie osobistości jest widoczne na niektórych zrzutach ekranu, jednak nie jest uwzględnione w laboratorium.

using Azure.AI.Vision.ImageAnalysis;

ImageAnalysisClient client = new ImageAnalysisClient(
    Environment.GetEnvironmentVariable("ENDPOINT"),
    new AzureKeyCredential(Environment.GetEnvironmentVariable("KEY")));

ImageAnalysisResult result = client.Analyze(
    new Uri("<url>"),
    VisualFeatures.Caption | VisualFeatures.Read,
    new ImageAnalysisOptions { GenderNeutralCaption = true });
from azure.ai.vision.imageanalysis import ImageAnalysisClient
from azure.ai.vision.imageanalysis.models import VisualFeatures
from azure.core.credentials import AzureKeyCredential

client = ImageAnalysisClient(
    endpoint=os.environ["ENDPOINT"],
    credential=AzureKeyCredential(os.environ["KEY"])
)

result = client.analyze(
    image_url="<url>",
    visual_features=[VisualFeatures.CAPTION, VisualFeatures.READ],
    gender_neutral_caption=True,
    language="en",
)

Dostępne funkcje wizualne znajdują się w wyliczeniem VisualFeatures :

  • VisualFeatures.Tags: identyfikuje tagi dotyczące obrazu, w tym obiekty, scenerię, ustawienie i akcje
  • VisualFeatures.Objects: Zwraca pole ograniczenia dla każdego wykrytego obiektu
  • VisualFeatures.Caption: generuje podpis obrazu w języku naturalnym
  • VisualFeatures.DenseCaptions: generuje bardziej szczegółowe podpis dla wykrytych obiektów
  • VisualFeatures. Osoby: zwraca pole ograniczenia dla wykrytych osób
  • VisualFeatures.SmartCrops: Zwraca pole ograniczenia określonego współczynnika proporcji dla obszaru zainteresowania
  • VisualFeatures.Read: wyodrębnia czytelny tekst
  • VisualFeatures.TAGS: identyfikuje tagi dotyczące obrazu, w tym obiekty, scenerię, ustawienie i akcje
  • VisualFeatures.OBJECTS: Zwraca pole ograniczenia dla każdego wykrytego obiektu
  • VisualFeatures.CAPTION: Generuje podpis obrazu w języku naturalnym
  • VisualFeatures.DENSE_CAPTIONS: generuje bardziej szczegółowe podpis dla wykrytych obiektów
  • VisualFeatures.PEOPLE: zwraca pole ograniczenia dla wykrytych osób
  • VisualFeatures.SMART_CROPS: Zwraca pole ograniczenia określonego współczynnika proporcji dla obszaru zainteresowania
  • VisualFeatures.READ: Wyodrębnia czytelny tekst

Określenie funkcji wizualizacji, które mają zostać przeanalizowane na obrazie, określa, jakie informacje będą zawierać odpowiedź. Większość odpowiedzi będzie zawierać pole ograniczenia (jeśli lokalizacja na obrazie jest rozsądna) lub współczynnik ufności (w przypadku funkcji takich jak tagi lub podpis).

Odpowiedź JSON na potrzeby analizy obrazów wygląda podobnie do tego przykładu, w zależności od żądanych funkcji:

{
  "apim-request-id": "abcde-1234-5678-9012-f1g2h3i4j5k6",
  "modelVersion": "<version>",
  "denseCaptionsResult": {
    "values": [
      {
        "text": "a house in the woods",
        "confidence": 0.7055229544639587,
        "boundingBox": {
          "x": 0,
          "y": 0,
          "w": 640,
          "h": 640
        }
      },
      {
        "text": "a trailer with a door and windows",
        "confidence": 0.6675070524215698,
        "boundingBox": {
          "x": 214,
          "y": 434,
          "w": 154,
          "h": 108
        }
      }
    ]
  },
  "metadata": {
    "width": 640,
    "height": 640
  }
}