AnnotateImageResponse

Risposta a una richiesta di annotazione di immagini.

Rappresentazione 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)
  }
}
Campi
faceAnnotations[]

object (FaceAnnotation)

Se presente, il rilevamento del volto è stato completato correttamente.

landmarkAnnotations[]

object (EntityAnnotation)

Se presente, il rilevamento di punti di riferimento è stato completato correttamente.

logoAnnotations[]

object (EntityAnnotation)

Se presente, il rilevamento del logo è stato completato correttamente.

labelAnnotations[]

object (EntityAnnotation)

Se presente, il rilevamento delle etichette è stato completato correttamente.

localizedObjectAnnotations[]

object (LocalizedObjectAnnotation)

Se presente, il rilevamento di oggetti localizzati è stato completato correttamente. I risultati verranno ordinati in ordine decrescente in base al punteggio di attendibilità.

textAnnotations[]

object (EntityAnnotation)

Se presente, il rilevamento del testo (OCR) è stato completato correttamente.

fullTextAnnotation

object (TextAnnotation)

Se presente, il rilevamento del testo (OCR) o del testo del documento (OCR) è stato completato correttamente. Questa annotazione fornisce la gerarchia strutturale del testo rilevato tramite OCR.

safeSearchAnnotation

object (SafeSearchAnnotation)

Se presente, l'annotazione SafeSearch è stata completata correttamente.

imagePropertiesAnnotation

object (ImageProperties)

Se presenti, le proprietà delle immagini sono state estratte correttamente.

cropHintsAnnotation

object (CropHintsAnnotation)

Se presenti, i suggerimenti di ritaglio sono stati completati correttamente.

webDetection

object (WebDetection)

Se presente, il rilevamento web è stato completato correttamente.

productSearchResults

object (ProductSearchResults)

Se presente, la ricerca dei prodotti è stata completata correttamente.

error

object (Status)

Se impostato, rappresenta il messaggio di errore per l'operazione. Tieni presente che le annotazioni delle immagini compilate sono garantite come corrette, anche quando è impostato error.

context

object (ImageAnnotationContext)

Se presenti, sono necessarie informazioni contestuali per capire da dove proviene l'immagine.

FaceAnnotation

Un oggetto di annotazione del volto contiene i risultati del rilevamento dei volti.

Rappresentazione 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)
}
Campi
boundingPoly

object (BoundingPoly)

Il poligono di delimitazione intorno al viso. Le coordinate del riquadro di delimitazione sono nella scala dell'immagine originale. Il riquadro di delimitazione viene calcolato per "inquadrare" il volto in base alle aspettative umane. Si basa sui risultati dei landmark. Tieni presente che una o più coordinate x e/o y potrebbero non essere generate in BoundingPoly (il poligono non avrà limiti) se nell'immagine da annotare è visibile solo una parte del volto.

fdBoundingPoly

object (BoundingPoly)

Il poligono di contenimento fdBoundingPoly è più stretto di boundingPoly e racchiude solo la parte della pelle del viso. In genere, viene utilizzato per eliminare il volto da qualsiasi analisi di immagini che rileva la "quantità di pelle" visibile in un'immagine. Non si basa sui risultati dei landmark, ma solo sul rilevamento iniziale dei volti, da qui

fd

(Rilevamento facciale) prefisso.

landmarks[]

object (Landmark)

Sono stati rilevati i punti di riferimento del viso.

rollAngle

number

Angolo di inclinazione, che indica l'entità della rotazione in senso orario/antiorario del volto rispetto al verticale dell'immagine sull'asse perpendicolare al volto. Intervallo [-180,180].

panAngle

number

Angolo di imbardata, che indica l'angolo verso sinistra/destra verso cui è rivolto il volto rispetto al piano verticale perpendicolare all'immagine. Intervallo [-180,180].

tiltAngle

number

Angolo di inclinazione, che indica l'angolo verso l'alto/verso il basso in cui è rivolto il volto rispetto al piano orizzontale dell'immagine. Intervallo [-180,180].

detectionConfidence

number

Affidabilità del rilevamento. Intervallo [0, 1].

landmarkingConfidence

number

Affidabilità dell'identificazione dei punti di riferimento del volto. Intervallo [0, 1].

joyLikelihood

enum (Likelihood)

