Analisar uma imagem

Concluído

Para analisar uma imagem, você pode usar o método Analyze Image REST ou o método equivalente no SDK para sua linguagem de programação preferida, especificando os recursos visuais que deseja incluir na análise (e se você selecionar categorias, incluir ou não detalhes de celebridades ou pontos de referência). Esse método retorna um documento JSON contendo as informações solicitadas.

Observação

A deteção de celebridades requer aprovação através de uma política de Acesso Limitado . Você pode ler mais sobre a adição desta política ao nosso padrão de IA responsável. O reconhecimento de celebridades é visto em algumas capturas de ecrã, mas não está incluído no laboratório.

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",
)

Os recursos visuais disponíveis estão contidos na enumeração VisualFeatures:

  • VisualFeatures.Tags: Identifica etiquetas da imagem, incluindo objetos, paisagem, cenário e ações
  • VisualFeatures.Objects: retorna a caixa delimitadora para cada objeto detetado
  • VisualFeatures.Caption: gera uma legenda da imagem em linguagem natural
  • VisualFeatures.DenseCaptions: gera legendas mais detalhadas para os objetos detetados
  • VisualFeatures.People: retorna a caixa delimitadora para pessoas detetadas
  • VisualFeatures.SmartCrops: Devolve a caixa delimitadora da proporção especificada para a área de interesse
  • VisualFeatures.Read: Extrai texto legível
  • VisualFeatures.TAGS: identifica etiquetas sobre a imagem, incluindo objetos, paisagens, ambientes e ações
  • VisualFeatures.OBJECTS: Retorna a caixa delimitadora para cada objeto detetado
  • VisualFeatures.CAPTION: Gera uma legenda da imagem em linguagem natural
  • VisualFeatures.DENSE_CAPTIONS: Gera legendas mais detalhadas para os objetos detetados
  • VisualFeatures.PEOPLE: Retorna a caixa de delimitação para pessoas detetadas
  • VisualFeatures.SMART_CROPS: Devolve a caixa delimitadora do rácio de proporção especificado para a área de interesse
  • VisualFeatures.READ: Extrai texto legível

Especificar os recursos visuais que você deseja analisar na imagem determina quais informações a resposta conterá. A maioria das respostas conterá uma caixa delimitadora (se um local na imagem for razoável) ou um índice de confiança (para recursos como etiquetas ou legendas).

A resposta JSON para análise de imagem é semelhante a este exemplo, dependendo dos recursos solicitados:

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