AnnotateImageResponse

Risposta a una richiesta di annotazione per l'immagine.

Rappresentazione JSON
{
  "faceAnnotations": [
    {
      object(FaceAnnotation)
    }
  ],
  "landmarkAnnotations": [
    {
      object(EntityAnnotation)
    }
  ],
  "logoAnnotations": [
    {
      object(EntityAnnotation)
    }
  ],
  "labelAnnotations": [
    {
      object(EntityAnnotation)
    }
  ],
  "localizedObjectAnnotations": [
    {
      object(LocalizedObjectAnnotation)
    }
  ],
  "customLabelAnnotations": [
    {
      object(CustomEntityAnnotation)
    }
  ],
  "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)
  },
  "imageQualityAnnotation": {
    object(ImageQuality)
  },
  "objectAttributeAnnotations": [
    {
      object(EntityAnnotation)
    }
  ],
  "qualityOptimizationResult": {
    object(QualityOptimizationResult)
  },
  "localizedBarcodeAnnotations": [
    {
      object(LocalizedBarcodeAnnotation)
    }
  ]
}
Campi
faceAnnotations[]

object(FaceAnnotation)

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

landmarkAnnotations[]

object(EntityAnnotation)

Se presente, il rilevamento dei 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 degli oggetti localizzato è stato completato correttamente. Verranno ordinati in ordine decrescente in base al punteggio di confidenza.

customLabelAnnotations[]

object(CustomEntityAnnotation)

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

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 per il testo rilevato tramite OCR.

safeSearchAnnotation

object(SafeSearchAnnotation)

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

imagePropertiesAnnotation

object(ImageProperties)

Se presenti, le proprietà dell'immagine sono state estratte correttamente.

cropHintsAnnotation

object(CropHintsAnnotation)

Se presenti, i suggerimenti per il ritaglio sono stati completati correttamente.

webDetection

object(WebDetection)

Se presente, il rilevamento web è stato completato correttamente.

productSearchResults

object(ProductSearchResults)

Se presente, la ricerca di 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, le informazioni contestuali sono necessarie per capire da dove proviene questa immagine.

imageQualityAnnotation

object(ImageQuality)

Se presente, il calcolo della qualità dell'immagine è stato completato correttamente.

objectAttributeAnnotations[]

object(EntityAnnotation)

Se presente, il calcolo degli attributi degli oggetti è stato completato correttamente. Il valore degli attributi verrà inserito in EntityAnnotation.properties. Esempio: objectAttributeAnnotations { properties { name: "color" value: "blue" confidence: 0.1 } properties { name: "color" value: "white" confidence: 0.2 } properties { name: "material" value: "silk" confidence: 0.3 } }

qualityOptimizationResult

object(QualityOptimizationResult)

Se presente, l'ottimizzazione della qualità dell'immagine è stata completata correttamente.

localizedBarcodeAnnotations[]

object(LocalizedBarcodeAnnotation)

Se presente, il rilevamento del codice a barre localizzato è stato completato correttamente.

FaceAnnotation

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

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 volto. 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 del punto di riferimento. Tieni presente che una o più coordinate x e/o y potrebbero non essere generate in BoundingPoly (il poligono non sarà delimitato) se nell'immagine da annotare viene visualizzato solo un volto parziale.

fdBoundingPoly

object(BoundingPoly)

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

fd

(face detection) prefix.

landmarks[]

object(Landmark)

Punti di riferimento del volto rilevati.

rollAngle

number

Angolo di rollio, che indica la quantità di rotazione in senso orario/antiorario del volto rispetto alla verticale dell'immagine attorno all'asse perpendicolare al volto. Intervallo [-180,180].

panAngle

number

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

tiltAngle

number

L'angolo di beccheggio, che indica l'angolazione verso l'alto o verso il basso del volto rispetto al piano orizzontale dell'immagine. Intervallo [-180,180].

detectionConfidence

number

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

landmarkingConfidence

number

Confidenza del rilevamento dei punti del volto. Intervallo [0, 1].

joyLikelihood

enum(Likelihood)

Probabilità di gioia.

sorrowLikelihood

enum(Likelihood)

Probabilità di tristezza.

angerLikelihood

enum(Likelihood)

Probabilità di rabbia.

surpriseLikelihood