Probabilità di gioia.

sorrowLikelihood

enum (Likelihood)

Probabilità di delusione.

angerLikelihood

enum (Likelihood)

Probabilità di rabbia.

surpriseLikelihood

enum (Likelihood)

Probabilità di sorpresa.

underExposedLikelihood

enum (Likelihood)

Probabilità di sottoesposizione.

blurredLikelihood

enum (Likelihood)

Probabilità sfocata.

headwearLikelihood

enum (Likelihood)

Probabilità di indossare un copricapo.

Punto di riferimento

Un punto di riferimento specifico per il volto (ad esempio, un tratto del viso).

Rappresentazione JSON
{
  "type": enum (Type),
  "position": {
    object (Position)
  }
}
Campi
type

enum (Type)

Tipo di punto di riferimento del viso.

position

object (Position)

Posizione del punto di riferimento del volto.

Tipo

Tipo di punto di riferimento (elemento) del viso. Sinistra e destra sono definiti dal punto di vista dell'osservatore dell'immagine senza considerare le proiezioni speculari tipiche delle foto. Quindi, in genere, LEFT_EYE è l'occhio destro della persona.

Enum
UNKNOWN_LANDMARK È stato rilevato un punto di riferimento del volto sconosciuto. Non deve essere compilato.
LEFT_EYE Occhio sinistro.
RIGHT_EYE Occhio destro.
LEFT_OF_LEFT_EYEBROW A sinistra dell'arcata sopracciliare sinistra.
RIGHT_OF_LEFT_EYEBROW A destra dell'arcata sopracciliare sinistra.
LEFT_OF_RIGHT_EYEBROW A sinistra dell'arcata sopracciliare destra.
RIGHT_OF_RIGHT_EYEBROW A destra dell'arcata sopracciliare destra.
MIDPOINT_BETWEEN_EYES Punto intermedio tra gli occhi.
NOSE_TIP La punta del naso.
UPPER_LIP Labbro superiore.
LOWER_LIP Labbro inferiore.
MOUTH_LEFT Bocca a sinistra.
MOUTH_RIGHT Bocca a destra.
MOUTH_CENTER Al centro della bocca.
NOSE_BOTTOM_RIGHT Naso, in basso a destra.
NOSE_BOTTOM_LEFT Naso, in basso a sinistra.
NOSE_BOTTOM_CENTER Naso, in basso al centro.
LEFT_EYE_TOP_BOUNDARY Occhio sinistro, confine superiore.
LEFT_EYE_RIGHT_CORNER Occhio sinistro, angolo a destra.
LEFT_EYE_BOTTOM_BOUNDARY Occhio sinistro, bordo inferiore.
LEFT_EYE_LEFT_CORNER Occhio sinistro, angolo sinistro.
RIGHT_EYE_TOP_BOUNDARY Occhio destro, bordo superiore.
RIGHT_EYE_RIGHT_CORNER Occhio destro, angolo destro.
RIGHT_EYE_BOTTOM_BOUNDARY Occhio destro, confine inferiore.
RIGHT_EYE_LEFT_CORNER Occhio destro, angolo a sinistra.
LEFT_EYEBROW_UPPER_MIDPOINT Sopracciglio sinistro, punto intermedio superiore.
RIGHT_EYEBROW_UPPER_MIDPOINT Sopracciglio destro, punto intermedio superiore.
LEFT_EAR_TRAGION Trago dell'orecchio sinistro.
RIGHT_EAR_TRAGION Trago dell'orecchio destro.
LEFT_EYE_PUPIL Pupilla dell'occhio sinistro.
RIGHT_EYE_PUPIL Pupilla dell'occhio destro.
FOREHEAD_GLABELLA Fronte, glabella.
CHIN_GNATHION Mento gnatione.
CHIN_LEFT_GONION Goniomansio sinistro del mento.
CHIN_RIGHT_GONION Goniomansio destro del mento.

Posizione

Una posizione 3D nell'immagine, utilizzata principalmente per i punti di riferimento del rilevamento dei volti. Una posizione valida deve avere sia le coordinate x che quelle y. Le coordinate di posizione sono nella stessa scala dell'immagine originale.

Rappresentazione JSON
{
  "x": number,
  "y": number,
  "z": number
}
Campi
x

number

Coordinata X.

y

number

