AnnotateImageResponse

Respuesta a una solicitud de anotación de imagen.

Representación 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)

Si está presente, la detección facial se ha completado correctamente.

landmarkAnnotations[]

object (EntityAnnotation)

Si está presente, la detección de monumentos se ha completado correctamente.

logoAnnotations[]

object (EntityAnnotation)

Si está presente, la detección del logotipo se ha completado correctamente.

labelAnnotations[]

object (EntityAnnotation)

Si está presente, significa que la detección de etiquetas se ha completado correctamente.

localizedObjectAnnotations[]

object (LocalizedObjectAnnotation)

Si está presente, la detección de objetos localizada se ha completado correctamente. Se ordenarán de forma descendente por puntuación de confianza.

textAnnotations[]

object (EntityAnnotation)

Si está presente, la detección de texto (OCR) se ha completado correctamente.

fullTextAnnotation

object (TextAnnotation)

Si está presente, la detección de texto (OCR) o la detección de texto en documentos (OCR) se ha completado correctamente. Esta anotación proporciona la jerarquía estructural del texto detectado por OCR.

safeSearchAnnotation

object (SafeSearchAnnotation)

Si está presente, la anotación de búsqueda segura se ha completado correctamente.

imagePropertiesAnnotation

object (ImageProperties)

Si está presente, las propiedades de la imagen se han extraído correctamente.

cropHintsAnnotation

object (CropHintsAnnotation)

Si está presente, las sugerencias de recorte se han completado correctamente.

webDetection

object (WebDetection)

Si está presente, la detección web se ha completado correctamente.

productSearchResults

object (ProductSearchResults)

Si está presente, la búsqueda de productos se ha completado correctamente.

error

object (Status)

Si se define, representa el mensaje de error de la operación. Ten en cuenta que las anotaciones de imagen rellenadas son correctas, incluso cuando se ha definido error.

context

object (ImageAnnotationContext)

Si está presente, se necesita información contextual para saber de dónde procede la imagen.

FaceAnnotation

Un objeto de anotación de cara contiene los resultados de la detección de caras.

Representación 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)

Polígono delimitador alrededor de la cara. Las coordenadas del cuadro delimitador están en la escala de la imagen original. El cuadro delimitador se calcula para "encuadrar" la cara de acuerdo con las expectativas de los humanos. Se basa en los resultados de los puntos de referencia. Ten en cuenta que es posible que no se generen una o varias coordenadas X o Y en BoundingPoly (el polígono no tendrá límites) si solo aparece una parte de la cara en la imagen que se va a anotar.

fdBoundingPoly

object (BoundingPoly)

El polígono envolvente fdBoundingPoly es más ajustado que el boundingPoly y solo incluye la parte de la cara que corresponde a la piel. Normalmente, se usa para eliminar la cara de cualquier análisis de imagen que detecte la "cantidad de piel" visible en una imagen. No se basa en los resultados de los puntos de referencia, sino solo en la detección inicial de la cara, por lo que

fd

(detección de caras).

landmarks[]

object (Landmark)

Puntos de referencia de la cara detectados.

rollAngle

number

Ángulo de inclinación, que indica el grado de rotación de la cara en el sentido de las agujas del reloj o en el contrario con respecto a la vertical de la imagen en torno al eje perpendicular a la cara. Intervalo [-180,180].

panAngle

number

Ángulo de guiño, que indica el ángulo hacia la izquierda o hacia la derecha al que mira la cara con respecto al plano vertical perpendicular a la imagen. Intervalo [-180,180].

tiltAngle

number

Ángulo de inclinación, que indica el ángulo hacia arriba o hacia abajo al que apunta la cara con respecto al plano horizontal de la imagen. Intervalo [-180,180].

detectionConfidence

number

Confianza de detección. Intervalo [0, 1].

landmarkingConfidence

number

Confianza de los puntos de referencia faciales. Intervalo [0, 1].

joyLikelihood

enum (Likelihood)

Probabilidad de alegría.

sorrowLikelihood