enum(Likelihood)

Probabilità di sorpresa.

underExposedLikelihood

enum(Likelihood)

Probabilità di sottosposizione.

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, una caratteristica 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 dei punti di riferimento del volto.

Tipo

Tipo di punto di riferimento (caratteristica) del viso. Sinistra e destra sono definite dal punto di vista dello spettatore dell'immagine senza considerare le proiezioni speculari tipiche delle foto. Quindi, LEFT_EYE è in genere 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 del sopracciglio sinistro.
RIGHT_OF_LEFT_EYEBROW A destra del sopracciglio sinistro.
LEFT_OF_RIGHT_EYEBROW A sinistra del sopracciglio destro.
RIGHT_OF_RIGHT_EYEBROW Sopracciglio destro.
MIDPOINT_BETWEEN_EYES Punto medio tra gli occhi.
NOSE_TIP Punta del naso.
UPPER_LIP Labbro superiore.
LOWER_LIP Labbro inferiore.
MOUTH_LEFT Bocca a sinistra.
MOUTH_RIGHT Bocca a destra.
MOUTH_CENTER 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, limite superiore.
LEFT_EYE_RIGHT_CORNER Occhio sinistro, angolo destro.
LEFT_EYE_BOTTOM_BOUNDARY Occhio sinistro, limite inferiore.
LEFT_EYE_LEFT_CORNER Occhio sinistro, angolo sinistro.
RIGHT_EYE_TOP_BOUNDARY Occhio destro, limite superiore.
RIGHT_EYE_RIGHT_CORNER Occhio destro, angolo destro.
RIGHT_EYE_BOTTOM_BOUNDARY Occhio destro, limite inferiore.
RIGHT_EYE_LEFT_CORNER Occhio destro, angolo sinistro.
LEFT_EYEBROW_UPPER_MIDPOINT Sopracciglio sinistro, punto medio superiore.
RIGHT_EYEBROW_UPPER_MIDPOINT Sopracciglio destro, punto medio 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 Glabella della fronte.
CHIN_GNATHION Gnatio del mento.
CHIN_LEFT_GONION Gonio sinistro del mento.
CHIN_RIGHT_GONION Gonion mento destro.

Posizione

Una posizione 3D nell'immagine, utilizzata principalmente per i punti di riferimento del rilevamento del volto. Una posizione valida deve avere coordinate x e y. Le coordinate della 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 in bucket della probabilità, che ha lo scopo di fornire ai clienti risultati altamente stabili negli aggiornamenti del modello.

Enum
UNKNOWN Probabilità sconosciuta.
VERY_UNLIKELY È molto improbabile che l'immagine appartenga alla verticale specificata.
UNLIKELY È improbabile che l'immagine appartenga alla verticale specificata.
POSSIBLE È possibile che l'immagine appartenga alla verticale specificata.
LIKELY È probabile che l'immagine appartenga al verticale specificato.
VERY_LIKELY È molto probabile che l'immagine appartenga al verticale specificato.

EntityAnnotation

Insieme di funzionalità dell'entità rilevata.

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 Google Knowledge Graph Search.

locale

string

Il codice lingua delle 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 (Image Content Annotation) per l'immagine. Ad esempio, la pertinenza di "torre" è probabilmente maggiore per un'immagine contenente la "Torre Eiffel" rilevata rispetto a un'immagine contenente un edificio torreggiante distante rilevato, anche se la confidenza che ci sia una torre in ogni immagine potrebbe essere la stessa. Intervallo [0, 1].

boundingPoly

object(BoundingPoly)

La 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 posizione può indicare 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à potrebbero avere campi Property (nome/valore) facoltativi forniti dall'utente, ad esempio un punteggio o una stringa che qualifica l'entità.

LocationInfo

Informazioni sulla posizione dell'entità rilevata.

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

object(LatLng)

Coordinate di latitudine/longitudine della posizione.

Proprietà

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

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

string

Nome della proprietà.

value

string

Valore della proprietà.

uint64Value

string

Valore delle proprietà numeriche.

confidence

number

Valore compreso nell'intervallo [0..1]. Confidenza di questo valore della proprietà.

mid

string