Coordinata Y.

z

number

Coordinata Z (o profondità).

Probabilità

Una rappresentazione bucketizzata della probabilità, che ha lo scopo di fornire ai clienti risultati altamente stabili durante gli upgrade dei modelli.

Enum
UNKNOWN Probabilità sconosciuta.
VERY_UNLIKELY È molto improbabile.
UNLIKELY È improbabile.
POSSIBLE È possibile.
LIKELY È probabile.
VERY_LIKELY È molto probabile.

EntityAnnotation

Insieme di funzionalità delle entità rilevate.

Rappresentazione JSON
{
  "mid": string,
  "locale": string,
  "description": string,
  "score": number,
  "confidence": number,
  "topicality": number,
  "boundingPoly": {
    object (BoundingPoly)
  },
  "locations": [
    {
      object (LocationInfo)
    }
  ],
  "properties": [
    {
      object (Property)
    }
  ]
}
Campi
mid

string

ID entità opaco. Alcuni ID potrebbero essere disponibili nell'API Search di Knowledge Graph di Google.

locale

string

Il codice lingua per le impostazioni internazionali in cui è espresso il testo dell'entità description.

description

string

Descrizione testuale dell'entità, espressa nella lingua locale.

score

number

Punteggio complessivo del risultato. Intervallo [0, 1].

confidence
(deprecated)

number

Ritirato. Utilizza invece score. La precisione del rilevamento delle entità in un'immagine. Ad esempio, per un'immagine in cui viene rilevata l'entità "Torre Eiffel", questo campo rappresenta la certezza che nell'immagine della query sia presente una torre. Intervallo [0, 1].

topicality

number

La pertinenza dell'etichetta ICA (annotazione dei contenuti delle immagini) all'immagine. Ad esempio, la pertinenza di "torre" è probabilmente più alta per un'immagine contenente la "Torre Eiffel" rilevata rispetto a un'immagine contenente un edificio alto rilevato in lontananza, anche se la certezza che in ogni immagine sia presente una torre potrebbe essere la stessa. Intervallo [0, 1].

boundingPoly

object (BoundingPoly)

Regione dell'immagine a cui appartiene questa entità. Non prodotto per le funzionalità di LABEL_DETECTION.

locations[]

object (LocationInfo)

Le informazioni sulla posizione dell'entità rilevata. Possono essere presenti più elementi LocationInfo perché una posizione può indicare la posizione della scena nell'immagine e un'altra la posizione del luogo in cui è stata scattata l'immagine. Le informazioni sulla posizione sono generalmente presenti per i punti di riferimento.

properties[]

object (Property)

Alcune entità possono avere campi Property (nome/valore) facoltativi forniti dall'utente, ad esempio un punteggio o una stringa che ne qualificano l'entità.

LocationInfo

Informazioni sulla posizione dell'entità rilevata.

Rappresentazione JSON
{
  "latLng": {
    object (LatLng)
  }
}
Campi
latLng

object (LatLng)

Coordinate della posizione lat/long.

Proprietà

Un Property è costituito da una coppia nome/valore fornita dall'utente.

Rappresentazione JSON
{
  "name": string,
  "value": string,
  "uint64Value": string
}
Campi
name

string

Nome della proprietà.

value

string

Valore della proprietà.

uint64Value

string

Valore delle proprietà numeriche.

LocalizedObjectAnnotation

Set di oggetti rilevati con riquadri di delimitazione.

Rappresentazione JSON
{
  "mid": string,
  "languageCode": string,
  "name": string,
  "score": number,
  "boundingPoly": {
    object (BoundingPoly)
  }
}
Campi
mid

string

L'ID oggetto deve essere in linea con EntityAnnotation mid.

languageCode

string

Il codice lingua BCP-47, ad esempio "en-US" o "sr-Latn". Per ulteriori informazioni, visita la pagina http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.

name

string

Nome dell'oggetto, espresso nella lingua languageCode.

score

number

Punteggio del risultato. Intervallo [0, 1].

boundingPoly

object (BoundingPoly)

Regione dell'immagine a cui appartiene questo oggetto. Questo campo deve essere compilato.

TextAnnotation

