AnnotateImageResponse

Resposta a um pedido de anotação de imagem.

Representação JSON
{
  "faceAnnotations": [
    {
      object (FaceAnnotation)
    }
  ],
  "landmarkAnnotations": [
    {
      object (EntityAnnotation)
    }
  ],
  "logoAnnotations": [
    {
      object (EntityAnnotation)
    }
  ],
  "labelAnnotations": [
    {
      object (EntityAnnotation)
    }
  ],
  "localizedObjectAnnotations": [
    {
      object (LocalizedObjectAnnotation)
    }
  ],
  "textAnnotations": [
    {
      object (EntityAnnotation)
    }
  ],
  "fullTextAnnotation": {
    object (TextAnnotation)
  },
  "safeSearchAnnotation": {
    object (SafeSearchAnnotation)
  },
  "imagePropertiesAnnotation": {
    object (ImageProperties)
  },
  "cropHintsAnnotation": {
    object (CropHintsAnnotation)
  },
  "webDetection": {
    object (WebDetection)
  },
  "productSearchResults": {
    object (ProductSearchResults)
  },
  "error": {
    object (Status)
  },
  "context": {
    object (ImageAnnotationContext)
  }
}
Campos
faceAnnotations[]

object (FaceAnnotation)

Se estiver presente, a deteção de caras foi concluída com êxito.

landmarkAnnotations[]

object (EntityAnnotation)

Se estiver presente, a deteção de pontos de referência foi concluída com êxito.

logoAnnotations[]

object (EntityAnnotation)

Se estiver presente, a deteção do logótipo foi concluída com êxito.

labelAnnotations[]

object (EntityAnnotation)

Se estiver presente, a deteção de etiquetas foi concluída com êxito.

localizedObjectAnnotations[]

object (LocalizedObjectAnnotation)

Se estiver presente, a deteção de objetos localizada foi concluída com êxito. Estes são ordenados por ordem descendente de acordo com a pontuação de confiança.

textAnnotations[]

object (EntityAnnotation)

Se estiver presente, a deteção de texto (OCR) foi concluída com êxito.

fullTextAnnotation

object (TextAnnotation)

Se estiver presente, a deteção de texto (OCR) ou a deteção de texto de documentos (OCR) foi concluída com êxito. Esta anotação fornece a hierarquia estrutural do texto detetado pelo OCR.

safeSearchAnnotation

object (SafeSearchAnnotation)

Se estiver presente, a anotação de pesquisa segura foi concluída com êxito.

imagePropertiesAnnotation

object (ImageProperties)

Se estiver presente, as propriedades da imagem foram extraídas com êxito.

cropHintsAnnotation

object (CropHintsAnnotation)

Se estiver presente, as sugestões de recorte foram concluídas com êxito.

webDetection

object (WebDetection)

Se estiver presente, a deteção na Web foi concluída com êxito.

productSearchResults

object (ProductSearchResults)

Se estiver presente, a pesquisa de produtos foi concluída com êxito.

error

object (Status)

Se definido, representa a mensagem de erro da operação. Tenha em atenção que as anotações de imagens preenchidas têm a garantia de estar corretas, mesmo quando error está definido.

context

object (ImageAnnotationContext)

Se estiverem presentes, são necessárias informações contextuais para compreender a origem desta imagem.

FaceAnnotation

Um objeto de anotação de cara contém os resultados da deteção de caras.

Representação JSON
{
  "boundingPoly": {
    object (BoundingPoly)
  },
  "fdBoundingPoly": {
    object (BoundingPoly)
  },
  "landmarks": [
    {
      object (Landmark)
    }
  ],
  "rollAngle": number,
  "panAngle": number,
  "tiltAngle": number,
  "detectionConfidence": number,
  "landmarkingConfidence": number,
  "joyLikelihood": enum (Likelihood),
  "sorrowLikelihood": enum (Likelihood),
  "angerLikelihood": enum (Likelihood),
  "surpriseLikelihood": enum (Likelihood),
  "underExposedLikelihood": enum (Likelihood),
  "blurredLikelihood": enum (Likelihood),
  "headwearLikelihood": enum (Likelihood)
}
Campos
boundingPoly

object (BoundingPoly)

O polígono delimitador em torno do rosto. As coordenadas da caixa delimitadora estão na escala da imagem original. A caixa delimitadora é calculada para "enquadrar" o rosto de acordo com as expetativas humanas. Baseia-se nos resultados dos pontos de referência. Tenha em atenção que uma ou mais coordenadas x e/ou y podem não ser geradas no BoundingPoly (o polígono não vai ter limites) se apenas aparecer uma parte de uma cara na imagem a ser anotada.