ID valore della proprietà opaco. Alcuni ID potrebbero essere disponibili nell'API Google Knowledge Graph Search. Un esempio di proprietà per un cappotto blu è: Property { name: 'color' value: 'blue' mid: '/m/01g5v' // For color blue }

LocalizedObjectAnnotation

Insieme di oggetti rilevati con riquadri di delimitazione.

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

string

ID oggetto che deve corrispondere al MID di EntityAnnotation.

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.

CustomEntityAnnotation

Un CustomEntityAnnotation contiene annotazioni previste utilizzando modelli Vision personalizzati.

Rappresentazione JSON
{
  "model": string,
  "label": string,
  "score": number
}
Campi
model

string

Identifica il modello personalizzato utilizzato per creare questa annotazione. Il formato del nome del modello è l'URL della risorsa della modalità personalizzata sottoposta a query: /projects/PROJECT_ID/models/MODEL_ID o /models/MODEL_ID se il modello appartiene al progetto corrente.

label

string

L'etichetta prevista dal modello personalizzato.

score

number

Il punteggio di affidabilità dell'etichetta in base al modello personalizzato.

TextAnnotation

TextAnnotation contiene una rappresentazione strutturata del testo estratto con l'OCR. La gerarchia di una struttura di testo estratta con l'OCR è la seguente: TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol Ogni componente strutturale, a partire da Page, 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 delle pagine rilevate dall'OCR.

text

string

Testo UTF-8 rilevato nelle pagine.

Pagina

Pagina rilevata tramite OCR.

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

object(TextProperty)

Sono state rilevate informazioni aggiuntive sulla pagina.

width

number

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

height

number

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

blocks[]

object(Block)

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

confidence

number

Affidabilità dei risultati OCR sulla pagina. Intervallo [0, 1].

mergedText

string

Tutto il testo UTF-8 rilevato in questa pagina. Questo campo non viene restituito per impostazione predefinita, a meno che non sia specificato in TextDetectionParams.page_filter.

TextProperty

Informazioni aggiuntive rilevate sul componente strutturale.

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

object(DetectedLanguage)

Un elenco delle lingue rilevate insieme al livello di confidenza.

detectedBreak

object(DetectedBreak)

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

Rilevato l'inizio o la fine di un componente strutturale.

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

enum(BreakType)

Tipo di pausa rilevato.

isPrefix

boolean

True se l'interruzione precede l'elemento.

BreakType

Enumerazione per indicare il tipo di pausa trovato. Nuova riga, 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 del ritorno a capo automatico.
HYPHEN Trattino di fine riga non presente nel testo; non si verifica contemporaneamente a SPACE, LEADER_SPACE o LINE_BREAK.
LINE_BREAK Interruzione di riga che termina un paragrafo.

Blocca

Elemento logico della pagina.

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

object(TextProperty)

Informazioni aggiuntive rilevate 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, in basso a sinistra. Quando viene rilevata una rotazione del riquadro di delimitazione, questa viene rappresentata attorno all'angolo in alto a sinistra, come definito quando il testo viene letto nell'orientamento "naturale". Ad esempio:

  • quando il testo è orizzontale, potrebbe apparire così:
    0----1
    |    |
    3----2
  • quando viene ruotato di 180 gradi intorno 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 dei paragrafi in questo blocco (se il blocco è di tipo testo).

blockType

enum(BlockType)

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

confidence

number

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

table

object(Table)

Tabella rilevata per blockType TABLE. Questo campo non viene restituito per impostazione predefinita, a meno che non sia abilitato tramite TextDetectionParams.table_detection_options. Il boundingBox per questo blocco saranno i limiti rilevati per questa tabella.

keyValuePair

object(KeyValuePair)

Coppia rilevata per blockType KEY_VALUE_PAIR. Per impostazione predefinita, questo campo non viene restituito a meno che non venga specificato DocumentType.

mergedText

string

Tutto il testo UTF-8 rilevato in questo blocco. Questo campo non viene restituito per impostazione predefinita, a meno che non sia specificato in TextDetectionParams.block_filter.

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,
  "mergedText": string
}
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, in basso a sinistra. Quando viene rilevata una rotazione del riquadro di delimitazione, questa viene rappresentata attorno all'angolo in alto a sinistra, come definito quando il testo viene letto nell'orientamento "naturale". Ad esempio: * quando il testo è orizzontale, potrebbe essere simile a: 0----1 | | 3----2 * quando viene ruotato di 180 gradi intorno all'angolo in alto a sinistra, diventa: 2----3 | | 1----0 e l'ordine dei vertici sarà comunque (0, 1, 2, 3).