TextAnnotation contiene una rappresentazione strutturata del testo estratto tramite OCR. La gerarchia di una struttura di testo estratta tramite OCR è la seguente: TextAnnotation -> Pagina -> Blocco -> Paragrafo -> Parola -> Simbolo Ogni componente strutturale, a partire da Pagina, può avere ulteriori proprietà. Le proprietà descrivono le lingue rilevate, le interruzioni e così via. Per ulteriori dettagli, consulta la definizione del messaggio TextAnnotation.TextProperty riportata di seguito.

Rappresentazione JSON
{
  "pages": [
    {
      object (Page)
    }
  ],
  "text": string
}
Campi
pages[]

object (Page)

Elenco di pagine rilevate dall'OCR.

text

string

Testo UTF-8 rilevato nelle pagine.

Pagina

Pagina rilevata dall'OCR.

Rappresentazione JSON
{
  "property": {
    object (TextProperty)
  },
  "width": number,
  "height": number,
  "blocks": [
    {
      object (Block)
    }
  ],
  "confidence": number
}
Campi
property

object (TextProperty)

Sono state rilevate informazioni aggiuntive nella pagina.

width

number

Larghezza della pagina. Per i PDF l'unità di misura è punti. Per le immagini (inclusi i file TIFF), l'unità di misura è il pixel.

height

number

Altezza pagina. Per i PDF l'unità di misura è punti. Per le immagini (inclusi i file TIFF), l'unità di misura è il pixel.

blocks[]

object (Block)

Elenco di blocchi di testo, immagini e così via in questa pagina.

confidence

number

Affidabilità dei risultati dell'OCR nella pagina. Intervallo [0, 1].

TextProperty

Sono state rilevate informazioni aggiuntive sul componente strutturale.

Rappresentazione JSON
{
  "detectedLanguages": [
    {
      object (DetectedLanguage)
    }
  ],
  "detectedBreak": {
    object (DetectedBreak)
  }
}
Campi
detectedLanguages[]

object (DetectedLanguage)

Un elenco delle lingue rilevate con il relativo livello di confidenza.

detectedBreak

object (DetectedBreak)

È stato rilevato l'inizio o la fine di un segmento di testo.

DetectedLanguage

Lingua rilevata per un componente strutturale.

Rappresentazione JSON
{
  "languageCode": string,
  "confidence": number
}
Campi
languageCode

string

Il codice lingua BCP-47, ad esempio "en-US" o "sr-Latn". Per ulteriori informazioni, visita la pagina http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.

confidence

number

Affidabilità della lingua rilevata. Intervallo [0, 1].

DetectedBreak

È stata rilevata l'inizio o la fine di un componente strutturale.

Rappresentazione JSON
{
  "type": enum (BreakType),
  "isPrefix": boolean
}
Campi
type

enum (BreakType)

Tipo di interruzione rilevato.

isPrefix

boolean

True se l'elemento viene anteposto da un a capo.

BreakType

Enum per indicare il tipo di interruzione trovata. A capo, spazio e così via.

Enum
UNKNOWN Tipo di etichetta di interruzione sconosciuto.
SPACE Spazio normale.
SURE_SPACE Spazio sicuro (molto ampio).
EOL_SURE_SPACE Interruzione di riga.
HYPHEN Apostrofo finale non presente nel testo; non si verifica con SPACE, LEADER_SPACE o LINE_BREAK.
LINE_BREAK Interruzione di riga che termina un paragrafo.

Blocca

Elemento logico nella pagina.

Rappresentazione JSON
{
  "property": {
    object (TextProperty)
  },
  "boundingBox": {
    object (BoundingPoly)
  },
  "paragraphs": [
    {
      object (Paragraph)
    }
  ],
  "blockType": enum (BlockType),
  "confidence": number
}
Campi
property

object (TextProperty)

Sono state rilevate informazioni aggiuntive per il blocco.

boundingBox

object (BoundingPoly)

Il riquadro di delimitazione del blocco. I vertici sono nell'ordine in alto a sinistra, in alto a destra, in basso a destra e in basso a sinistra. Quando viene rilevata una rotazione della casella delimitante, la rotazione viene rappresentata come attorno all'angolo in alto a sinistra, come definito quando il testo viene letto nell'orientamento "naturale". Ad esempio:

  • Quando il testo è orizzontale, potrebbe avere il seguente aspetto:
    0----1
    |    |
    3----2
  • se viene ruotata di 180 gradi attorno all'angolo in alto a sinistra diventa:
    2----3
    |    |
    1----0