fdBoundingPoly

object (BoundingPoly)

O polígono delimitador fdBoundingPoly é mais apertado do que o boundingPoly e envolve apenas a parte da pele do rosto. Normalmente, é usado para eliminar a cara de qualquer análise de imagem que detete a "quantidade de pele" visível numa imagem. Não se baseia nos resultados dos pontos de referência, apenas na deteção facial inicial, pelo que

fd

(deteção facial) prefixo.

landmarks[]

object (Landmark)

Pontos de referência faciais detetados.

rollAngle

number

Ângulo de rotação, que indica a quantidade de rotação no sentido horário/anti-horário da face em relação à vertical da imagem em torno do eixo perpendicular à face. Intervalo [-180,180].

panAngle

number

Ângulo de guinada, que indica o ângulo para a esquerda/direita para o qual o rosto está virado relativamente ao plano vertical perpendicular à imagem. Intervalo [-180,180].

tiltAngle

number

Ângulo de inclinação, que indica o ângulo para cima/para baixo para o qual o rosto está a apontar relativamente ao plano horizontal da imagem. Intervalo [-180,180].

detectionConfidence

number

Confiança na deteção. Intervalo [0, 1].

landmarkingConfidence

number

Confiança na identificação de pontos de referência faciais. Intervalo [0, 1].

joyLikelihood

enum (Likelihood)

Probabilidade de alegria.

sorrowLikelihood

enum (Likelihood)

Probabilidade de tristeza.

angerLikelihood

enum (Likelihood)

Probabilidade de raiva.

surpriseLikelihood

enum (Likelihood)

Probabilidade de surpresa.

underExposedLikelihood

enum (Likelihood)

Probabilidade de subexposição.

blurredLikelihood

enum (Likelihood)

Probabilidade esbatida.

headwearLikelihood

enum (Likelihood)

Probabilidade de usar adereços para a cabeça.

Ponto de referência

Um ponto de referência específico do rosto (por exemplo, uma caraterística facial).

Representação JSON
{
  "type": enum (Type),
  "position": {
    object (Position)
  }
}
Campos
type

enum (Type)

Tipo de ponto de referência do rosto.

position

object (Position)

Posição do ponto de referência do rosto.

Tipo

Tipo de ponto de referência (caraterística) facial. A esquerda e a direita são definidas a partir do ponto de vista do visualizador da imagem, sem considerar as projeções de espelho típicas das fotos. Assim, LEFT_EYE é normalmente o olho direito da pessoa.

Enumerações
UNKNOWN_LANDMARK Ponto de referência de rosto desconhecido detetado. Não deve ser preenchido.
LEFT_EYE Olho esquerdo.
RIGHT_EYE Olho direito.
LEFT_OF_LEFT_EYEBROW À esquerda da sobrancelha esquerda.
RIGHT_OF_LEFT_EYEBROW À direita da sobrancelha esquerda.
LEFT_OF_RIGHT_EYEBROW À esquerda da sobrancelha direita.
RIGHT_OF_RIGHT_EYEBROW Direita da sobrancelha direita.
MIDPOINT_BETWEEN_EYES Ponto intermédio entre os olhos.
NOSE_TIP Ponta do nariz.
UPPER_LIP Lábio superior.
LOWER_LIP Lábio inferior.
MOUTH_LEFT Boca para a esquerda.
MOUTH_RIGHT Boca para a direita.
MOUTH_CENTER Centro da boca.
NOSE_BOTTOM_RIGHT Nariz, parte inferior direita.
NOSE_BOTTOM_LEFT Nariz, parte inferior esquerda.
NOSE_BOTTOM_CENTER Nariz, parte inferior central.
LEFT_EYE_TOP_BOUNDARY Olho esquerdo, limite superior.
LEFT_EYE_RIGHT_CORNER Olho esquerdo, canto direito.
LEFT_EYE_BOTTOM_BOUNDARY Olho esquerdo, limite inferior.
LEFT_EYE_LEFT_CORNER Olho esquerdo, canto esquerdo.
RIGHT_EYE_TOP_BOUNDARY Olho direito, limite superior.
RIGHT_EYE_RIGHT_CORNER Olho direito, canto direito.
RIGHT_EYE_BOTTOM_BOUNDARY Olho direito, limite inferior.
RIGHT_EYE_LEFT_CORNER Olho direito, canto esquerdo.
LEFT_EYEBROW_UPPER_MIDPOINT Sobrancelha esquerda, ponto médio superior.
RIGHT_EYEBROW_UPPER_MIDPOINT Sobrancelha direita, ponto médio superior.
LEFT_EAR_TRAGION Trágus do ouvido esquerdo.
RIGHT_EAR_TRAGION Trágus do ouvido direito.
LEFT_EYE_PUPIL Pupila do olho esquerdo.
RIGHT_EYE_PUPIL Pupila do olho direito.
FOREHEAD_GLABELLA Glabela da testa.
CHIN_GNATHION Gnathion do queixo.
CHIN_LEFT_GONION Queixo no gónio esquerdo.
CHIN_RIGHT_GONION Gónio do queixo direito.