enum (Likelihood)

Probabilidad de tristeza.

angerLikelihood

enum (Likelihood)

Probabilidad de enfado.

surpriseLikelihood

enum (Likelihood)

Probabilidad de sorpresa.

underExposedLikelihood

enum (Likelihood)

Probabilidad de que no se muestren suficientes anuncios.

blurredLikelihood

enum (Likelihood)

Probabilidad de desenfoque.

headwearLikelihood

enum (Likelihood)

Probabilidad de llevar accesorios para la cabeza.

Punto de referencia

Un punto de referencia específico de la cara (por ejemplo, un rasgo facial).

Representación JSON
{
  "type": enum (Type),
  "position": {
    object (Position)
  }
}
Campos
type

enum (Type)

Tipo de punto de referencia facial.

position

object (Position)

Posición de los puntos de referencia de la cara.

Tipo

Tipo de punto de referencia (característica) facial. La izquierda y la derecha se definen desde el punto de vista de la persona que ve la imagen, sin tener en cuenta las proyecciones de espejo típicas de las fotos. Por lo tanto, LEFT_EYE suele ser el ojo derecho de la persona.

Enumeraciones
UNKNOWN_LANDMARK Se ha detectado un punto de referencia facial desconocido. No debe rellenarse.
LEFT_EYE Ojo izquierdo.
RIGHT_EYE Ojo derecho.
LEFT_OF_LEFT_EYEBROW A la izquierda de la ceja izquierda.
RIGHT_OF_LEFT_EYEBROW A la derecha de la ceja izquierda.
LEFT_OF_RIGHT_EYEBROW A la izquierda de la ceja derecha.
RIGHT_OF_RIGHT_EYEBROW Derecha de la ceja derecha.
MIDPOINT_BETWEEN_EYES Punto medio entre los ojos.
NOSE_TIP Punta de la nariz.
UPPER_LIP Labio superior.
LOWER_LIP Labio inferior.
MOUTH_LEFT Boca a la izquierda.
MOUTH_RIGHT Boca a la derecha.
MOUTH_CENTER Centro de la boca.
NOSE_BOTTOM_RIGHT Nariz, abajo a la derecha.
NOSE_BOTTOM_LEFT Nariz, abajo a la izquierda.
NOSE_BOTTOM_CENTER Nariz, parte inferior central.
LEFT_EYE_TOP_BOUNDARY Borde superior del ojo izquierdo.
LEFT_EYE_RIGHT_CORNER Ojo izquierdo, esquina derecha.
LEFT_EYE_BOTTOM_BOUNDARY Borde inferior del ojo izquierdo.
LEFT_EYE_LEFT_CORNER Ojo izquierdo, esquina izquierda.
RIGHT_EYE_TOP_BOUNDARY Borde superior del ojo derecho.
RIGHT_EYE_RIGHT_CORNER Ojo derecho, esquina derecha.
RIGHT_EYE_BOTTOM_BOUNDARY Ojo derecho, límite inferior.
RIGHT_EYE_LEFT_CORNER Ojo derecho, esquina izquierda.
LEFT_EYEBROW_UPPER_MIDPOINT Parte superior central de la ceja izquierda.
RIGHT_EYEBROW_UPPER_MIDPOINT Cejas derecha, punto medio superior.
LEFT_EAR_TRAGION Trago de la oreja izquierda.
RIGHT_EAR_TRAGION Trago de la oreja derecha.
LEFT_EYE_PUPIL Pupila del ojo izquierdo.
RIGHT_EYE_PUPIL Pupila del ojo derecho.
FOREHEAD_GLABELLA Entrecejo.
CHIN_GNATHION Mentón (gnation).
CHIN_LEFT_GONION Mentón izquierdo.
CHIN_RIGHT_GONION Mentón derecho.

Posición

Una posición 3D en la imagen, que se usa principalmente para los puntos de referencia de la detección de caras. Una posición válida debe tener coordenadas x e y. Las coordenadas de posición están en la misma escala que la imagen original.

