- JSON-Darstellung
- FaceAnnotation
- Landmark
- Type
- Position
- Likelihood
- EntityAnnotation
- LocationInfo
- Property
- LocalizedObjectAnnotation
- TextAnnotation
- Page
- TextProperty
- DetectedLanguage
- DetectedBreak
- BreakType
- Block
- Paragraph
- Word
- Symbol
- BlockType
- SafeSearchAnnotation
- ImageProperties
- DominantColorsAnnotation
- ColorInfo
- Color
- CropHintsAnnotation
- CropHint
- WebDetection
- WebEntity
- WebImage
- WebPage
- WebLabel
- ProductSearchResults
- Result
- GroupedResult
- ObjectAnnotation
- ImageAnnotationContext
Antwort auf eine Anfrage zur Bildannotation
JSON-Darstellung | |
---|---|
{ "faceAnnotations": [ { object ( |
Felder | |
---|---|
faceAnnotations[] |
Falls vorhanden, wurde die Gesichtserkennung erfolgreich abgeschlossen. |
landmarkAnnotations[] |
Falls vorhanden, wurde die Landmark-Erkennung erfolgreich abgeschlossen. |
logoAnnotations[] |
Falls vorhanden, wurde die Logoerkennung erfolgreich abgeschlossen. |
labelAnnotations[] |
Falls vorhanden, wurde die Labelerkennung erfolgreich abgeschlossen. |
localizedObjectAnnotations[] |
Falls vorhanden, wurde die Objekterkennung erfolgreich abgeschlossen. Die Auflistung wird absteigend nach Konfidenzwert sortiert. |
textAnnotations[] |
Falls vorhanden, wurde die Erkennung von Text (OCR) erfolgreich abgeschlossen. |
fullTextAnnotation |
Falls vorhanden, wurde die Erkennung von Text (OCR) oder Dokumenttext (OCR) erfolgreich abgeschlossen. Diese Anmerkung stellt die strukturelle Hierarchie für den OCR-Erkennungstext bereit. |
safeSearchAnnotation |
Falls vorhanden, wurde die SafeSearch-Anmerkung erfolgreich abgeschlossen. |
imagePropertiesAnnotation |
Falls vorhanden, wurden Bildeigenschaften erfolgreich extrahiert. |
cropHintsAnnotation |
Falls vorhanden, wurden Zuschneidehinweise erfolgreich abgeschlossen. |
webDetection |
Falls vorhanden, wurde die Weberkennung erfolgreich abgeschlossen. |
productSearchResults |
Falls vorhanden, wurde die Produktsuche erfolgreich abgeschlossen. |
error |
Die Fehlermeldung für den Vorgang, falls diese festgelegt ist. Beachten Sie, dass die eingetragenen Bildannotationen korrekt sind, auch wenn ein |
context |
Falls vorhanden, sind Kontextinformationen erforderlich, um zu verstehen, woher dieses Bild stammt. |
FaceAnnotation
Ein „FaceAnnotation“-Objekt enthält die Ergebnisse der Gesichtserkennung.
JSON-Darstellung | |
---|---|
{ "boundingPoly": { object ( |
Felder | |
---|---|
boundingPoly |
Begrenzungspolygon um das Gesicht. Die Koordinaten des Begrenzungsrahmens haben den Maßstab des Originalbildes. Der Begrenzungsrahmen wird so berechnet, dass er das Gesicht entsprechend den menschlichen Erwartungen „einrahmt“. Es basiert auf den Landmark-Ergebnissen. Es kann sein, dass eine oder mehrere x- bzw. y-Koordinaten im |
fdBoundingPoly |
Das Begrenzungspolygon
(face detection, Gesichtserkennung). |
landmarks[] |
Erkannte markante Stellen im Gesicht (Landmarks). |
rollAngle |
Rollwinkel, der den Betrag der Drehung des Gesichts im Uhrzeigersinn/gegen den Uhrzeigersinn relativ zur senkrechten Achse des Bildes um die Achse senkrecht zum Gesicht angibt. Bereich [-180,180]. |
panAngle |
Schiebewinkel, der den nach links/rechts gerichteten Winkel des Gesichts relativ zur vertikalen Ebene senkrecht zum Bild anzeigt. Bereich [-180,180]. |
tiltAngle |
Neigungswinkel, der den Aufwärts-/Abwärtswinkel des Gesichts relativ zur horizontalen Ebene des Bildes anzeigt. Bereich [-180,180]. |
detectionConfidence |
Erkennungskonfidenz. Bereich [0, 1]. |
landmarkingConfidence |
Gesichts-Landmark-Konfidenz. Bereich [0, 1]. |
joyLikelihood |
Wahrscheinlichkeit für Freude. |
sorrowLikelihood |
Wahrscheinlichkeit für Kummer. |
angerLikelihood |
Wahrscheinlichkeit für Wut. |
surpriseLikelihood |
Wahrscheinlichkeit für Überraschung. |
underExposedLikelihood |
Wahrscheinlichkeit für unterbelichtetes Foto. |
blurredLikelihood |
Wahrscheinlichkeit für unscharfes Foto. |
headwearLikelihood |
Wahrscheinlichkeit für Kopfbedeckung. |
Landmark
Eine gesichtsspezifische markante Stelle (z. B. ein Gesichtsmerkmal)
JSON-Darstellung | |
---|---|
{ "type": enum ( |
Felder | |
---|---|
type |
Gesichts-Landmark-Typ |
position |
Gesichts-Landmark-Position |
Typ
Gesichts-Landmark-Typ (Gesichtsmerkmaltyp). Links und rechts werden aus der Sicht des Betrachters des Bildes definiert, ohne Spiegelprojektionen zu berücksichtigen, die für Fotos typisch sind. Deshalb ist LEFT_EYE
typischerweise das rechte Auge der Person.
Enums | |
---|---|
UNKNOWN_LANDMARK |
Unbekannte Gesichts-Landmark erkannt. Sollte nicht ausgefüllt sein. |
LEFT_EYE |
Linkes Auge |
RIGHT_EYE |
Rechtes Auge |
LEFT_OF_LEFT_EYEBROW |
Links von der linken Augenbraue |
RIGHT_OF_LEFT_EYEBROW |
Rechte von der linken Augenbraue |
LEFT_OF_RIGHT_EYEBROW |
Linke von der rechten Augenbraue |
RIGHT_OF_RIGHT_EYEBROW |
Rechts von der rechten Augenbraue |
MIDPOINT_BETWEEN_EYES |
Mittelpunkt zwischen den Augen |
NOSE_TIP |
Nasenspitze |
UPPER_LIP |
Oberlippe |
LOWER_LIP |
Unterlippe |
MOUTH_LEFT |
Mund links |
MOUTH_RIGHT |
Mund rechts |
MOUTH_CENTER |
Mundmitte |
NOSE_BOTTOM_RIGHT |
Nase, unten rechts |
NOSE_BOTTOM_LEFT |
Nase, unten links |
NOSE_BOTTOM_CENTER |
Nase, unten Mitte |
LEFT_EYE_TOP_BOUNDARY |
Linkes Auge, obere Begrenzung |
LEFT_EYE_RIGHT_CORNER |
Linkes Auge, rechte Ecke |
LEFT_EYE_BOTTOM_BOUNDARY |
Linkes Auge, untere Begrenzung |
LEFT_EYE_LEFT_CORNER |
Linkes Auge, linke Ecke |
RIGHT_EYE_TOP_BOUNDARY |
Rechtes Auge, obere Begrenzung |
RIGHT_EYE_RIGHT_CORNER |
Rechtes Auge, rechte Ecke |
RIGHT_EYE_BOTTOM_BOUNDARY |
Rechtes Auge, untere Begrenzung |
RIGHT_EYE_LEFT_CORNER |
Rechtes Auge, linke Ecke |
LEFT_EYEBROW_UPPER_MIDPOINT |
Linke Augenbraue, oberer Mittelpunkt |
RIGHT_EYEBROW_UPPER_MIDPOINT |
Rechte Augenbraue, oberer Mittelpunkt |
LEFT_EAR_TRAGION |
Tragion linkes Ohr |
RIGHT_EAR_TRAGION |
Tragion rechtes Ohr |
LEFT_EYE_PUPIL |
Pupille linkes Auge |
RIGHT_EYE_PUPIL |
Pupille rechtes Auge |
FOREHEAD_GLABELLA |
Glabella Stirn |
CHIN_GNATHION |
Gnathion Kinn |
CHIN_LEFT_GONION |
Kinn, linker Gonion |
CHIN_RIGHT_GONION |
Kinn, rechter Gonion |
Position
Eine 3D-Position im Bild, die hauptsächlich für Gesichtserkennungs-Landmarks verwendet wird. Eine gültige Position muss sowohl x- als auch y-Koordinaten haben. Die Positionskoordinaten haben den gleichen Maßstab wie das Originalbild.
JSON-Darstellung | |
---|---|
{ "x": number, "y": number, "z": number } |
Felder | |
---|---|
x |
X-Koordinate |
y |
Y-Koordinate |
z |
Z-Koordinate (oder Tiefe) |
Likelihood
Eine "bucketisierte" Darstellung von Wahrscheinlichkeiten, die Kunden höchst stabile Ergebnisse bei Modellaktualisierungen liefern soll.
Enums | |
---|---|
UNKNOWN |
Unbekannte Wahrscheinlichkeit |
VERY_UNLIKELY |
Sehr unwahrscheinlich |
UNLIKELY |
Unwahrscheinlich |
POSSIBLE |
Möglich |
LIKELY |
Wahrscheinlich |
VERY_LIKELY |
Sehr wahrscheinlich |
EntityAnnotation
Satz erkannter Entitätsmerkmale
JSON-Darstellung | |
---|---|
{ "mid": string, "locale": string, "description": string, "score": number, "confidence": number, "topicality": number, "boundingPoly": { object ( |
Felder | |
---|---|
mid |
Intransparente Entitäts-ID. Einige IDs sind möglicherweise in der Google Knowledge Graph Search API verfügbar. |
locale |
Sprachcode für die Sprache, in der die textliche |
description |
Beschreibungstext für die Entität in der in |
score |
Gesamtwert des Ergebnisses. Bereich [0, 1]. |
confidence |
Veraltet. Verwenden Sie stattdessen |
topicality |
Die Relevanz des ICA-Labels (Image Content Annotation) für das Bild. Zum Beispiel ist die Relevanz von "Turm" für ein Bild, das den erkannten "Eiffelturm" enthält, wahrscheinlich höher als für ein Bild, das ein erkanntes entferntes, hoch aufragendes Gebäude enthält. Dabei kann die Konfidenz, dass es in jedem Bild einen Turm gibt, gleich sein. Bereich [0, 1]. |
boundingPoly |
Bildbereich, zu dem diese Entität gehört. Nicht für |
locations[] |
Standortinformation für die erkannte Entität. Es können mehrere Elemente des Typs |
properties[] |
Einige Entitäten haben möglicherweise optionale, vom Nutzer angegebene Felder des Typs |
LocationInfo
Erkannte Entitätsstandortinformationen
JSON-Darstellung | |
---|---|
{
"latLng": {
object ( |
Felder | |
---|---|
latLng |
Breiten-/Längengradkoordinaten des Standorts |
Property
Eine Property
besteht aus einem vom Nutzer bereitgestellten Name-Wert-Paar.
JSON-Darstellung | |
---|---|
{ "name": string, "value": string, "uint64Value": string } |
Felder | |
---|---|
name |
Name der Eigenschaft |
value |
Wert der Eigenschaft |
uint64Value |
Wert von numerischen Attributen |
LocalizedObjectAnnotation
Satz erkannter Objekte mit Begrenzungsrahmen
JSON-Darstellung | |
---|---|
{
"mid": string,
"languageCode": string,
"name": string,
"score": number,
"boundingPoly": {
object ( |
Felder | |
---|---|
mid |
Objekt-ID, die dem Feld „mid“ von „EntityAnnotation“ entsprechen sollte |
languageCode |
Der BCP-47-Sprachcode, z. B. „en-US“ oder „sr-Latn“. Weitere Informationen finden Sie unter http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. |
name |
Objektname in der in |
score |
Konfidenzwert des Ergebnisses. Bereich [0, 1]. |
boundingPoly |
Bildbereich, zu dem diese Entität gehört. Darf nicht leer sein. |
TextAnnotation
TextAnnotation enthält eine strukturierte Darstellung von mit OCR extrahiertem Text. Die Hierarchie einer mit OCR extrahierten Textstruktur sieht folgendermaßen aus: TextAnnotation -> Seite -> Block -> Absatz -> Wort -> Symbol. Jede Strukturkomponente ab Seite kann außerdem eigene Eigenschaften haben. Attribute beschreiben erkannte Sprachen, Unterbrechungen usw. Weitere Informationen finden Sie in der Definition für TextAnnotation.TextProperty
weiter unten.
JSON-Darstellung | |
---|---|
{
"pages": [
{
object ( |
Felder | |
---|---|
pages[] |
Liste der durch OCR erkannten Seiten |
text |
Auf den Seiten erkannter UTF-8-Text |
Seite
Durch OCR erkannte Seite
JSON-Darstellung | |
---|---|
{ "property": { object ( |
Felder | |
---|---|
property |
Weitere auf der Seite erkannte Informationen |
width |
Seitenbreite. Bei PDF-Dateien erfolgt die Angabe in Punkten. Bei Bildern (einschließlich TIFFs) ist die Einheit Pixel. |
height |
Seitenhöhe. Bei PDF-Dateien erfolgt die Angabe in Punkten. Bei Bildern (einschließlich TIFFs) ist die Einheit Pixel. |
blocks[] |
Liste von Textblöcken, Bildern usw. auf dieser Seite |
confidence |
Die Konfidenz der OCR-Ergebnisse auf der Seite. Bereich [0, 1]. |
TextProperty
Zusätzliche Informationen, die bei der Strukturkomponente erkannt wurden
JSON-Darstellung | |
---|---|
{ "detectedLanguages": [ { object ( |
Felder | |
---|---|
detectedLanguages[] |
Eine Liste der erkannten Sprachen zusammen mit der Konfidenz |
detectedBreak |
Erkannter Anfang oder erkanntes Ende eines Textsegments |
DetectedLanguage
Erkannte Sprache für eine Strukturkomponente
JSON-Darstellung | |
---|---|
{ "languageCode": string, "confidence": number } |
Felder | |
---|---|
languageCode |
Der BCP-47-Sprachcode, z. B. „en-US“ oder „sr-Latn“. Weitere Informationen finden Sie unter http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. |
confidence |
Die Konfidenz der erkannten Sprache. Bereich [0, 1]. |
DetectedBreak
Erkannter Anfang oder erkanntes Ende einer Strukturkomponente
JSON-Darstellung | |
---|---|
{
"type": enum ( |
Felder | |
---|---|
type |
Erkannte Art der Unterbrechung |
isPrefix |
Wahr, wenn die Unterbrechung vor dem Element steht |
BreakType
Aufzählung zur Angabe der Art der erkannten Unterbrechung. Neue Zeile, Leerzeichen usw.
Enums | |
---|---|
UNKNOWN |
Unbekannte Art von Unterbrechungslabel |
SPACE |
Normales Leerzeichen |
SURE_SPACE |
Sichere Lücke (sehr breit) |
EOL_SURE_SPACE |
Zeilenumbruch |
HYPHEN |
Bindestrich am Ende der Zeile, der im Text nicht vorhanden ist; tritt nicht gleichzeitig mit SPACE , LEADER_SPACE oder LINE_BREAK auf. |
LINE_BREAK |
Zeilenumbruch, der einen Absatz beendet |
Block
Logisches Element auf der Seite
JSON-Darstellung | |
---|---|
{ "property": { object ( |
Felder | |
---|---|
property |
Zusätzliche für den Block erkannte Informationen |
boundingBox |
Der Begrenzungsrahmen für den Block. Die Reihenfolge der Eckpunkte lautet oben links, oben rechts, unten rechts und unten links. Wenn eine Drehung des Begrenzungsrahmens erkannt wird, wird die Drehung so „um die obere linke Ecke“ dargestellt, dass die Reihenfolge der Eckpunkte der „natürlichen“ Leserichtung des Texts entspricht. Beispiel:
und die Eckpunktreihenfolge ist weiterhin (0, 1, 2, 3). |
paragraphs[] |
Liste der Absätze in diesem Block (wenn der Block den Typ „Text“ hat) |
blockType |
Erkannter Blocktyp (Text, Bild usw.) für diesen Block |
confidence |
Die Konfidenz der OCR-Ergebnisse für den Block. Bereich [0, 1]. |
Absatz
Strukturelle Texteinheit, die mehrere Wörter in einer bestimmten Reihenfolge darstellt
JSON-Darstellung | |
---|---|
{ "property": { object ( |
Felder | |
---|---|
property |
Zusätzliche für den Absatz erkannte Informationen |
boundingBox |
Der Begrenzungsrahmen für den Absatz. Die Reihenfolge der Eckpunkte lautet oben links, oben rechts, unten rechts und unten links. Wenn eine Drehung des Begrenzungsrahmens erkannt wird, wird die Drehung so „um die obere linke Ecke“ dargestellt, dass die Reihenfolge der Eckpunkte der „natürlichen“ Leserichtung des Texts entspricht. Beispiel: * Wenn der Text horizontal ist, könnte der Rahmen so aussehen: 0----1 | | 3----2 * Wenn er um 180 Grad um die obere linke Ecke gedreht wird, wird daraus: 2----3 | | 1----0 und die Eckpunktreihenfolge ist weiterhin (0, 1, 2, 3). |
words[] |
Liste aller Wörter in diesem Absatz |
confidence |
Die Konfidenz der OCR-Ergebnisse für den Absatz. Bereich [0, 1]. |
Word
Darstellung eines Worts
JSON-Darstellung | |
---|---|
{ "property": { object ( |
Felder | |
---|---|
property |
Zusätzliche für das Wort erkannte Informationen |
boundingBox |
Der Begrenzungsrahmen für das Wort. Die Reihenfolge der Eckpunkte lautet oben links, oben rechts, unten rechts und unten links. Wenn eine Drehung des Begrenzungsrahmens erkannt wird, wird die Drehung so „um die obere linke Ecke“ dargestellt, dass die Reihenfolge der Eckpunkte der „natürlichen“ Leserichtung des Texts entspricht. Beispiel: * Wenn der Text horizontal ist, könnte der Rahmen so aussehen: 0----1 | | 3----2 * Wenn er um 180 Grad um die obere linke Ecke gedreht wird, wird daraus: 2----3 | | 1----0 und die Eckpunktreihenfolge ist weiterhin (0, 1, 2, 3). |
symbols[] |
Liste der Symbole im Wort. Die Reihenfolge der Symbole folgt der natürlichen Lesereihenfolge. |
confidence |
Die Konfidenz der OCR-Ergebnisse für das Wort. Bereich [0, 1]. |
Symbol
Darstellung eines Symbols
JSON-Darstellung | |
---|---|
{ "property": { object ( |
Felder | |
---|---|
property |
Zusätzliche für das Symbol erkannte Informationen |
boundingBox |
Der Begrenzungsrahmen für das Symbol. Die Reihenfolge der Eckpunkte lautet oben links, oben rechts, unten rechts und unten links. Wenn eine Drehung des Begrenzungsrahmens erkannt wird, wird die Drehung so „um die obere linke Ecke“ dargestellt, dass die Reihenfolge der Eckpunkte der „natürlichen“ Leserichtung des Texts entspricht. Beispiel: * Wenn der Text horizontal ist, könnte der Rahmen so aussehen: 0----1 | | 3----2 * Wenn er um 180 Grad um die obere linke Ecke gedreht wird, wird daraus: 2----3 | | 1----0 und die Eckpunktreihenfolge ist weiterhin (0, 1, 2, 3). |
text |
Die tatsächliche UTF-8-Darstellung des Symbols |
confidence |
Die Konfidenz der OCR-Ergebnisse für das Symbol. Bereich [0, 1]. |
BlockType
Typ eines Blocks (Text, Bild usw.), der durch OCR identifiziert wurde.
Enums | |
---|---|
UNKNOWN |
Unbekannter Blocktyp |
TEXT |
Normaler Textblock |
TABLE |
Tabellenblock |
PICTURE |
Bildblock |
RULER |
Feld mit horizontaler/vertikaler Linie |
BARCODE |
Barcodeblock |
SafeSearchAnnotation
Eine Reihe von Merkmalen des Bildes, die durch Methoden für Computer Vision in Bezug auf SafeSearch-Kategorien berechnet wurden (z. B. nicht jugendfreie Inhalte, Spoofing, Medizin, Gewalt).
JSON-Darstellung | |
---|---|
{ "adult": enum ( |
Felder | |
---|---|
adult |
Stellt die Wahrscheinlichkeit dar, dass das Bild Inhalte nur für Erwachsene enthält. Inhalte nur für Erwachsene können Elemente wie Nacktheit, pornografische Bilder oder Cartoons oder sexuelle Aktivitäten enthalten. |
spoof |
Wahrscheinlichkeit für Spoofing. Die Wahrscheinlichkeit, dass eine Änderung an der kanonischen Version des Bildes vorgenommen wurde, um es lustig oder anstößig erscheinen zu lassen. |
medical |
Wahrscheinlichkeit, dass dies ein medizinisches Bild ist. |
violence |
Wahrscheinlichkeit, dass dieses Bild gewalttätige Inhalte enthält. |
racy |
Wahrscheinlichkeit, dass das Anfragebild nicht jugendfreie Inhalte enthält. Nicht jugendfreie Inhalte können unter anderem knappe oder durchsichtige Bekleidung, strategisch verhüllte Nacktheit, anzügliche oder provozierende Posen oder Nahaufnahmen sensibler Körperpartien umfassen. |
ImageProperties
Speichert Bildeigenschaften, z. B. dominante Farben.
JSON-Darstellung | |
---|---|
{
"dominantColors": {
object ( |
Felder | |
---|---|
dominantColors |
Falls vorhanden, wurden dominante Farben erfolgreich abgeschlossen. |
DominantColorsAnnotation
Satz dominanter Farben und ihre entsprechenden Werte
JSON-Darstellung | |
---|---|
{
"colors": [
{
object ( |
Felder | |
---|---|
colors[] |
RGB-Farbwerte mit ihren Werten und ihrem Pixelanteil |
ColorInfo
Die Farbinformationen umfassen RGB-Kanäle, den Wert sowie den Anteil des Bildes, den die jeweilige Farbe einnimmt.
JSON-Darstellung | |
---|---|
{
"color": {
object ( |
Felder | |
---|---|
color |
RGB-Komponenten der Farbe |
score |
Bildspezifischer Wert für diese Farbe. Wert im Bereich [0, 1]. |
pixelFraction |
Der Anteil der Pixel, die die jeweilige Farbe im Bild belegt. Wert im Bereich [0, 1]. |
Color
Ermöglicht die Darstellung einer Farbe im RGBA-Farbraum. Dies ist eine einfache, wenn auch nicht so kompakte Möglichkeit zur Umwandlung von Farbdarstellungen zwischen verschiedenen Sprachen. Zum Beispiel lassen sich die Felder dieser Darstellung auf triviale Weise dem Konstruktor von „java.awt.Color“ in Java bereitstellen; ebenso der Methode „+colorWithRed:green:blue:alpha“ von UIColor in iOS. Mit geringem Aufwand lässt sie sich auch als CSS-String „rgba()“ in JavaScript formatieren.
Hinweis: Diese Proto-Datei enthält keine Informationen zum absoluten Farbraum, der zur Interpretation des RGB-Werts verwendet werden sollte (z. B. sRGB, Adobe RGB, DCI-P3, BT.2020 usw.). Anwendungen sollten standardmäßig den sRGB-Farbraum verwenden.
Beispiel (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();
}
// ...
Beispiel (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;
}
// ...
Beispiel (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('');
};
// ...
JSON-Darstellung | |
---|---|
{ "red": number, "green": number, "blue": number, "alpha": number } |
Felder | |
---|---|
red |
Der Rotanteil der Farbe als Wert im Intervall [0, 1]. |
green |
Der Grünanteil der Farbe als Wert im Intervall [0, 1]. |
blue |
Der Blauanteil der Farbe als Wert im Intervall [0, 1]. |
alpha |
Der Anteil dieser Farbe, der auf den Pixel angewendet werden soll. Die endgültige Pixelfarbe wird durch folgende Gleichung definiert: Pixelfarbe = Alpha * (diese Farbe) + (1,0 - Alpha) * (Hintergrundfarbe) Der Wert 1,0 entspricht einer soliden Farbdarstellung, während die Farbe bei einem Wert von 0,0 vollständig transparent ist. Dabei wird anstelle eines einfachen Float-Skalarwerts eine Wrapper-Nachricht verwendet, sodass zwischen einem Standardwert und dem zurückgesetzten Wert unterschieden werden kann. Wenn nicht angegeben, wird das Farbobjekt als solide Farbe dargestellt (als ob für den Alphawert explizit 1,0 angegeben worden wäre). |
CropHintsAnnotation
Satz von Zuschneidehinweisen, die zum Generieren neuer Zuschneidevorgänge beim Verarbeiten von Bildern verwendet werden
JSON-Darstellung | |
---|---|
{
"cropHints": [
{
object ( |
Felder | |
---|---|
cropHints[] |
Ergebnisse der Zuschneidehinweise |
CropHint
Einzelner Zuschneidehinweis, der zum Generieren eines neuen Zuschneidevorgangs beim Verarbeiten eines Bildes verwendet wird
JSON-Darstellung | |
---|---|
{
"boundingPoly": {
object ( |
Felder | |
---|---|
boundingPoly |
Begrenzungspolygon für den Zuschnittbereich. Die Koordinaten des Begrenzungsrahmens haben den Maßstab des Originalbildes. |
confidence |
Die Konfidenz, dass dies ein wichtiger Bereich ist. Bereich [0, 1]. |
importanceFraction |
Anteil der Bedeutung dieses wichtigen Bereichs in Bezug auf das Originalbild |
WebDetection
Relevante Informationen für das Bild aus dem Internet
JSON-Darstellung | |
---|---|
{ "webEntities": [ { object ( |
Felder | |
---|---|
webEntities[] |
Abgeleitete Entitäten aus ähnlichen Bildern im Internet |
fullMatchingImages[] |
Komplett übereinstimmende Bilder aus dem Internet. Können skalierte Kopien des Abfragebildes beinhalten. |
partialMatchingImages[] |
Teilweise übereinstimmende Bilder aus dem Internet. Die Bilder sind so ähnlich, dass sie einige Hauptmerkmale teilen. Zum Beispiel wird ein Originalbild wahrscheinlich eine partielle Übereinstimmung mit seinen Zuschnitten haben. |
pagesWithMatchingImages[] |
Webseiten, die die den übereinstimmenden Bilder aus dem Internet enthalten |
visuallySimilarImages[] |
Die visuell ähnlichen Bildergebnisse |
bestGuessLabels[] |
Schätzung des wahrscheinlichsten Themas des Anfragebildes durch den Dienst. Abgeleitet aus ähnlichen Bildern im öffentlichen Web. |
WebEntity
Aus ähnlichen Bildern im Internet abgeleitete Entität
JSON-Darstellung | |
---|---|
{ "entityId": string, "score": number, "description": string } |
Felder | |
---|---|
entityId |
Intransparente Entitäts-ID |
score |
Gesamtrelevanzbewertung für die Entität. Nicht normalisiert und nicht für verschiedene Bildabfragen vergleichbar. |
description |
Kanonische Beschreibung der Entität auf Englisch |
WebImage
Metadaten für Onlinebilder
JSON-Darstellung | |
---|---|
{ "url": string, "score": number } |
Felder | |
---|---|
url |
Die Ergebnisbild-URL |
score |
(Veraltet) Gesamtrelevanzbewertung für das Bild |
WebPage
Metadaten für Webseiten
JSON-Darstellung | |
---|---|
{ "url": string, "score": number, "pageTitle": string, "fullMatchingImages": [ { object ( |
Felder | |
---|---|
url |
URL der Ergebniswebseite |
score |
(Verworfen) Gesamtrelevanzbewertung für die Webseite |
pageTitle |
Titel der Webseite, kann HTML-Markups enthalten |
fullMatchingImages[] |
Komplett übereinstimmende Bilder auf der Seite. Können skalierte Kopien des Abfragebildes beinhalten. |
partialMatchingImages[] |
Teilweise übereinstimmende Bilder auf der Seite. Die Bilder sind so ähnlich, dass sie einige Hauptmerkmale teilen. Zum Beispiel wird ein Originalbild wahrscheinlich eine partielle Übereinstimmung mit seinen Zuschnitten haben. |
WebLabel
Label, um zusätzliche Metadaten für die Weberkennung bereitzustellen
JSON-Darstellung | |
---|---|
{ "label": string, "languageCode": string } |
Felder | |
---|---|
label |
Label für zusätzliche Metadaten |
languageCode |
Der BCP-47-Sprachcode für |
ProductSearchResults
Ergebnisse für eine Produktsuche
JSON-Darstellung | |
---|---|
{ "indexTime": string, "results": [ { object ( |
Felder | |
---|---|
indexTime |
Zeitstempel des Index, der diese Ergebnisse bereitgestellt hat. Produkte, die der Produktgruppe nach dieser Zeit hinzugefügt oder aus der Produktgruppe entfernt wurden, sind nicht in den aktuellen Ergebnissen enthalten. Ein nanosekundengenauer Zeitstempel im Format „RFC3339 UTC ‚Zulu‘“. Beispiel: |
results[] |
Liste der Ergebnisse, eines für jede Produktübereinstimmung |
productGroupedResults[] |
Liste der Ergebnisse, die nach im Abfragebild erkannten Produkten gruppiert sind. Jeder Eintrag entspricht einem Begrenzungspolygon im Abfragebild und enthält die passenden Produkte für diese Region. In der Gesamtheit aller produktspezifischen Ergebnisse können Duplikate auftreten. |
Result
Informationen zu einem Produkt
JSON-Darstellung | |
---|---|
{
"product": {
object ( |
Felder | |
---|---|
product |
Produkt |
score |
Konfidenzwert für die Übereinstimmung, zwischen 0 (keine Konfidenz) und 1 (hohe Konfidenz) |
image |
Ressourcenname des Bildes des Produkts, das der Abfrage am nächsten kommt |
GroupedResult
Informationen zu Produkten, die einem einzelnen Produkt in einem Abfragebild ähneln
JSON-Darstellung | |
---|---|
{ "boundingPoly": { object ( |
Felder | |
---|---|
boundingPoly |
Begrenzungspolygon um das im Abfragebild erkannte Produkt |
results[] |
Liste der Ergebnisse, eines für jede Produktübereinstimmung |
objectAnnotations[] |
Liste der allgemeinen Vorhersagen für das Objekt im Begrenzungsrahmen |
ObjectAnnotation
Vorhersage für das Objekt im Begrenzungsrahmen
JSON-Darstellung | |
---|---|
{ "mid": string, "languageCode": string, "name": string, "score": number } |
Felder | |
---|---|
mid |
Objekt-ID, die dem Feld „mid“ von „EntityAnnotation“ entsprechen sollte |
languageCode |
Der BCP-47-Sprachcode, z. B. „en-US“ oder „sr-Latn“. Weitere Informationen finden Sie unter http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. |
name |
Objektname in der in |
score |
Konfidenzwert des Ergebnisses. Bereich [0, 1]. |
ImageAnnotationContext
Wenn ein Bild aus einer Datei (z. B. einer PDF-Datei) erstellt wurde, enthält diese Nachricht Informationen zur Quelle des Bildes.
JSON-Darstellung | |
---|---|
{ "uri": string, "pageNumber": number } |
Felder | |
---|---|
uri |
URI der Datei, die zur Erstellung des Bildes verwendet wurde |
pageNumber |
Falls es sich um eine PDF- oder TIFF-Datei handelt, gibt dieses Feld die Seitenzahl in der Datei an, die zum Erstellen des Bildes verwendet wurde. |