Posição

Uma posição 3D na imagem, usada principalmente para pontos de referência de deteção de caras. Uma posição válida tem de ter coordenadas x e y. As coordenadas de posição estão na mesma escala que a imagem original.

Representação JSON
{
  "x": number,
  "y": number,
  "z": number
}
Campos
x

number

Coordenada X.

y

number

Coordenada Y.

z

number

Coordenada Z (ou profundidade).

Probabilidade

Uma representação agrupada da probabilidade, que se destina a dar aos clientes resultados altamente estáveis nas atualizações do modelo.

Enumerações
UNKNOWN Probabilidade desconhecida.
VERY_UNLIKELY É muito improvável.
UNLIKELY É improvável.
POSSIBLE É possível.
LIKELY É provável.
VERY_LIKELY É muito provável.

EntityAnnotation

Conjunto de funcionalidades de entidades detetadas.

Representação JSON
{
  "mid": string,
  "locale": string,
  "description": string,
  "score": number,
  "confidence": number,
  "topicality": number,
  "boundingPoly": {
    object (BoundingPoly)
  },
  "locations": [
    {
      object (LocationInfo)
    }
  ],
  "properties": [
    {
      object (Property)
    }
  ]
}
Campos
mid

string

ID de entidade opaco. Alguns IDs podem estar disponíveis na API Google Knowledge Graph Search.

locale

string

O código de idioma da região em que o texto da entidade description é expresso.

description

string

Descrição textual da entidade, expressa no respetivo idioma locale.

score

number

Pontuação geral do resultado. Intervalo [0, 1].

confidence
(deprecated)

number

Descontinuado. Em alternativa, use score. A precisão da deteção de entidades numa imagem. Por exemplo, para uma imagem na qual a entidade "Torre Eiffel" é detetada, este campo representa a confiança de que existe uma torre na imagem da consulta. Intervalo [0, 1].

topicality

number

A relevância da etiqueta ICA (anotação de conteúdo de imagem) para a imagem. Por exemplo, a relevância de "torre" é provavelmente superior para uma imagem que contenha a "Torre Eiffel" detetada do que para uma imagem que contenha um edifício alto distante detetado, mesmo que a confiança de que existe uma torre em cada imagem possa ser a mesma. Intervalo [0, 1].

boundingPoly

object (BoundingPoly)

Região da imagem à qual esta entidade pertence. Não produzido para funcionalidades LABEL_DETECTION.

locations[]

object (LocationInfo)

As informações de localização da entidade detetada. Podem estar presentes vários elementos LocationInfo porque uma localização pode indicar a localização da cena na imagem e outra localização pode indicar a localização do local onde a imagem foi tirada. Normalmente, as informações de localização estão presentes para pontos de referência.

properties[]

object (Property)

Algumas entidades podem ter campos Property (nome/valor) opcionais fornecidos pelo utilizador, como uma pontuação ou uma string que qualifica a entidade.

LocationInfo

Informações de localização da entidade detetada.

Representação JSON
{
  "latLng": {
    object (LatLng)
  }
}
Campos
latLng

object (LatLng)

Coordenadas de localização de latitude/longitude.

Propriedade

Um Property consiste num par de nome/valor fornecido pelo utilizador.

Representação JSON
{
  "name": string,
  "value": string,
  "uint64Value": string
}
Campos
name

string

Nome da propriedade.

value

string

Valor da propriedade.

uint64Value

string

Valor das propriedades numéricas.

LocalizedObjectAnnotation

Conjunto de objetos detetados com caixas de limite.

Representação JSON
{
  "mid": string,
  "languageCode": string,
  "name": string,
  "score": number,
  "boundingPoly": {
    object (BoundingPoly)
  }
}
Campos
mid

string

ID do objeto que deve estar alinhado com o MID de EntityAnnotation.

languageCode

string

O código de idioma BCP-47, como "en-US" ou "sr-Latn". Para mais informações, consulte http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.

name

string

Nome do objeto, expresso no respetivo idioma languageCode.

score

number

Pontuação do resultado. Intervalo [0, 1].

boundingPoly