Representación JSON
{
  "x": number,
  "y": number,
  "z": number
}
Campos
x

number

Coordenada X.

y

number

Coordenada Y.

z

number

Coordenada Z (o profundidad).

Likelihood

Representación en contenedores de la probabilidad, cuyo objetivo es ofrecer a los clientes resultados muy estables en las actualizaciones del modelo.

Enumeraciones
UNKNOWN Probabilidad desconocida.
VERY_UNLIKELY Es muy poco probable.
UNLIKELY Es poco probable.
POSSIBLE Es posible.
LIKELY Es probable.
VERY_LIKELY Es muy probable.

EntityAnnotation

Conjunto de características de la entidad detectada.

Representación 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 entidad opaco. Algunos IDs pueden estar disponibles en la API Search de gráfico de conocimiento de Google.

locale

string

Código de idioma de la configuración regional en la que se expresa el texto de la entidad description.

description

string

Descripción textual de la entidad, expresada en su idioma locale.

score

number

Puntuación general del resultado. Intervalo [0, 1].

confidence
(deprecated)

number

Obsoleto. En su lugar, usa score. La precisión de la detección de entidades en una imagen. Por ejemplo, en una imagen en la que se detecta la entidad "Torre Eiffel", este campo representa la confianza de que hay una torre en la imagen de la consulta. Intervalo [0, 1].

topicality

number

La relevancia de la etiqueta ICA (anotación de contenido de imagen) para la imagen. Por ejemplo, la relevancia de "torre" es probablemente mayor para una imagen que contiene la "Torre Eiffel" detectada que para una imagen que contiene un edificio alto detectado a lo lejos, aunque la confianza de que hay una torre en cada imagen sea la misma. Intervalo [0, 1].

boundingPoly

object (BoundingPoly)

Región de la imagen a la que pertenece esta entidad. No se ha producido para las funciones de LABEL_DETECTION.

locations[]

object (LocationInfo)

Información de la ubicación de la entidad detectada. Puede haber varios elementos LocationInfo, ya que una ubicación puede indicar el lugar de la escena de la imagen y otra, el lugar donde se tomó la imagen. La información de ubicación suele estar disponible para los puntos de referencia.

properties[]

object (Property)

Algunas entidades pueden tener campos Property (nombre/valor) opcionales proporcionados por el usuario, como una puntuación o una cadena que califique a la entidad.

LocationInfo

Información de la ubicación de la entidad detectada.

Representación JSON
{
  "latLng": {
    object (LatLng)
  }
}
Campos
latLng

object (LatLng)

Coordenadas de latitud y longitud de la ubicación.

Propiedad

Un Property consta de un par nombre/valor proporcionado por el usuario.

Representación JSON
{
  "name": string,
  "value": string,
  "uint64Value": string
}
Campos
name

string

Nombre de la propiedad.

value

string

Valor de la propiedad.

uint64Value

string

Valor de las propiedades numéricas.

LocalizedObjectAnnotation

Conjunto de objetos detectados con cuadros delimitadores.

Representación JSON
{
  "mid": string,
  "languageCode": string,
  "name": string,
  "score": number,
  "boundingPoly": {
    object (BoundingPoly)
  }
}
Campos
mid

string

ID de objeto que debe coincidir con el MID de EntityAnnotation.

languageCode

string

Se trata del código de idioma BCP-47, como "en-US" o "sr-Latn". Para obtener más información, consulta http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.

name

string

Nombre del objeto, expresado en el idioma languageCode.

score

number

Puntuación del resultado. Intervalo [0, 1].

boundingPoly

object (BoundingPoly)

Región de la imagen a la que pertenece este objeto. Este campo es obligatorio.

TextAnnotation

TextAnnotation contiene una representación estructurada del texto extraído mediante OCR. La jerarquía de una estructura de texto extraída por OCR es la siguiente: TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol. Cada componente estructural, empezando por Page, puede tener sus propias propiedades. Las propiedades describen los idiomas detectados, los saltos, etc. Consulta la TextAnnotation.TextPropertydefinición del mensaje que aparece más abajo para obtener más información.