e l'ordine dei vertici sarà ancora (0, 1, 2, 3).

paragraphs[]

object (Paragraph)

Elenco di paragrafi in questo blocco (se di tipo di testo).

blockType

enum (BlockType)

Tipo di blocco rilevato (testo, immagine e così via) per questo blocco.

confidence

number

Affidabilità dei risultati dell'OCR nel blocco. Intervallo [0, 1].

Paragrafo

Unità strutturale di testo che rappresenta un numero di parole in un determinato ordine.

Rappresentazione JSON
{
  "property": {
    object (TextProperty)
  },
  "boundingBox": {
    object (BoundingPoly)
  },
  "words": [
    {
      object (Word)
    }
  ],
  "confidence": number
}
Campi
property

object (TextProperty)

Sono state rilevate informazioni aggiuntive per il paragrafo.

boundingBox

object (BoundingPoly)

Il riquadro di delimitazione del paragrafo. I vertici sono nell'ordine in alto a sinistra, in alto a destra, in basso a destra e in basso a sinistra. Quando viene rilevata una rotazione della casella delimitante, la rotazione viene rappresentata come attorno all'angolo in alto a sinistra, come definito quando il testo viene letto nell'orientamento "naturale". Ad esempio: * quando il testo è orizzontale, potrebbe avere il seguente aspetto: 0----1 | | 3----2 * quando viene ruotato di 180 gradi attorno all'angolo in alto a sinistra, diventa: 2----3 | | 1----0 e l'ordine dei vertici sarà sempre (0, 1, 2, 3).

words[]

object (Word)

Elenco di tutte le parole di questo paragrafo.

confidence

number

Affidabilità dei risultati dell'OCR per il paragrafo. Intervallo [0, 1].

Word

Una rappresentazione di una parola.

Rappresentazione JSON
{
  "property": {
    object (TextProperty)
  },
  "boundingBox": {
    object (BoundingPoly)
  },
  "symbols": [
    {
      object (Symbol)
    }
  ],
  "confidence": number
}
Campi
property

object (TextProperty)

Sono state rilevate informazioni aggiuntive per la parola.

boundingBox

object (BoundingPoly)

Il riquadro di delimitazione della parola. I vertici sono nell'ordine in alto a sinistra, in alto a destra, in basso a destra e in basso a sinistra. Quando viene rilevata una rotazione della casella delimitante, la rotazione viene rappresentata come attorno all'angolo in alto a sinistra, come definito quando il testo viene letto nell'orientamento "naturale". Ad esempio: * quando il testo è orizzontale, potrebbe avere il seguente aspetto: 0----1 | | 3----2 * quando viene ruotato di 180 gradi attorno all'angolo in alto a sinistra, diventa: 2----3 | | 1----0 e l'ordine dei vertici sarà sempre (0, 1, 2, 3).

symbols[]

object (Symbol)

Elenco dei simboli nella parola. L'ordine dei simboli segue l'ordine di lettura naturale.

confidence

number

Affidabilità dei risultati dell'OCR per la parola. Intervallo [0, 1].

Simbolo

Una singola rappresentazione simbolica.

Rappresentazione JSON
{
  "property": {
    object (TextProperty)
  },
  "boundingBox": {
    object (BoundingPoly)
  },
  "text": string,
  "confidence": number
}
Campi
property

object (TextProperty)

Sono state rilevate informazioni aggiuntive per il simbolo.

boundingBox

object (BoundingPoly)

Il riquadro di delimitazione del simbolo. I vertici sono nell'ordine in alto a sinistra, in alto a destra, in basso a destra e in basso a sinistra. Quando viene rilevata una rotazione della casella delimitante, la rotazione viene rappresentata come attorno all'angolo in alto a sinistra, come definito quando il testo viene letto nell'orientamento "naturale". Ad esempio: * quando il testo è orizzontale, potrebbe avere il seguente aspetto: 0----1 | | 3----2 * quando viene ruotato di 180 gradi attorno all'angolo in alto a sinistra, diventa: 2----3 | | 1----0 e l'ordine dei vertici sarà sempre (0, 1, 2, 3).

text

string

La rappresentazione UTF-8 effettiva del simbolo.

confidence