object (BoundingPoly)

Região da imagem à qual este objeto pertence. Este campo tem de ser preenchido.

TextAnnotation

TextAnnotation contém uma representação estruturada do texto extraído do OCR. A hierarquia de uma estrutura de texto extraído por OCR é a seguinte: TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol Cada componente estrutural, a partir de Page, também pode ter as suas próprias propriedades. As propriedades descrevem idiomas detetados, pausas, etc. Consulte a definição da mensagem TextAnnotation.TextProperty abaixo para ver mais detalhes.

Representação JSON
{
  "pages": [
    {
      object (Page)
    }
  ],
  "text": string
}
Campos
pages[]

object (Page)

Lista de páginas detetadas pelo OCR.

text

string

Texto UTF-8 detetado nas páginas.

Página

Página detetada a partir do OCR.

Representação JSON
{
  "property": {
    object (TextProperty)
  },
  "width": number,
  "height": number,
  "blocks": [
    {
      object (Block)
    }
  ],
  "confidence": number
}
Campos
property

object (TextProperty)

Foram detetadas informações adicionais na página.

width

number

Largura da página. Para PDFs, a unidade é pontos. Para imagens (incluindo TIFFs), a unidade é píxeis.

height

number

Altura da página. Para PDFs, a unidade é pontos. Para imagens (incluindo TIFFs), a unidade é píxeis.

blocks[]

object (Block)

Lista de blocos de texto, imagens, etc. nesta página.

confidence

number

Confiança nos resultados de OCR na página. Intervalo [0, 1].

TextProperty

Foram detetadas informações adicionais no componente estrutural.

Representação JSON
{
  "detectedLanguages": [
    {
      object (DetectedLanguage)
    }
  ],
  "detectedBreak": {
    object (DetectedBreak)
  }
}
Campos
detectedLanguages[]

object (DetectedLanguage)

Uma lista de idiomas detetados juntamente com a confiança.

detectedBreak

object (DetectedBreak)

Início ou fim detetado de um segmento de texto.

DetectedLanguage

Idioma detetado para um componente estrutural.

Representação JSON
{
  "languageCode": string,
  "confidence": number
}
Campos
languageCode

string

O código de idioma BCP-47, como "en-US" ou "sr-Latn". Para mais informações, consulte http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.

confidence

number

Confiança do idioma detetado. Intervalo [0, 1].

DetectedBreak

Início ou fim de um componente estrutural detetado.

Representação JSON
{
  "type": enum (BreakType),
  "isPrefix": boolean
}
Campos
type

enum (BreakType)

Tipo de quebra detetado.

isPrefix

boolean

Verdadeiro se a quebra preceder o elemento.

BreakType

Enum para denotar o tipo de interrupção encontrado. Nova linha, espaço, etc.

Enumerações
UNKNOWN Tipo de etiqueta de quebra desconhecido.
SPACE Espaço normal.
SURE_SPACE Espaço certo (muito largo).
EOL_SURE_SPACE Quebra de moldagem de linhas.
HYPHEN Hífen no final da linha que não está presente no texto; não ocorre em simultâneo com SPACE, LEADER_SPACE ou LINE_BREAK.
LINE_BREAK Quebra de linha que termina um parágrafo.

Bloquear

Elemento lógico na página.

Representação JSON
{
  "property": {
    object (TextProperty)
  },
  "boundingBox": {
    object (BoundingPoly)
  },
  "paragraphs": [
    {
      object (Paragraph)
    }
  ],
  "blockType": enum (BlockType),
  "confidence": number
}
Campos
property

object (TextProperty)

Foram detetadas informações adicionais para o bloqueio.

boundingBox

object (BoundingPoly)

A caixa limitadora do bloco. Os vértices estão na ordem superior esquerdo, superior direito, inferior direito e inferior esquerdo. Quando é detetada uma rotação da caixa delimitadora, a rotação é representada em torno do canto superior esquerdo, conforme definido quando o texto é lido na orientação "natural". Por exemplo:

  • Quando o texto é horizontal, pode ter o seguinte aspeto:
    0----1
    |    |
    3----2
  • Quando é rodado 180 graus em torno do canto superior esquerdo, torna-se:
    2----3
    |    |
    1----0

e a ordem dos vértices continua a ser (0, 1, 2, 3).

paragraphs[]

object (Paragraph)

Lista de parágrafos neste bloco (se este bloco for do tipo texto).

blockType

enum (BlockType)

Tipo de bloco detetado (texto, imagem, etc.) para este bloco.

confidence

number

Confiança dos resultados de OCR no bloco. Intervalo [0, 1].

Parágrafo