Representación JSON
{
  "pages": [
    {
      object (Page)
    }
  ],
  "text": string
}
Campos
pages[]

object (Page)

Lista de páginas detectadas por OCR.

text

string

Se ha detectado texto UTF-8 en las páginas.

Página

Página detectada mediante OCR.

Representación JSON
{
  "property": {
    object (TextProperty)
  },
  "width": number,
  "height": number,
  "blocks": [
    {
      object (Block)
    }
  ],
  "confidence": number
}
Campos
property

object (TextProperty)

Se ha detectado información adicional en la página.

width

number

Ancho de la página. En el caso de los PDFs, la unidad son puntos. En el caso de las imágenes (incluidos los TIFFs), la unidad son los píxeles.

height

number

Altura de la página. En el caso de los PDFs, la unidad son puntos. En el caso de las imágenes (incluidos los TIFFs), la unidad son los píxeles.

blocks[]

object (Block)

Lista de bloques de texto, imágenes, etc. de esta página.

confidence

number

Confianza de los resultados de OCR en la página. Intervalo [0, 1].

TextProperty

Se ha detectado información adicional en el componente estructural.

Representación JSON
{
  "detectedLanguages": [
    {
      object (DetectedLanguage)
    }
  ],
  "detectedBreak": {
    object (DetectedBreak)
  }
}
Campos
detectedLanguages[]

object (DetectedLanguage)

Lista de idiomas detectados junto con la confianza.

detectedBreak

object (DetectedBreak)

Se ha detectado el inicio o el final de un segmento de texto.

Idioma detectado

Idioma detectado de un componente estructural.

Representación JSON
{
  "languageCode": string,
  "confidence": number
}
Campos
languageCode

string

Se trata del código de idioma BCP-47, como "en-US" o "sr-Latn". Para obtener más información, consulta http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.

confidence

number

Confianza del idioma detectado. Intervalo [0, 1].

DetectedBreak

Se ha detectado el inicio o el final de un componente estructural.

Representación JSON
{
  "type": enum (BreakType),
  "isPrefix": boolean
}
Campos
type

enum (BreakType)

Tipo de salto detectado.

isPrefix

boolean

Devuelve el valor true si el salto precede al elemento.

BreakType

Enum para indicar el tipo de salto encontrado. Nueva línea, espacio, etc.

Enumeraciones
UNKNOWN Tipo de etiqueta de salto desconocido.
SPACE Espacio normal.
SURE_SPACE Espacio seguro (muy amplio).
EOL_SURE_SPACE Salto de ajuste de línea.
HYPHEN Guion de final de línea que no está presente en el texto. No se da simultáneamente con SPACE, LEADER_SPACE ni LINE_BREAK.
LINE_BREAK Salto de línea que termina un párrafo.

Bloquear

Elemento lógico de la página.

Representación JSON
{
  "property": {
    object (TextProperty)
  },
  "boundingBox": {
    object (BoundingPoly)
  },
  "paragraphs": [
    {
      object (Paragraph)
    }
  ],
  "blockType": enum (BlockType),
  "confidence": number
}
Campos
property

object (TextProperty)

Se ha detectado información adicional sobre el bloque.

boundingBox

object (BoundingPoly)

Cuadro delimitador del bloque. Los vértices se indican en el siguiente orden: superior izquierda, superior derecha, inferior derecha e inferior izquierda. Cuando se detecta una rotación del cuadro delimitador, se representa alrededor de la esquina superior izquierda, tal como se define cuando el texto se lee en la orientación "natural". Por ejemplo:

  • Si el texto es horizontal, puede tener este aspecto:
    0----1
    |    |
    3----2
  • Cuando se gira 180 grados alrededor de la esquina superior izquierda, se convierte en lo siguiente:
    2----3
    |    |
    1----0

y el orden de los vértices seguirá siendo (0, 1, 2, 3).

paragraphs[]