number

La confidenza dei risultati dell'OCR per il simbolo. Intervallo [0, 1].

BlockType

Tipo di blocco (testo, immagine e così via) identificato dall'OCR.

Enum
UNKNOWN Tipo di blocco sconosciuto.
TEXT Blocco di testo normale.
TABLE Blocco di tabelle.
PICTURE Blocco delle immagini.
RULER Casella con linee orizzontali/verticali.
BARCODE Blocco di codici a barre.

SafeSearchAnnotation

Set di funzionalità relative all'immagine, calcolate con metodi di visione artificiale nei verticali SafeSearch (ad es. contenuti per adulti, spoofing, contenuti medici, violenza).

Rappresentazione JSON
{
  "adult": enum (Likelihood),
  "spoof": enum (Likelihood),
  "medical": enum (Likelihood),
  "violence": enum (Likelihood),
  "racy": enum (Likelihood)
}
Campi
adult

enum (Likelihood)

Rappresenta la probabilità che l'immagine includa contenuti per adulti. I contenuti per adulti possono includere elementi quali nudità, immagini o cartoni animati pornografici o attività sessuali.

spoof

enum (Likelihood)

Probabilità di spoofing. La probabilità che sia stata apportata una modifica alla versione canonica dell'immagine per renderla divertente o offensiva.

medical

enum (Likelihood)

Probabilità che si tratti di un'immagine medica.

violence

enum (Likelihood)

Probabilità che questa immagine includa contenuti violenti.

racy

enum (Likelihood)

Probabilità che l'immagine richiesta contenga contenuti di natura sessuale. I contenuti di natura sessuale possono includere, a titolo esemplificativo, abbigliamento succinto o trasparente, nudità coperte strategicamente, pose osceni o provocanti o primi piani di aree sensibili del corpo.

ImageProperties

Memorizza le proprietà dell'immagine, ad esempio i colori dominanti.

Rappresentazione JSON
{
  "dominantColors": {
    object (DominantColorsAnnotation)
  }
}
Campi
dominantColors

object (DominantColorsAnnotation)

Se presenti, i colori dominanti sono stati completati correttamente.

DominantColorsAnnotation

Set di colori dominanti e relativi punteggi.

Rappresentazione JSON
{
  "colors": [
    {
      object (ColorInfo)
    }
  ]
}
Campi
colors[]

object (ColorInfo)

Valori di colore RGB con il relativo punteggio e la frazione di pixel.

ColorInfo

Le informazioni sul colore sono costituite da canali RGB, punteggio e frazione dell'immagine occupata dal colore.

Rappresentazione JSON
{
  "color": {
    object (Color)
  },
  "score": number,
  "pixelFraction": number
}
Campi
color

object (Color)

Componenti RGB del colore.

score

number

Punteggio specifico per l'immagine per questo colore. Valore compreso nell'intervallo [0, 1].

pixelFraction

number

La frazione di pixel occupata dal colore nell'immagine. Valore compreso nell'intervallo [0, 1].

Colore

Rappresenta un colore nello spazio colore RGBA. Questa rappresentazione è progettata per semplificare la conversione a/da rappresentazioni di colori in vari linguaggi rispetto alla compattezza; ad esempio, i campi di questa rappresentazione possono essere forniti facilmente al costruttore di "java.awt.Color" in Java; possono anche essere forniti facilmente al metodo "+colorWithRed:green:blue:alpha " di UIColor in iOS; e, con un po' di lavoro, possono essere facilmente formattati in una stringa "rgba()" CSS anche in JavaScript.

Nota: questo proto non contiene informazioni sullo spazio colore assoluto da utilizzare per interpretare il valore RGB (ad es. sRGB, Adobe RGB, DCI-P3, BT.2020 e così via). Per impostazione predefinita, le applicazioni DEVONO assumere lo spazio colore sRGB.

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

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

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

// ...
Rappresentazione JSON
{
  "red": number,
  "green": number,
  "blue": number,
  "alpha": number
}
Campi
red

number

La quantità di rosso nel colore come valore compreso nell'intervallo [0, 1].

green

number

La quantità di verde nel colore come valore compreso nell'intervallo [0, 1].

blue

number

La quantità di blu nel colore come valore compreso nell'intervallo [0, 1].

alpha

number