Unidade estrutural de texto que representa um número de palavras numa determinada ordem.

Representação JSON
{
  "property": {
    object (TextProperty)
  },
  "boundingBox": {
    object (BoundingPoly)
  },
  "words": [
    {
      object (Word)
    }
  ],
  "confidence": number
}
Campos
property

object (TextProperty)

Foram detetadas informações adicionais para o parágrafo.

boundingBox

object (BoundingPoly)

A caixa limitadora do parágrafo. Os vértices estão na ordem superior esquerdo, superior direito, inferior direito e inferior esquerdo. Quando é detetada uma rotação da caixa delimitadora, a rotação é representada em torno do canto superior esquerdo, conforme definido quando o texto é lido na orientação "natural". Por exemplo: * Quando o texto está na horizontal, pode ter o seguinte aspeto: 0----1 | | 3----2 * Quando é rodado 180 graus em torno do canto superior esquerdo, torna-se: 2----3 | | 1----0 e a ordem dos vértices continua a ser (0, 1, 2, 3).

words[]

object (Word)

Lista de todas as palavras neste parágrafo.

confidence

number

Confiança dos resultados de OCR para o parágrafo. Intervalo [0, 1].

Word

Uma representação de palavras.

Representação JSON
{
  "property": {
    object (TextProperty)
  },
  "boundingBox": {
    object (BoundingPoly)
  },
  "symbols": [
    {
      object (Symbol)
    }
  ],
  "confidence": number
}
Campos
property

object (TextProperty)

Foram detetadas informações adicionais para a palavra.

boundingBox

object (BoundingPoly)

A caixa limitadora da palavra. Os vértices estão na ordem superior esquerdo, superior direito, inferior direito e inferior esquerdo. Quando é detetada uma rotação da caixa delimitadora, a rotação é representada em torno do canto superior esquerdo, conforme definido quando o texto é lido na orientação "natural". Por exemplo: * Quando o texto está na horizontal, pode ter o seguinte aspeto: 0----1 | | 3----2 * Quando é rodado 180 graus em torno do canto superior esquerdo, torna-se: 2----3 | | 1----0 e a ordem dos vértices continua a ser (0, 1, 2, 3).

symbols[]

object (Symbol)

Lista de símbolos na palavra. A ordem dos símbolos segue a ordem de leitura natural.

confidence

number

Confiança dos resultados de OCR para a palavra. Intervalo [0, 1].

Símbolo

Uma representação de símbolo único.

Representação JSON
{
  "property": {
    object (TextProperty)
  },
  "boundingBox": {
    object (BoundingPoly)
  },
  "text": string,
  "confidence": number
}
Campos
property

object (TextProperty)

Foram detetadas informações adicionais para o símbolo.

boundingBox

object (BoundingPoly)

A caixa delimitadora do símbolo. Os vértices estão na ordem superior esquerdo, superior direito, inferior direito e inferior esquerdo. Quando é detetada uma rotação da caixa delimitadora, a rotação é representada em torno do canto superior esquerdo, conforme definido quando o texto é lido na orientação "natural". Por exemplo: * Quando o texto está na horizontal, pode ter o seguinte aspeto: 0----1 | | 3----2 * Quando é rodado 180 graus em torno do canto superior esquerdo, torna-se: 2----3 | | 1----0 e a ordem dos vértices continua a ser (0, 1, 2, 3).

text

string

A representação UTF-8 real do símbolo.

confidence

number

Confiança dos resultados de OCR para o símbolo. Intervalo [0, 1].

BlockType

Tipo de um bloco (texto, imagem, etc.) conforme identificado pelo OCR.

Enumerações
UNKNOWN Tipo de bloco desconhecido.
TEXT Bloco de texto normal.
TABLE Bloco de tabela.
PICTURE Bloqueio de imagem.
RULER Caixa de linhas horizontais/verticais.
BARCODE Bloco de código de barras.

SafeSearchAnnotation

Conjunto de funcionalidades relacionadas com a imagem, calculadas por métodos de visão computacional em verticais de pesquisa segura (por exemplo, conteúdo para adultos, roubo de identidade, médico, violência).

Representação JSON
{
  "adult": enum (Likelihood),
  "spoof": enum (Likelihood),
  "medical": enum (Likelihood),
  "violence": enum (Likelihood),
  "racy": enum (Likelihood)
}
Campos
adult

enum (Likelihood)

Representa a probabilidade de a imagem conter conteúdo para adultos. O conteúdo para adultos pode conter elementos como nudez, imagens ou desenhos animados pornográficos ou atividades sexuais.

spoof

enum (Likelihood)