words[]

object(Word)

Elenco delle parole in questo paragrafo.

confidence

number

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

mergedText

string

Tutto il testo UTF-8 rilevato in questo paragrafo. Questo campo non viene restituito per impostazione predefinita, a meno che non sia specificato in TextDetectionParams.paragraph_filter.

Word

Una rappresentazione della parola.

Rappresentazione JSON
{
  "property": {
    object(TextProperty)
  },
  "boundingBox": {
    object(BoundingPoly)
  },
  "symbols": [
    {
      object(Symbol)
    }
  ],
  "confidence": number,
  "mergedText": string
}
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, in basso a sinistra. Quando viene rilevata una rotazione del riquadro di delimitazione, questa viene rappresentata attorno all'angolo in alto a sinistra, come definito quando il testo viene letto nell'orientamento "naturale". Ad esempio: * quando il testo è orizzontale, potrebbe essere simile a: 0----1 | | 3----2 * quando viene ruotato di 180 gradi intorno all'angolo in alto a sinistra, diventa: 2----3 | | 1----0 e l'ordine dei vertici sarà comunque (0, 1, 2, 3).

symbols[]

object(Symbol)

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

confidence

number

Il livello di attendibilità dei risultati dell'OCR per la parola. Intervallo [0, 1].

mergedText

string

Tutto il testo UTF-8 rilevato in questa parola. Questo campo non viene restituito per impostazione predefinita, a meno che non sia specificato in TextDetectionParams.word_filter.

Simbolo

Rappresentazione di un singolo simbolo.

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

object(TextProperty)

Informazioni aggiuntive rilevate 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, in basso a sinistra. Quando viene rilevata una rotazione del riquadro di delimitazione, questa viene rappresentata attorno all'angolo in alto a sinistra, come definito quando il testo viene letto nell'orientamento "naturale". Ad esempio: * quando il testo è orizzontale, potrebbe essere simile a: 0----1 | | 3----2 * quando viene ruotato di 180 gradi intorno all'angolo in alto a sinistra, diventa: 2----3 | | 1----0 e l'ordine dei vertici sarà comunque (0, 1, 2, 3).

text

string

La rappresentazione UTF-8 effettiva del simbolo.

confidence

number

Affidabilità 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 tabella.
PICTURE Blocco immagine.
RULER Casella della linea orizzontale/verticale.
BARCODE Blocco del codice a barre.
KEY_VALUE_PAIR Un blocco di coppie chiave-valore.

Tabella

Una rappresentazione tabellare simile alla struttura di una tabella HTML.

Rappresentazione JSON
{
  "headerRows": [
    {
      object(TableRow)
    }
  ],
  "bodyRows": [
    {
      object(TableRow)
    }
  ]
}
Campi
headerRows[]

object(TableRow)

Righe di intestazione della tabella

bodyRows[]

object(TableRow)

Righe del corpo della tabella

TableRow

Una riga di celle della tabella.

Rappresentazione JSON
{
  "cells": [
    {
      object(TableCell)
    }
  ]
}
Campi
cells[]

object(TableCell)

Le celle che compongono questa riga.

TableCell

Una rappresentazione delle celle all'interno delle tabelle.

Rappresentazione JSON
{
  "rowSpan": number,
  "colSpan": number,
  "textBlock": {
    object(Block)
  },
  "text": string
}
Campi
rowSpan

number

Il numero di righe che questa cella occupa.

colSpan

number

Il numero di colonne che questa cella occupa.

textBlock

object(Block)

Blocco di testo per questa cella che contiene anche il riquadro di delimitazione normalizzato per la cella e strutture più profonde all'interno di una cella, se presenti.

text

string

Il valore di testo unito di questa cella, omettendo eventuali informazioni strutturali più profonde a differenza di textBlock. Questa opzione è utile per le celle semplici.

KeyValuePair

Proto per una coppia chiave-valore.

Rappresentazione JSON
{
  "key": string,
  "keyBlock": {
    object(Block)
  },
  "valueBlock": {
    object(Block)
  },
  "valueType": string,
  "normalizedKey": string
}
Campi
key