La frazione di questo colore da applicare al pixel. In altre parole, il colore del pixel finale è definito dall'equazione:

colore pixel = alpha * (questo colore) + (1.0 - alpha) * (colore sfondo)

Ciò significa che un valore di 1,0 corrisponde a un colore a tinta unita, mentre un valore di 0,0 corrisponde a un colore completamente trasparente. Viene utilizzato un messaggio wrapper anziché un semplice scalare float in modo da distinguere un valore predefinito dal valore non impostato. Se omesso, questo oggetto di colore deve essere visualizzato come un colore a tinta unita (come se il valore alfa fosse stato specificato esplicitamente con un valore di 1,0).

CropHintsAnnotation

Set di suggerimenti di ritaglio utilizzati per generare nuovi ritagli durante la pubblicazione delle immagini.

Rappresentazione JSON
{
  "cropHints": [
    {
      object (CropHint)
    }
  ]
}
Campi
cropHints[]

object (CropHint)

Risultati del suggerimento di ritaglio.

CropHint

Suggerimento di ritaglio singolo utilizzato per generare un nuovo ritaglio durante la pubblicazione di un'immagine.

Rappresentazione JSON
{
  "boundingPoly": {
    object (BoundingPoly)
  },
  "confidence": number,
  "importanceFraction": number
}
Campi
boundingPoly

object (BoundingPoly)

Il poligono di delimitazione per l'area di ritaglio. Le coordinate del riquadro di delimitazione sono nella scala dell'immagine originale.

confidence

number

Livello di confidenza che si tratti di una regione importante. Intervallo [0, 1].

importanceFraction

number

Frazione di importanza di questa regione saliente rispetto all'immagine originale.

WebDetection

Informazioni pertinenti per l'immagine da internet.

Rappresentazione JSON
{
  "webEntities": [
    {
      object (WebEntity)
    }
  ],
  "fullMatchingImages": [
    {
      object (WebImage)
    }
  ],
  "partialMatchingImages": [
    {
      object (WebImage)
    }
  ],
  "pagesWithMatchingImages": [
    {
      object (WebPage)
    }
  ],
  "visuallySimilarImages": [
    {
      object (WebImage)
    }
  ],
  "bestGuessLabels": [
    {
      object (WebLabel)
    }
  ]
}
Campi
webEntities[]

object (WebEntity)

Entità dedotte da immagini simili su internet.

fullMatchingImages[]

object (WebImage)

Immagini completamente corrispondenti da internet. Può includere copie ridimensionate dell'immagine di query.

partialMatchingImages[]

object (WebImage)

Immagini con corrispondenza parziale da internet. Queste immagini sono abbastanza simili da condividere alcune caratteristiche chiave. Ad esempio, un'immagine originale avrà probabilmente una corrispondenza parziale per i suoi ritagli.

pagesWithMatchingImages[]

object (WebPage)

Pagine web contenenti le immagini corrispondenti di internet.

visuallySimilarImages[]

object (WebImage)

I risultati di immagini visivamente simili.

bestGuessLabels[]

object (WebLabel)

La migliore supposizione del servizio sull'argomento dell'immagine richiesta. Dedotto da immagini simili sul web aperto.

WebEntity

Entità dedotta da immagini simili su internet.

Rappresentazione JSON
{
  "entityId": string,
  "score": number,
  "description": string
}
Campi
entityId

string

ID entità opaco.

score

number

Punteggio di pertinenza complessivo dell'entità. Non sono normalizzate e non sono paragonabili tra query di immagini diverse.

description

string

Descrizione canonica dell'entità, in inglese.

WebImage

Metadati per le immagini online.

Rappresentazione JSON
{
  "url": string,
  "score": number
}
Campi
url

string

L'URL dell'immagine del risultato.

score

number

(Ritiro previsto) Punteggio di pertinenza complessivo dell'immagine.

Pagina web

Metadati per le pagine web.

Rappresentazione JSON
{
  "url": string,
  "score": number,
  "pageTitle": string,
  "fullMatchingImages": [
    {
      object (WebImage)
    }
  ],
  "partialMatchingImages": [
    {
      object (WebImage)
    }
  ]
}
Campi
url

string

L'URL della pagina web del risultato.

score

number

(Ritiro previsto) Punteggio di pertinenza complessivo della pagina web.