Probabilidade de spoofing. A probabilidade de ter sido feita uma modificação à versão canónica da imagem para a tornar engraçada ou ofensiva.

medical

enum (Likelihood)

Probabilidade de se tratar de uma imagem médica.

violence

enum (Likelihood)

Probabilidade de esta imagem conter conteúdo violento.

racy

enum (Likelihood)

Probabilidade de a imagem pedida conter conteúdo picante. O conteúdo picante pode incluir, entre outros, vestuário revelador ou transparente, nudez estrategicamente coberta, poses provocantes ou obscenas, ou close-ups de áreas sensíveis do corpo.

ImageProperties

Armazena propriedades de imagens, como cores dominantes.

Representação JSON
{
  "dominantColors": {
    object (DominantColorsAnnotation)
  }
}
Campos
dominantColors

object (DominantColorsAnnotation)

Se estiver presente, as cores dominantes foram concluídas com êxito.

DominantColorsAnnotation

Conjunto de cores dominantes e as respetivas pontuações.

Representação JSON
{
  "colors": [
    {
      object (ColorInfo)
    }
  ]
}
Campos
colors[]

object (ColorInfo)

Valores de cores RGB com a respetiva pontuação e fração de píxeis.

ColorInfo

As informações de cor consistem em canais RGB, pontuação e a fração da imagem que a cor ocupa na imagem.

Representação JSON
{
  "color": {
    object (Color)
  },
  "score": number,
  "pixelFraction": number
}
Campos
color

object (Color)

Componentes RGB da cor.

score

number

Pontuação específica da imagem para esta cor. Valor no intervalo [0, 1].

pixelFraction

number

A fração de píxeis que a cor ocupa na imagem. Valor no intervalo [0, 1].

Cor

Representa uma cor no espaço de cores RGBA. Esta representação foi concebida para simplificar a conversão de/para representações de cores em vários idiomas em vez de ser compacta. Por exemplo, os campos desta representação podem ser fornecidos trivialmente ao construtor de "java.awt.Color" em Java. Também podem ser fornecidos trivialmente ao método "+colorWithRed:green:blue:alpha" de UIColor no iOS. Além disso, com um pouco de trabalho, podem ser formatados facilmente numa string "rgba()" de CSS em JavaScript.

Nota: este proto não contém informações sobre o espaço de cores absoluto que deve ser usado para interpretar o valor RGB (por exemplo, sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). Por predefinição, as aplicações DEVEM assumir o espaço de cores sRGB.

Exemplo (Java):

 import com.google.type.Color;

 // ...
 public static java.awt.Color fromProto(Color protocolor) {
   float alpha = protocolor.hasAlpha()
       ? protocolor.getAlpha().getValue()
       : 1.0;

   return new java.awt.Color(
       protocolor.getRed(),
       protocolor.getGreen(),
       protocolor.getBlue(),
       alpha);
 }

 public static Color toProto(java.awt.Color color) {
   float red = (float) color.getRed();
   float green = (float) color.getGreen();
   float blue = (float) color.getBlue();
   float denominator = 255.0;
   Color.Builder resultBuilder =
       Color
           .newBuilder()
           .setRed(red / denominator)
           .setGreen(green / denominator)
           .setBlue(blue / denominator);
   int alpha = color.getAlpha();
   if (alpha != 255) {
     result.setAlpha(
         FloatValue
             .newBuilder()
             .setValue(((float) alpha) / denominator)
             .build());
   }
   return resultBuilder.build();
 }
 // ...

Exemplo (iOS / Obj-C):

 // ...
 static UIColor* fromProto(Color* protocolor) {
    float red = [protocolor red];
    float green = [protocolor green];
    float blue = [protocolor blue];
    FloatValue* alpha_wrapper = [protocolor alpha];
    float alpha = 1.0;
    if (alpha_wrapper != nil) {
      alpha = [alpha_wrapper value];
    }
    return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
 }

 static Color* toProto(UIColor* color) {
     CGFloat red, green, blue, alpha;
     if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
       return nil;
     }
     Color* result = [[Color alloc] init];
     [result setRed:red];
     [result setGreen:green];
     [result setBlue:blue];
     if (alpha <= 0.9999) {
       [result setAlpha:floatWrapperWithValue(alpha)];
     }
     [result autorelease];
     return result;
}
// ...

Exemplo (JavaScript):

// ...