string

Il valore stringa della chiave.

keyBlock

object(Block)

Blocco chiave della coppia contenente il riquadro di delimitazione normalizzato e il testo della chiave.

valueBlock

object(Block)

Blocco di valori della coppia contenente il riquadro di delimitazione normalizzato e il testo del valore, comprese le strutture potenzialmente più profonde all'interno del testo del valore.

valueType

string

Tipo di valore. Le stringhe valide sono le seguenti:

"generic" (generico): per il testo generico mappato a un valore. "number" (numero) per i tipi numerici e "id" (ID) per gli identificatori generici. "currency" (valuta) per i valori di valuta. "date" (data) per le date. "time" (ora) per i valori di ora e durata. "date_range" per gli intervalli di date. "address" (indirizzo) per i valori di indirizzo (possono essere lunghi). "person" (persona) per nomi di persone o altri identificatori personali. "phone" (telefono) per i numeri di telefono.

normalizedKey

string

(Facoltativo) Il testo della chiave normalizzato se il testo è comune e classificato.

Ad esempio, "TOTALE DOVUTO" verrà normalizzato in "Importo totale".

SafeSearchAnnotation

Insieme di funzionalità relative all'immagine, calcolate con metodi di computer vision su verticali di ricerca sicura (ad esempio, per adulti, spoof, medico, 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 contenga contenuti per adulti. I contenuti per adulti possono includere elementi come 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 farla apparire 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 della richiesta contenga contenuti allusivi. I contenuti osé possono includere, a titolo esemplificativo, abiti succinti o trasparenti, nudità strategicamente coperta, pose oscene o provocanti o primi piani di parti del corpo sensibili.

ImageProperties

Memorizza le proprietà dell'immagine, come 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 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 da e verso le rappresentazioni dei colori in varie lingue rispetto alla compattezza. Ad esempio, i campi di questa rappresentazione possono essere forniti in modo semplice al costruttore di "java.awt.Color" in Java, possono essere forniti in modo semplice 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 utilizzare 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 nell'intervallo [0, 1].

green

number

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

blue

number

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

alpha

number

La frazione di questo colore da applicare al pixel. ovvero il colore finale del pixel è definito dall'equazione:

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

Ciò significa che un valore pari a 1,0 corrisponde a un colore pieno, mentre un valore pari a 0,0 corrisponde a un colore completamente trasparente. Utilizza un messaggio wrapper anziché un semplice scalare float, in modo da poter distinguere tra un valore predefinito e il valore che viene annullato. Se omesso, questo oggetto colore deve essere visualizzato come un colore pieno (come se il valore alfa fosse stato fornito esplicitamente con un valore di 1.0).

CropHintsAnnotation

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

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

object(CropHint)

Risultati dei suggerimenti 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

Confidenza che si tratti di una regione saliente. Intervallo [0, 1].

importanceFraction

number

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

WebDetection

Informazioni pertinenti per l'immagine provenienti 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 corrispondenti al 100% provenienti da internet. Possono includere copie ridimensionate dell'immagine della query.

partialMatchingImages[]

object(WebImage)

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

pagesWithMatchingImages[]

object(WebPage)

Pagine web contenenti le immagini corrispondenti trovate su internet.

visuallySimilarImages[]

object(WebImage)

I risultati delle immagini visivamente simili.

bestGuessLabels[]

object(WebLabel)

La migliore ipotesi del servizio sull'argomento dell'immagine richiesta. Dedotte 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 per l'entità. Non normalizzato e non confrontabile tra diverse query di immagini.

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 risultante.

score

number

(Obsoleto) Punteggio di pertinenza complessivo per l'immagine.

WebPage

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 dei risultati.

score

number

(Obsoleto) Punteggio di pertinenza complessivo per la pagina web.

pageTitle

string

Titolo della pagina web, può contenere markup HTML.

fullMatchingImages[]

object(WebImage)

Immagini completamente corrispondenti sulla pagina. Possono includere copie ridimensionate dell'immagine della query.

partialMatchingImages[]

object(WebImage)

Immagini con corrispondenza parziale sulla pagina. Queste immagini sono abbastanza simili da condividere alcune caratteristiche dei punti 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 di una richiesta di ricerca di un prodotto.

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