pageTitle

string

Titolo della pagina web, può contenere markup HTML.

fullMatchingImages[]

object (WebImage)

Immagini completamente corrispondenti nella pagina. Può includere copie ridimensionate dell'immagine di query.

partialMatchingImages[]

object (WebImage)

Immagini con corrispondenza parziale nella pagina. Queste immagini sono abbastanza simili da condividere alcune caratteristiche chiave. Ad esempio, un'immagine originale avrà probabilmente una corrispondenza parziale per i suoi ritagli.

WebLabel

Etichetta per fornire metadati aggiuntivi per il rilevamento web.

Rappresentazione JSON
{
  "label": string,
  "languageCode": string
}
Campi
label

string

Etichetta per i metadati aggiuntivi.

languageCode

string

Il codice lingua BCP-47 per label, ad esempio "en-US" o "sr-Latn". Per ulteriori informazioni, visita la pagina http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.

ProductSearchResults

Risultati per una richiesta di ricerca di prodotti.

Rappresentazione JSON
{
  "indexTime": string,
  "results": [
    {
      object (Result)
    }
  ],
  "productGroupedResults": [
    {
      object (GroupedResult)
    }
  ]
}
Campi
indexTime

string (Timestamp format)

Timestamp dell'indice che ha fornito questi risultati. I prodotti aggiunti all'insieme di prodotti e quelli rimossi dall'insieme di prodotti dopo questa data non vengono visualizzati nei risultati attuali.

Un timestamp in formato "Zulu" UTC RFC3339, preciso al nanosecondo. Esempio: "2014-10-02T15:01:23.045123456Z".

results[]

object (Result)

Elenco di risultati, uno per ogni corrispondenza del prodotto.

productGroupedResults[]

object (GroupedResult)

Elenco di risultati raggruppati per prodotti rilevati nell'immagine della query. Ogni voce corrisponde a un poligono delimitante nell'immagine di query e contiene i prodotti corrispondenti specifici per quella regione. Potrebbero essere presenti corrispondenze di prodotti duplicate nell'unione di tutti i risultati per prodotto.

Risultato

Informazioni su un prodotto.

Rappresentazione JSON
{
  "product": {
    object (Product)
  },
  "score": number,
  "image": string
}
Campi
product

object (Product)

Il prodotto.

score

number

Un livello di confidenza sulla corrispondenza, compreso tra 0 (nessuna confidenza) e 1 (fiducia totale).

image

string

Il nome della risorsa dell'immagine del prodotto più simile alla query.

GroupedResult

Informazioni sui prodotti simili a un singolo prodotto in un'immagine di query.

Rappresentazione JSON
{
  "boundingPoly": {
    object (BoundingPoly)
  },
  "results": [
    {
      object (Result)
    }
  ],
  "objectAnnotations": [
    {
      object (ObjectAnnotation)
    }
  ]
}
Campi
boundingPoly

object (BoundingPoly)

Il poligono di delimitazione attorno al prodotto rilevato nell'immagine della query.

results[]

object (Result)

Elenco di risultati, uno per ogni corrispondenza del prodotto.

objectAnnotations[]

object (ObjectAnnotation)

Elenco di previsioni generiche per l'oggetto nel riquadro di delimitazione.

ObjectAnnotation

Predizione dell'oggetto nel riquadro di delimitazione.

Rappresentazione JSON
{
  "mid": string,
  "languageCode": string,
  "name": string,
  "score": number
}
Campi
mid

string

L'ID oggetto deve essere in linea con EntityAnnotation mid.

languageCode

string

Il codice lingua BCP-47, ad esempio "en-US" o "sr-Latn". Per ulteriori informazioni, visita la pagina http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.

name

string

Nome dell'oggetto, espresso nella lingua languageCode.

score

number

Punteggio del risultato. Intervallo [0, 1].

ImageAnnotationContext

Se un'immagine è stata prodotta da un file (ad es. un PDF), questo messaggio fornisce informazioni sulla relativa origine.

Rappresentazione JSON
{
  "uri": string,
  "pageNumber": number
}
Campi
uri

string

L'URI del file utilizzato per produrre l'immagine.

pageNumber

number

Se il file era un PDF o un TIFF, questo campo indica il numero di pagina all'interno del file utilizzato per produrre l'immagine.