var protoToCssColor = function(rgb_color) {
   var redFrac = rgb_color.red || 0.0;
   var greenFrac = rgb_color.green || 0.0;
   var blueFrac = rgb_color.blue || 0.0;
   var red = Math.floor(redFrac * 255);
   var green = Math.floor(greenFrac * 255);
   var blue = Math.floor(blueFrac * 255);

   if (!('alpha' in rgb_color)) {
      return rgbToCssColor_(red, green, blue);
   }

   var alphaFrac = rgb_color.alpha.value || 0.0;
   var rgbParams = [red, green, blue].join(',');
   return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
};

var rgbToCssColor_ = function(red, green, blue) {
  var rgbNumber = new Number((red << 16) | (green << 8) | blue);
  var hexString = rgbNumber.toString(16);
  var missingZeros = 6 - hexString.length;
  var resultBuilder = ['#'];
  for (var i = 0; i < missingZeros; i++) {
     resultBuilder.push('0');
  }
  resultBuilder.push(hexString);
  return resultBuilder.join('');
};

// ...
Representação JSON
{
  "red": number,
  "green": number,
  "blue": number,
  "alpha": number
}
Campos
red

number

A quantidade de vermelho na cor como um valor no intervalo [0, 1].

green

number

A quantidade de verde na cor como um valor no intervalo [0, 1].

blue

number

A quantidade de azul na cor como um valor no intervalo [0, 1].

alpha

number

A fração desta cor que deve ser aplicada ao píxel. Ou seja, a cor final do píxel é definida pela equação:

cor do píxel = alfa * (esta cor) + (1,0 - alfa) * (cor de fundo)

Isto significa que um valor de 1,0 corresponde a uma cor sólida, enquanto um valor de 0,0 corresponde a uma cor completamente transparente. Isto usa uma mensagem de contentor em vez de um escalar flutuante simples para que seja possível distinguir entre um valor predefinido e o valor a ser anulado. Se for omitido, este objeto de cor deve ser renderizado como uma cor sólida (como se o valor alfa tivesse sido explicitamente fornecido com um valor de 1,0).

CropHintsAnnotation

Conjunto de sugestões de recorte que são usadas para gerar novos recortes quando as imagens são publicadas.

Representação JSON
{
  "cropHints": [
    {
      object (CropHint)
    }
  ]
}
Campos
cropHints[]

object (CropHint)

Resultados de sugestões de corte.

CropHint

Sugestão de recorte único usada para gerar um novo recorte quando uma imagem é publicada.

Representação JSON
{
  "boundingPoly": {
    object (BoundingPoly)
  },
  "confidence": number,
  "importanceFraction": number
}
Campos
boundingPoly

object (BoundingPoly)

O polígono delimitador da região de recorte. As coordenadas da caixa delimitadora estão na escala da imagem original.

confidence

number

Confiança de que esta é uma região saliente. Intervalo [0, 1].

importanceFraction

number

Fração de importância desta região saliente relativamente à imagem original.

WebDetection

Informações relevantes para a imagem da Internet.

Representação JSON
{
  "webEntities": [
    {
      object (WebEntity)
    }
  ],
  "fullMatchingImages": [
    {
      object (WebImage)
    }
  ],
  "partialMatchingImages": [
    {
      object (WebImage)
    }
  ],
  "pagesWithMatchingImages": [
    {
      object (WebPage)
    }
  ],
  "visuallySimilarImages": [
    {
      object (WebImage)
    }
  ],
  "bestGuessLabels": [
    {
      object (WebLabel)
    }
  ]
}
Campos
webEntities[]

object (WebEntity)

Entidades deduzidas a partir de imagens semelhantes na Internet.

fullMatchingImages[]

object (WebImage)

Imagens totalmente correspondentes da Internet. Pode incluir cópias redimensionadas da imagem de consulta.

partialMatchingImages[]

object (WebImage)

Imagens com correspondência parcial da Internet. Essas imagens são suficientemente semelhantes para partilharem algumas funcionalidades de pontos-chave. Por exemplo, é provável que uma imagem original tenha uma correspondência parcial para os respetivos recortes.

pagesWithMatchingImages[]

object (WebPage)

Páginas Web que contêm as imagens correspondentes da Internet.

visuallySimilarImages[]

object (WebImage)

Os resultados de imagens visualmente semelhantes.

bestGuessLabels[]

object (WebLabel)

A melhor estimativa do serviço quanto ao tópico da imagem do pedido. Inferidas a partir de imagens semelhantes na Web aberta.

WebEntity

Entidade deduzida a partir de imagens semelhantes na Internet.

Representação JSON
{
  "entityId": string,
  "score": number,
  "description": string
}
Campos
entityId

string

ID de entidade opaco.

score

number

Pontuação de relevância geral da entidade. Não normalizado e não comparável em diferentes consultas de imagens.

description

string

Descrição canónica da entidade, em inglês.