string (Timestamp format)

Timestamp dell'indice che ha fornito questi risultati. Le modifiche apportate dopo questa data non si riflettono nei risultati attuali.

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

results[]

object(Result)

Elenco dei risultati, uno per ogni corrispondenza di prodotto.

productGroupedResults[]

object(GroupedResult)

Elenco dei risultati raggruppati per prodotti rilevati nell'immagine della query. Ogni voce corrisponde a un poligono di delimitazione nell'immagine della query e contiene i prodotti corrispondenti specifici per quella regione. Potrebbero essere presenti corrispondenze di prodotto 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 della corrispondenza, compreso tra 0 (nessuna confidenza) e 1 (confidenza totale).

image

string

Il nome della risorsa dell'immagine del prodotto che corrisponde maggiormente 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 intorno al prodotto rilevato nell'immagine della query.

results[]

object(Result)

Elenco dei risultati, uno per ogni corrispondenza di prodotto.

objectAnnotations[]

object(ObjectAnnotation)

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

ObjectAnnotation

Previsione di ciò che è l'oggetto nel riquadro di delimitazione.

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

string

ID oggetto che deve corrispondere al MID di EntityAnnotation.

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 sull'origine dell'immagine.

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.

ImageQuality

Memorizza i punteggi di qualità delle immagini, che possono essere di qualità estetica o tecnica.

Rappresentazione JSON
{
  "qualityScore": number
}
Campi
qualityScore

number

Un punteggio che rappresenta la qualità estetica/tecnica dell'immagine. Il punteggio è compreso nell'intervallo [0, 1]. Un valore più alto corrisponde a foto dall'aspetto più professionale. 0 indica che l'immagine è di qualità molto scadente, mentre 1 indica che l'immagine è di qualità molto elevata.

QualityOptimizationResult

Memorizza i byte delle immagini avanzate.

Rappresentazione JSON
{
  "qualityOptimizationType": enum(Type),
  "image": string,
  "mimeType": string
}
Campi
qualityOptimizationType

enum(Type)

Tipo di ottimizzazione obbligatorio.

image

string (bytes format)

Byte dell'immagine ottimizzata.

Una stringa con codifica in base64.

mimeType

string

Tipo MIME dell'immagine di output.

LocalizedBarcodeAnnotation

Insieme di codici a barre rilevati con riquadri di delimitazione.

Rappresentazione JSON
{
  "format": string,
  "valueFormat": string,
  "value": string,
  "confidence": number,
  "boundingPoly": {
    object(BoundingPoly)
  }
}
Campi
format

string

Il formato del codice a barre descrive il formato di un codice a barre. I formati supportati sono: CODE_128: tipo Code 128. CODE_39: tipo Code 39. CODE_93: tipo di codice 93. CODABAR: tipo di Codabar. DATA_MATRIX: tipo Data Matrix 2D. ITF: tipo di ITF. EAN_13: tipo EAN-13. EAN_8: tipo EAN-8. QR_CODE: tipo di codice QR 2D. UPC_A: tipo UPC-A. UPC_E: tipo UPC-E. PDF417: tipo PDF417. AZTEC: tipo di codice Aztec 2D. DATABAR: tipo di codice GS1 DataBar.

valueFormat

string

L'ID formato del valore del codice a barre descrive il formato del valore codificato da un codice a barre. I formati dei valori supportati sono: CONTACT_INFO: dati di contatto. EMAIL: indirizzo email. ISBN: identificatore ISBN. PHONE: Numero di telefono. PRODOTTO: Prodotto. SMS: messaggio SMS. TEXT: Stringa di testo. URL: indirizzo URL. WIFI: informazioni sul Wi-Fi. GEO: Geolocalizzazione (longitudine e latitudine). CALENDAR_EVENT: evento nel calendario. DRIVER_LICENSE: patente di guida.

value

string

Il valore del codice a barre, ovvero il valore ASCII acquisito nel codice a barre. Il codice a barre può codificare valori strutturati, ad esempio "MEBKM:TITLE:Google;URL:https://www.google.com;;'.

confidence

number

Il valore di confidenza del risultato. Intervallo [0, 1].

boundingPoly

object(BoundingPoly)

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