object (Paragraph)

Lista de párrafos de este bloque (si el bloque es de tipo texto).

blockType

enum (BlockType)

Tipo de bloque detectado (texto, imagen, etc.) de este bloque.

confidence

number

Confianza de los resultados de OCR en el bloque. Intervalo [0, 1].

Párrafo

Unidad estructural de texto que representa un número de palabras en un orden determinado.

Representación JSON
{
  "property": {
    object (TextProperty)
  },
  "boundingBox": {
    object (BoundingPoly)
  },
  "words": [
    {
      object (Word)
    }
  ],
  "confidence": number
}
Campos
property

object (TextProperty)

Información adicional detectada en el párrafo.

boundingBox

object (BoundingPoly)

El cuadro delimitador del párrafo. Los vértices se indican en el siguiente orden: superior izquierda, superior derecha, inferior derecha e inferior izquierda. Cuando se detecta una rotación del cuadro delimitador, se representa alrededor de la esquina superior izquierda, tal como se define cuando el texto se lee en la orientación "natural". Por ejemplo: * Si el texto es horizontal, podría tener este aspecto: 0----1 | | 3----2 * Si se gira 180 grados alrededor de la esquina superior izquierda, se convierte en: 2----3 | | 1----0 y el orden de los vértices seguirá siendo (0, 1, 2, 3).

words[]

object (Word)

Lista de todas las palabras de este párrafo.

confidence

number

Confianza de los resultados de OCR del párrafo. Intervalo [0, 1].

Word

Representación de una palabra.

Representación JSON
{
  "property": {
    object (TextProperty)
  },
  "boundingBox": {
    object (BoundingPoly)
  },
  "symbols": [
    {
      object (Symbol)
    }
  ],
  "confidence": number
}
Campos
property

object (TextProperty)

Se ha detectado información adicional sobre la palabra.

boundingBox

object (BoundingPoly)

El cuadro delimitador de la palabra. Los vértices se indican en el siguiente orden: superior izquierda, superior derecha, inferior derecha e inferior izquierda. Cuando se detecta una rotación del cuadro delimitador, se representa alrededor de la esquina superior izquierda, tal como se define cuando el texto se lee en la orientación "natural". Por ejemplo: * Si el texto es horizontal, podría tener este aspecto: 0----1 | | 3----2 * Si se gira 180 grados alrededor de la esquina superior izquierda, se convierte en: 2----3 | | 1----0 y el orden de los vértices seguirá siendo (0, 1, 2, 3).

symbols[]

object (Symbol)

Lista de símbolos de la palabra. El orden de los símbolos sigue el orden de lectura natural.

confidence

number

Confianza de los resultados de OCR de la palabra. Intervalo [0, 1].

Símbolo

Representación de un solo símbolo.

Representación JSON
{
  "property": {
    object (TextProperty)
  },
  "boundingBox": {
    object (BoundingPoly)
  },
  "text": string,
  "confidence": number
}
Campos
property

object (TextProperty)

Se ha detectado información adicional sobre el símbolo.

boundingBox

object (BoundingPoly)

Cuadro delimitador del símbolo. Los vértices se indican en el siguiente orden: superior izquierda, superior derecha, inferior derecha e inferior izquierda. Cuando se detecta una rotación del cuadro delimitador, se representa alrededor de la esquina superior izquierda, tal como se define cuando el texto se lee en la orientación "natural". Por ejemplo: * Si el texto es horizontal, podría tener este aspecto: 0----1 | | 3----2 * Si se gira 180 grados alrededor de la esquina superior izquierda, se convierte en: 2----3 | | 1----0 y el orden de los vértices seguirá siendo (0, 1, 2, 3).

text

string

La representación UTF-8 real del símbolo.

confidence

number

Confianza de los resultados de OCR del símbolo. Intervalo [0, 1].

BlockType

Tipo de bloque (texto, imagen, etc.) identificado por el OCR.