WebImage

Metadados de imagens online.

Representação JSON
{
  "url": string,
  "score": number
}
Campos
url

string

O URL da imagem do resultado.

score

number

(Obsoleto) Classificação de relevância geral da imagem.

WebPage

Metadados para páginas Web.

Representação JSON
{
  "url": string,
  "score": number,
  "pageTitle": string,
  "fullMatchingImages": [
    {
      object (WebImage)
    }
  ],
  "partialMatchingImages": [
    {
      object (WebImage)
    }
  ]
}
Campos
url

string

O URL da página Web do resultado.

score

number

(Obsoleto) Pontuação de relevância geral da página Web.

pageTitle

string

Título da página Web, que pode conter marcações HTML.

fullMatchingImages[]

object (WebImage)

Imagens totalmente correspondentes na página. Pode incluir cópias redimensionadas da imagem de consulta.

partialMatchingImages[]

object (WebImage)

Imagens com correspondência parcial na página. Essas imagens são suficientemente semelhantes para partilharem algumas funcionalidades de pontos-chave. Por exemplo, é provável que uma imagem original tenha uma correspondência parcial para os respetivos recortes.

WebLabel

Etiqueta para fornecer metadados adicionais para a deteção na Web.

Representação JSON
{
  "label": string,
  "languageCode": string
}
Campos
label

string

Etiqueta para metadados adicionais.

languageCode

string

O código de idioma BCP-47 para label, como "en-US" ou "sr-Latn". Para mais informações, consulte http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.

ProductSearchResults

Resultados de um pedido de pesquisa de produtos.

Representação JSON
{
  "indexTime": string,
  "results": [
    {
      object (Result)
    }
  ],
  "productGroupedResults": [
    {
      object (GroupedResult)
    }
  ]
}
Campos
indexTime

string (Timestamp format)

Data/hora do índice que forneceu estes resultados. Os produtos adicionados ao conjunto de produtos e os produtos removidos do conjunto de produtos após este período não se refletem nos resultados atuais.

Uma data/hora no formato "Zulu" UTC RFC3339, com precisão de nanosegundos. Exemplo: "2014-10-02T15:01:23.045123456Z".

results[]

object (Result)

Lista de resultados, um para cada correspondência de produto.

productGroupedResults[]

object (GroupedResult)

Lista de resultados agrupados por produtos detetados na imagem da consulta. Cada entrada corresponde a um polígono delimitador na imagem de consulta e contém os produtos correspondentes específicos dessa região. Podem existir correspondências de produtos duplicadas na união de todos os resultados por produto.

Resultado

Informações sobre um produto.

Representação JSON
{
  "product": {
    object (Product)
  },
  "score": number,
  "image": string
}
Campos
product

object (Product)

O produto.

score

number

Um nível de confiança na correspondência, que varia de 0 (nenhuma confiança) a 1 (confiança total).

image

string

O nome do recurso da imagem do produto que é a correspondência mais próxima da consulta.

GroupedResult

Informações sobre os produtos semelhantes a um único produto numa imagem de consulta.

Representação JSON
{
  "boundingPoly": {
    object (BoundingPoly)
  },
  "results": [
    {
      object (Result)
    }
  ],
  "objectAnnotations": [
    {
      object (ObjectAnnotation)
    }
  ]
}
Campos
boundingPoly

object (BoundingPoly)

O polígono delimitador à volta do produto detetado na imagem da consulta.

results[]

object (Result)

Lista de resultados, um para cada correspondência de produto.

objectAnnotations[]

object (ObjectAnnotation)

Lista de previsões genéricas para o objeto na caixa delimitadora.

ObjectAnnotation

Previsão do que é o objeto na caixa delimitadora.

Representação JSON
{
  "mid": string,
  "languageCode": string,
  "name": string,
  "score": number
}
Campos
mid

string

ID do objeto que deve estar alinhado com o MID de EntityAnnotation.

languageCode

string

O código de idioma BCP-47, como "en-US" ou "sr-Latn". Para mais informações, consulte http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.

name

string

Nome do objeto, expresso no respetivo idioma languageCode.

score

number

Pontuação do resultado. Intervalo [0, 1].

ImageAnnotationContext

Se uma imagem foi produzida a partir de um ficheiro (por exemplo, um PDF), esta mensagem fornece informações sobre a origem dessa imagem.

Representação JSON
{
  "uri": string,
  "pageNumber": number
}
Campos
uri

string

O URI do ficheiro usado para produzir a imagem.

pageNumber

number

Se o ficheiro era um PDF ou um TIFF, este campo indica o número da página no ficheiro usado para produzir a imagem.