As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
O Amazon Rekognition Image pode analisar imagens armazenadas em um bucket do Amazon S3 ou imagens fornecidas como bytes de imagem.
Neste tópico, você usa a operação de DetectLabelsAPI para detectar objetos, conceitos e cenas em uma imagem (JPEG ou PNG) armazenada em um bucket do Amazon S3. Você passa uma imagem para uma operação da API Amazon Rekognition Image usando o parâmetro de entrada Image. Em Image
, especifique a propriedade de objeto S3Object para fazer referência a uma imagem armazenada em um bucket S3. Os bytes de imagem para imagens armazenadas nos buckets do Amazon S3 não precisam ser codificados em base64. Para obter mais informações, consulte Especificações de imagem.
Exemplo de solicitação
Nesta solicitação JSON de exemplo de DetectLabels
, a imagem de origem (input.jpg
) é carregada de um amzn-s3-demo-bucket
nomeado pelo bucket do Amazon S3. A região do bucket do S3 que contém o objeto S3 deve corresponder à região que você usa para operações do Amazon Rekognition Image.
{ "Image": { "S3Object": { "Bucket": "
amzn-s3-demo-bucket
", "Name": "input.jpg" } }, "MaxLabels": 10, "MinConfidence": 75 }
Os exemplos a seguir usam various AWS SDKs e the AWS CLI to callDetectLabels
. Para obter informações sobre a resposta da operação DetectLabels
, consulte DetectLabels resposta.
Para detectar rótulos em uma imagem
Se ainda não tiver feito isso:
Crie ou atualize um usuário com permissões
AmazonRekognitionFullAccess
eAmazonS3ReadOnlyAccess
. Para obter mais informações, consulte Etapa 1: Configure uma conta da AWS e crie um usuário.Instale e configure o AWS CLI e AWS SDKs o. Para obter mais informações, consulte Etapa 2: configurar o AWS CLI e AWS SDKs. Certifique-se de ter concedido ao usuário que chama as operações de API as permissões adequadas para o acesso programático; consulte Conceder acesso programático para obter instruções sobre como fazer isso.
-
Faça upload de uma imagem que contenha um ou mais objetos, como árvores, casas e barcos, para seu bucket do S3. A imagem deve estar no formato .jpg ou .png.
Para obter instruções, consulte Como fazer upload de objetos no Amazon S3 no Guia do usuário do Amazon Simple Storage Service.
-
Use os exemplos a seguir para chamar a operação
DetectLabels
.Este exemplo exibe uma lista de rótulos que foram detectados na imagem de entrada. Substitua os valores de
bucket
ephoto
pelos nomes do bucket do Amazon S3 e da imagem usados na etapa 2.//Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. //PDX-License-Identifier: MIT-0 (For details, see https://github.com/awsdocs/amazon-rekognition-developer-guide/blob/master/LICENSE-SAMPLECODE.) package com.amazonaws.samples; import com.amazonaws.services.rekognition.AmazonRekognition; import com.amazonaws.services.rekognition.AmazonRekognitionClientBuilder; import com.amazonaws.services.rekognition.model.AmazonRekognitionException; import com.amazonaws.services.rekognition.model.DetectLabelsRequest; import com.amazonaws.services.rekognition.model.DetectLabelsResult; import com.amazonaws.services.rekognition.model.Image; import com.amazonaws.services.rekognition.model.Label; import com.amazonaws.services.rekognition.model.S3Object; import java.util.List; public class DetectLabels { public static void main(String[] args) throws Exception { String photo = "input.jpg"; String bucket = "bucket"; AmazonRekognition rekognitionClient = AmazonRekognitionClientBuilder.defaultClient(); DetectLabelsRequest request = new DetectLabelsRequest() .withImage(new Image() .withS3Object(new S3Object() .withName(photo).withBucket(bucket))) .withMaxLabels(10) .withMinConfidence(75F); try { DetectLabelsResult result = rekognitionClient.detectLabels(request); List <Label> labels = result.getLabels(); System.out.println("Detected labels for " + photo); for (Label label: labels) { System.out.println(label.getName() + ": " + label.getConfidence().toString()); } } catch(AmazonRekognitionException e) { e.printStackTrace(); } } }
Exemplo de resposta
A resposta de DetectLabels
é uma matriz de rótulos detectados na imagem e o nível de confiança em que foram detectadas.
Quando você executa a DetectLabels
operação em uma imagem, o Amazon Rekognition retorna uma saída semelhante ao exemplo de resposta a seguir.
A resposta mostra que a operação detectou vários rótulos, incluindo Pessoa, Veículo e Carro. Cada rótulo tem um nível de confiança associado. Por exemplo, o algoritmo de detecção apresenta 98,991432% de certeza de que a imagem contém uma pessoa.
A resposta também inclui os rótulos ancestrais de um rótulo na matriz Parents
. Por exemplo, o rótulo Automóvel tem dois rótulos pai chamados Veículo e Transporte.
A resposta para rótulos de objetos comuns inclui as informações da caixa delimitadora para a localização do rótulo na imagem de entrada. Por exemplo, o rótulo Pessoa tem uma matriz de instâncias que contém duas caixas delimitadoras. Essas são as localizações de duas pessoas detectadas na imagem.
O campo LabelModelVersion
contém o número da versão do modelo de detecção usado por DetectLabels
.
Para obter mais informações sobre o uso dessa operação DetectLabels
, consulte Detectando objetos e conceitos.
{
{
"Labels": [
{
"Name": "Vehicle",
"Confidence": 99.15271759033203,
"Instances": [],
"Parents": [
{
"Name": "Transportation"
}
]
},
{
"Name": "Transportation",
"Confidence": 99.15271759033203,
"Instances": [],
"Parents": []
},
{
"Name": "Automobile",
"Confidence": 99.15271759033203,
"Instances": [],
"Parents": [
{
"Name": "Vehicle"
},
{
"Name": "Transportation"
}
]
},
{
"Name": "Car",
"Confidence": 99.15271759033203,
"Instances": [
{
"BoundingBox": {
"Width": 0.10616336017847061,
"Height": 0.18528179824352264,
"Left": 0.0037978808395564556,
"Top": 0.5039216876029968
},
"Confidence": 99.15271759033203
},
{
"BoundingBox": {
"Width": 0.2429988533258438,
"Height": 0.21577216684818268,
"Left": 0.7309805154800415,
"Top": 0.5251884460449219
},
"Confidence": 99.1286392211914
},
{
"BoundingBox": {
"Width": 0.14233611524105072,
"Height": 0.15528248250484467,
"Left": 0.6494812965393066,
"Top": 0.5333095788955688
},
"Confidence": 98.48368072509766
},
{
"BoundingBox": {
"Width": 0.11086395382881165,
"Height": 0.10271988064050674,
"Left": 0.10355594009160995,
"Top": 0.5354844927787781
},
"Confidence": 96.45606231689453
},
{
"BoundingBox": {
"Width": 0.06254628300666809,
"Height": 0.053911514580249786,
"Left": 0.46083059906959534,
"Top": 0.5573825240135193
},
"Confidence": 93.65448760986328
},
{
"BoundingBox": {
"Width": 0.10105438530445099,
"Height": 0.12226245552301407,
"Left": 0.5743985772132874,
"Top": 0.534368634223938
},
"Confidence": 93.06217193603516
},
{
"BoundingBox": {
"Width": 0.056389667093753815,
"Height": 0.17163699865341187,
"Left": 0.9427769780158997,
"Top": 0.5235804319381714
},
"Confidence": 92.6864013671875
},
{
"BoundingBox": {
"Width": 0.06003860384225845,
"Height": 0.06737709045410156,
"Left": 0.22409997880458832,
"Top": 0.5441341400146484
},
"Confidence": 90.4227066040039
},
{
"BoundingBox": {
"Width": 0.02848697081208229,
"Height": 0.19150497019290924,
"Left": 0.0,
"Top": 0.5107086896896362
},
"Confidence": 86.65286254882812
},
{
"BoundingBox": {
"Width": 0.04067881405353546,
"Height": 0.03428703173995018,
"Left": 0.316415935754776,
"Top": 0.5566273927688599
},
"Confidence": 85.36471557617188
},
{
"BoundingBox": {
"Width": 0.043411049991846085,
"Height": 0.0893595889210701,
"Left": 0.18293385207653046,
"Top": 0.5394920110702515
},
"Confidence": 82.21705627441406
},
{
"BoundingBox": {
"Width": 0.031183116137981415,
"Height": 0.03989990055561066,
"Left": 0.2853088080883026,
"Top": 0.5579366683959961
},
"Confidence": 81.0157470703125
},
{
"BoundingBox": {
"Width": 0.031113790348172188,
"Height": 0.056484755128622055,
"Left": 0.2580395042896271,
"Top": 0.5504819750785828
},
"Confidence": 56.13441467285156
},
{
"BoundingBox": {
"Width": 0.08586374670267105,
"Height": 0.08550430089235306,
"Left": 0.5128012895584106,
"Top": 0.5438792705535889
},
"Confidence": 52.37760925292969
}
],
"Parents": [
{
"Name": "Vehicle"
},
{
"Name": "Transportation"
}
]
},
{
"Name": "Human",
"Confidence": 98.9914321899414,
"Instances": [],
"Parents": []
},
{
"Name": "Person",
"Confidence": 98.9914321899414,
"Instances": [
{
"BoundingBox": {
"Width": 0.19360728561878204,
"Height": 0.2742200493812561,
"Left": 0.43734854459762573,
"Top": 0.35072067379951477
},
"Confidence": 98.9914321899414
},
{
"BoundingBox": {
"Width": 0.03801717236638069,
"Height": 0.06597328186035156,
"Left": 0.9155802130699158,
"Top": 0.5010883808135986
},
"Confidence": 85.02790832519531
}
],
"Parents": []
}
],
"LabelModelVersion": "2.0"
}
}