Enumeraciones
UNKNOWN Tipo de bloque desconocido.
TEXT Bloque de texto normal.
TABLE Bloque de tabla.
PICTURE Bloque de imagen.
RULER Cuadro de línea horizontal o vertical.
BARCODE Bloque de código de barras.

SafeSearchAnnotation

Conjunto de funciones relacionadas con la imagen, calculadas mediante métodos de visión artificial en verticales de búsqueda segura (por ejemplo, contenido para adultos, falsificaciones, contenido médico o violencia).

Representación JSON
{
  "adult": enum (Likelihood),
  "spoof": enum (Likelihood),
  "medical": enum (Likelihood),
  "violence": enum (Likelihood),
  "racy": enum (Likelihood)
}
Campos
adult

enum (Likelihood)

Representa la probabilidad de que la imagen incluya contenido para adultos. El contenido para adultos puede incluir elementos como desnudos, imágenes o dibujos pornográficos, o actividades sexuales.

spoof

enum (Likelihood)

Probabilidad de suplantación. Probabilidad de que se haya modificado la versión canónica de la imagen para que parezca divertida u ofensiva.

medical

enum (Likelihood)

Probabilidad de que se trate de una imagen médica.

violence

enum (Likelihood)

Probabilidad de que esta imagen incluya contenido violento.

racy

enum (Likelihood)

Probabilidad de que la imagen de la solicitud incluya contenido subido de tono. El contenido subido de tono puede incluir, entre otros, ropa escasa o transparente, desnudos cubiertos estratégicamente, posturas lascivas o provocativas, o primeros planos de zonas sensibles del cuerpo.

ImageProperties

Almacena propiedades de la imagen, como los colores predominantes.

Representación JSON
{
  "dominantColors": {
    object (DominantColorsAnnotation)
  }
}
Campos
dominantColors

object (DominantColorsAnnotation)

Si está presente, los colores dominantes se han completado correctamente.

DominantColorsAnnotation

Conjunto de colores predominantes y sus puntuaciones correspondientes.

Representación JSON
{
  "colors": [
    {
      object (ColorInfo)
    }
  ]
}
Campos
colors[]

object (ColorInfo)

Valores de color RGB con su puntuación y fracción de píxeles.

ColorInfo

La información de color consta de canales RGB, una puntuación y la fracción de la imagen que ocupa el color en la imagen.

Representación JSON
{
  "color": {
    object (Color)
  },
  "score": number,
  "pixelFraction": number
}
Campos
color

object (Color)

Componentes RGB del color.

score

number

Puntuación específica de la imagen para este color. Valor en el intervalo [0, 1].

pixelFraction

number

La fracción de píxeles que ocupa el color en la imagen. Valor en el intervalo [0, 1].

Color

Representa un color en el espacio de color RGBA. Esta representación se ha diseñado para que sea fácil convertirla a representaciones de color en varios idiomas y viceversa, en lugar de para que sea compacta. Por ejemplo, los campos de esta representación se pueden proporcionar de forma trivial al constructor de "java.awt.Color" en Java. También se pueden proporcionar de forma trivial al método "+colorWithRed:green:blue:alpha" de UIColor en iOS. Además, con un poco de trabajo, se puede dar formato fácilmente a una cadena "rgba()" de CSS en JavaScript.

Nota: Este proto no incluye información sobre el espacio de color absoluto que se debe usar para interpretar el valor RGB (por ejemplo, sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). De forma predeterminada, las aplicaciones DEBEN asumir el espacio de color sRGB.

Ejemplo (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();
 }
 // ...

Ejemplo (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;
}
// ...

Ejemplo (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('');
};

// ...
Representación JSON
{
  "red": number,
  "green": number,
  "blue": number,
  "alpha": number
}
Campos
red

number

Cantidad de rojo del color como valor en el intervalo [0, 1].

green

number

Cantidad de verde del color como valor en el intervalo [0, 1].

blue

number

Cantidad de azul del color como valor del intervalo [0, 1].

alpha

number

La fracción de este color que se debe aplicar al píxel. Es decir, el color final del píxel se define mediante la siguiente ecuación:

color del píxel = alfa * (este color) + (1,0 - alfa) * (color de fondo)

Esto significa que el valor 1,0 corresponde a un color sólido, mientras que el valor 0,0 corresponde a un color completamente transparente. Se usa un mensaje de envoltorio en lugar de un escalar flotante simple para que se pueda distinguir entre un valor predeterminado y el valor que no se ha definido. Si se omite, este objeto de color se renderizará como un color sólido (como si el valor alfa se hubiera proporcionado explícitamente con un valor de 1.0).

CropHintsAnnotation

Conjunto de sugerencias de recorte que se usan para generar nuevos recortes al servir imágenes.

Representación JSON
{
  "cropHints": [
    {
      object (CropHint)
    }
  ]
}
Campos
cropHints[]

object (CropHint)

Resultados de las pistas de recorte.

CropHint

Sugerencia de recorte único que se usa para generar un nuevo recorte al servir una imagen.

Representación JSON
{
  "boundingPoly": {
    object (BoundingPoly)
  },
  "confidence": number,
  "importanceFraction": number
}
Campos
boundingPoly

object (BoundingPoly)

Polígono delimitador de la zona de recorte. Las coordenadas del cuadro delimitador están en la escala de la imagen original.

confidence

number

Confianza de que se trata de una región destacada. Intervalo [0, 1].

importanceFraction

number

Fracción de la importancia de esta región destacada con respecto a la imagen original.

WebDetection

Información relevante sobre la imagen de Internet.

Representación JSON
{
  "webEntities": [
    {
      object (WebEntity)
    }
  ],
  "fullMatchingImages": [
    {
      object (WebImage)
    }
  ],
  "partialMatchingImages": [
    {
      object (WebImage)
    }
  ],
  "pagesWithMatchingImages": [
    {
      object (WebPage)
    }
  ],
  "visuallySimilarImages": [
    {
      object (WebImage)
    }
  ],
  "bestGuessLabels": [
    {
      object (WebLabel)
    }
  ]
}
Campos
webEntities[]

object (WebEntity)

Entidades deducidas a partir de imágenes similares en Internet.

fullMatchingImages[]

object (WebImage)

Imágenes que coinciden totalmente de Internet. Puede incluir copias de la imagen de consulta con un tamaño diferente.

partialMatchingImages[]

object (WebImage)

Imágenes coincidentes parciales de Internet. Esas imágenes son lo suficientemente similares como para compartir algunas características de puntos clave. Por ejemplo, es probable que una imagen original tenga coincidencias parciales con sus recortes.

pagesWithMatchingImages[]

object (WebPage)

Páginas web que contienen las imágenes coincidentes de Internet.

visuallySimilarImages[]

object (WebImage)

Los resultados de imágenes visualmente similares.

bestGuessLabels[]

object (WebLabel)

La mejor estimación del servicio sobre el tema de la imagen solicitada. Se infiere a partir de imágenes similares de la Web abierta.

WebEntity

Entidad deducida a partir de imágenes similares en Internet.

Representación JSON
{
  "entityId": string,
  "score": number,
  "description": string
}
Campos
entityId

string

ID de entidad opaco.

score

number

Puntuación de relevancia general de la entidad. No está normalizada y no se puede comparar entre diferentes consultas de imágenes.

description

string

Descripción canónica de la entidad en inglés.

WebImage

Metadatos de imágenes online.

Representación JSON
{
  "url": string,
  "score": number
}
Campos
url

string

URL de la imagen de resultado.

score

number

(Obsoleto) Puntuación de relevancia general de la imagen.

WebPage

Metadatos de páginas web.

Representación JSON
{
  "url": string,
  "score": number,
  "pageTitle": string,
  "fullMatchingImages": [
    {
      object (WebImage)
    }
  ],
  "partialMatchingImages": [
    {
      object (WebImage)
    }
  ]
}
Campos
url

string

La URL de la página web de resultados.

score

number

(Obsoleto) Puntuación de relevancia general de la página web.

pageTitle

string

Título de la página web. Puede contener marcas HTML.

fullMatchingImages[]

object (WebImage)

Imágenes de la página que coinciden por completo. Puede incluir copias de la imagen de consulta con un tamaño diferente.

partialMatchingImages[]

object (WebImage)

Imágenes de la página que coinciden parcialmente. Esas imágenes son lo suficientemente similares como para compartir algunas características de puntos clave. Por ejemplo, es probable que una imagen original tenga coincidencias parciales con sus recortes.

WebLabel

Etiqueta para proporcionar metadatos adicionales para la detección web.

Representación JSON
{
  "label": string,
  "languageCode": string
}
Campos
label

string

Etiqueta de metadatos adicionales.

languageCode

string

El código de idioma BCP-47 de label, como "en-US" o "sr-Latn". Para obtener más información, consulta http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.

ProductSearchResults

Resultados de una solicitud de búsqueda de producto.

Representación JSON
{
  "indexTime": string,
  "results": [
    {
      object (Result)
    }
  ],
  "productGroupedResults": [
    {
      object (GroupedResult)
    }
  ]
}
Campos
indexTime

string (Timestamp format)

Marca de tiempo del índice que ha proporcionado estos resultados. Los productos que se hayan añadido o quitado del conjunto de productos después de esa hora no se reflejarán en los resultados actuales.

Marca de tiempo en formato RFC3339 UTC "Zulú", con precisión en nanosegundos. Ejemplo: "2014-10-02T15:01:23.045123456Z"

results[]

object (Result)

Lista de resultados, uno por cada producto coincidente.

productGroupedResults[]

object (GroupedResult)

Lista de resultados agrupados por los productos detectados en la imagen de la consulta. Cada entrada corresponde a un polígono envolvente de la imagen de consulta y contiene los productos coincidentes específicos de esa región. Puede haber coincidencias de productos duplicadas en la unión de todos los resultados por producto.

Resultado

Información sobre un producto.

Representación JSON
{
  "product": {
    object (Product)
  },
  "score": number,
  "image": string
}
Campos
product

object (Product)

El Producto.

score

number

Nivel de confianza de la coincidencia, que va de 0 (sin confianza) a 1 (confianza total).

image

string

Nombre de recurso de la imagen del producto que más se ajusta a la consulta.

GroupedResult

Información sobre los productos similares a un solo producto de una imagen de consulta.

Representación JSON
{
  "boundingPoly": {
    object (BoundingPoly)
  },
  "results": [
    {
      object (Result)
    }
  ],
  "objectAnnotations": [
    {
      object (ObjectAnnotation)
    }
  ]
}
Campos
boundingPoly

object (BoundingPoly)

El polígono delimitador que rodea el producto detectado en la imagen de consulta.

results[]

object (Result)

Lista de resultados, uno por cada producto coincidente.

objectAnnotations[]

object (ObjectAnnotation)

Lista de predicciones genéricas del objeto del cuadro delimitador.

ObjectAnnotation

Predicción de lo que es el objeto del cuadro delimitador.

Representación JSON
{
  "mid": string,
  "languageCode": string,
  "name": string,
  "score": number
}
Campos
mid

string

ID de objeto que debe coincidir con el MID de EntityAnnotation.

languageCode

string

Se trata del código de idioma BCP-47, como "en-US" o "sr-Latn". Para obtener más información, consulta http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.

name

string

Nombre del objeto, expresado en el idioma languageCode.

score

number

Puntuación del resultado. Intervalo [0, 1].

ImageAnnotationContext

Si una imagen se ha generado a partir de un archivo (por ejemplo, un PDF), este mensaje proporciona información sobre la fuente de la imagen.

Representación JSON
{
  "uri": string,
  "pageNumber": number
}
Campos
uri

string

El URI del archivo usado para generar la imagen.

pageNumber

number

Si el archivo era un PDF o un TIFF, este campo indica el número de página del archivo que se ha usado para generar la imagen.