- JSON 表示法
- FaceAnnotation
- 地標
- 類型
- 位置
- 可能性
- EntityAnnotation
- LocationInfo
- Property
- LocalizedObjectAnnotation
- CustomEntityAnnotation
- TextAnnotation
- 頁面
- TextProperty
- DetectedLanguage
- DetectedBreak
- BreakType
- 封鎖
- 段落
- Word
- 符號
- BlockType
- 資料表
- TableRow
- TableCell
- KeyValuePair
- SafeSearchAnnotation
- ImageProperties
- DominantColorsAnnotation
- ColorInfo
- 顏色
- CropHintsAnnotation
- CropHint
- WebDetection
- WebEntity
- WebImage
- WebPage
- WebLabel
- ProductSearchResults
- 結果
- GroupedResult
- ObjectAnnotation
- ImageAnnotationContext
- ImageQuality
- QualityOptimizationResult
- LocalizedBarcodeAnnotation
圖片註解要求的回應。
| JSON 表示法 | |
|---|---|
{ "faceAnnotations": [ { object( |
|
| 欄位 | |
|---|---|
faceAnnotations[] |
如果存在,表示臉部偵測已順利完成。 |
landmarkAnnotations[] |
如果存在,代表地標偵測已順利完成。 |
logoAnnotations[] |
如果存在,表示標誌偵測已順利完成。 |
labelAnnotations[] |
如果有的話,標籤偵測作業已順利完成。 |
localizedObjectAnnotations[] |
如果存在,表示本地化物件偵測已順利完成。系統會依信賴度分數遞減排序。 |
customLabelAnnotations[] |
如果存在,自訂註解已順利完成。 |
textAnnotations[] |
如果存在,文字 (OCR) 偵測已順利完成。 |
fullTextAnnotation |
如果顯示文字 (OCR) 偵測或文件 (OCR) 文字偵測,表示已成功完成。這項註解提供 OCR 偵測到的文字結構階層。 |
safeSearchAnnotation |
如果存在,安全搜尋註解已順利完成。 |
imagePropertiesAnnotation |
如果圖片屬性存在,系統會成功擷取。 |
cropHintsAnnotation |
如果存在,代表裁剪提示已順利完成。 |
webDetection |
如果存在,代表網頁偵測已順利完成。 |
productSearchResults |
如果顯示這項資訊,代表產品搜尋已順利完成。 |
error |
如果已設定,則代表作業的錯誤訊息。請注意,即使 |
context |
如有脈絡資訊,請務必提供,以便瞭解圖片來源。 |
imageQualityAnnotation |
如有此欄位,表示影像品質計算已順利完成。 |
objectAttributeAnnotations[] |
如果存在,表示物件屬性計算已順利完成。屬性值會填入 EntityAnnotation.properties。示例: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 |
如果顯示這項資訊,表示圖片品質最佳化作業已順利完成。 |
localizedBarcodeAnnotations[] |
如果存在,表示本地化條碼偵測已順利完成。 |
臉部註解
臉部註解物件包含臉部偵測結果。
| JSON 表示法 | |
|---|---|
{ "boundingPoly": { object( |
|
| 欄位 | |
|---|---|
boundingPoly |
臉部周圍的定界多邊形。外框的座標會以原始圖片的比例顯示。系統會根據人類的期望計算定界框,將臉部「框」起來。這項功能會根據地標結果提供建議。請注意,如果圖片中只顯示部分臉部,系統可能不會在 |
fdBoundingPoly |
(臉部偵測) 前置字元。 |
landmarks[] |
偵測到臉部特徵。 |
rollAngle |
側傾角,表示臉部相對於圖像垂直方向,繞著垂直於臉部的軸順時針/逆時針旋轉的程度。範圍 [-180,180]。 |
panAngle |
偏擺角,表示臉部相對於垂直平面 (與圖片垂直) 的左右角度。範圍 [-180,180]。 |
tiltAngle |
俯仰角,表示臉部相對於圖片水平面的向上/向下角度。範圍 [-180,180]。 |
detectionConfidence |
偵測信心指數。範圍 [0, 1]。 |
landmarkingConfidence |
臉部特徵點的信心指數。範圍 [0, 1]。 |
joyLikelihood |
快樂的可能性。 |
sorrowLikelihood |
悲傷可能性。 |
angerLikelihood |
憤怒的可能性。 |
surpriseLikelihood |
驚喜的可能性。 |
underExposedLikelihood |
曝光不足的可能性。 |
blurredLikelihood |
模糊的相似度。 |
headwearLikelihood |
頭飾可能性。 |
地標
臉部特定地標 (例如臉部特徵)。
| JSON 表示法 | |
|---|---|
{ "type": enum( |
|
| 欄位 | |
|---|---|
type |
臉部特徵點類型。 |
position |
臉部特徵點位置。 |
類型
臉部地標 (特徵) 類型。左側和右側是從圖片觀看者的角度定義,不考慮相片中常見的鏡像投影。因此,LEFT_EYE 通常是人的右眼。
| 列舉 | |
|---|---|
UNKNOWN_LANDMARK |
偵測到不明臉部特徵。請勿填寫。 |
LEFT_EYE |
左眼。 |
RIGHT_EYE |
右眼。 |
LEFT_OF_LEFT_EYEBROW |
左眉毛左側。 |
RIGHT_OF_LEFT_EYEBROW |
左眉毛右側。 |
LEFT_OF_RIGHT_EYEBROW |
右眉毛的左側。 |
RIGHT_OF_RIGHT_EYEBROW |
右眉毛右側。 |
MIDPOINT_BETWEEN_EYES |
雙眼的中點。 |
NOSE_TIP |
鼻尖。 |
UPPER_LIP |
上唇。 |
LOWER_LIP |
下唇。 |
MOUTH_LEFT |
嘴角向左。 |
MOUTH_RIGHT |
嘴角向右。 |
MOUTH_CENTER |
嘴巴中央。 |
NOSE_BOTTOM_RIGHT |
右下方的鼻子。 |
NOSE_BOTTOM_LEFT |
鼻子,左下。 |
NOSE_BOTTOM_CENTER |
鼻子,正下方。 |
LEFT_EYE_TOP_BOUNDARY |
左眼,上界。 |
LEFT_EYE_RIGHT_CORNER |
左眼,右下角。 |
LEFT_EYE_BOTTOM_BOUNDARY |
左眼,下邊界。 |
LEFT_EYE_LEFT_CORNER |
左眼,左下角。 |
RIGHT_EYE_TOP_BOUNDARY |
右眼,上邊界。 |
RIGHT_EYE_RIGHT_CORNER |
右眼,右眼角。 |
RIGHT_EYE_BOTTOM_BOUNDARY |
右眼,下邊界。 |
RIGHT_EYE_LEFT_CORNER |
右眼,左下角。 |
LEFT_EYEBROW_UPPER_MIDPOINT |
左眉毛上方中點。 |
RIGHT_EYEBROW_UPPER_MIDPOINT |
右眉毛上方中點。 |
LEFT_EAR_TRAGION |
左耳耳屏點。 |
RIGHT_EAR_TRAGION |
右耳耳屏。 |
LEFT_EYE_PUPIL |
左眼瞳孔。 |
RIGHT_EYE_PUPIL |
右眼瞳孔。 |
FOREHEAD_GLABELLA |
額頭眉心。 |
CHIN_GNATHION |
下巴尖端。 |
CHIN_LEFT_GONION |
下巴左側下頜角。 |
CHIN_RIGHT_GONION |
下巴右側下頜角。 |
位置
圖片中的 3D 位置,主要用於臉部偵測地標。有效的 Position 必須同時包含 x 和 y 座標。位置座標的比例與原始圖片相同。
| JSON 表示法 | |
|---|---|
{ "x": number, "y": number, "z": number } |
|
| 欄位 | |
|---|---|
x |
X 座標。 |
y |
Y 座標。 |
z |
Z 座標 (或深度)。 |
可能性
以區間表示可能性,目的是在模型升級時,為客戶提供高度穩定的結果。
| 列舉 | |
|---|---|
UNKNOWN |
可能性不明。 |
VERY_UNLIKELY |
圖片不太可能屬於指定產業。 |
UNLIKELY |
圖片不太可能屬於指定的垂直領域。 |
POSSIBLE |
圖片可能屬於指定產業。 |
LIKELY |
圖片可能屬於指定產業。 |
VERY_LIKELY |
圖片極可能屬於指定垂直領域。 |
實體註解
偵測到的實體特徵集。
| JSON 表示法 | |
|---|---|
{ "mid": string, "locale": string, "description": string, "score": number, "confidence": number, "topicality": number, "boundingPoly": { object( |
|
| 欄位 | |
|---|---|
mid |
不透明的實體 ID。部分 ID 可能會顯示在 Google Knowledge Graph Search API 中。 |
locale |
實體文字 |
description |
實體的文字說明,以實體的 |
score |
結果的整體分數。範圍 [0, 1]。 |
confidence |
已淘汰;請改用 |
topicality |
ICA (圖片內容註解) 標籤與圖片的相關性。舉例來說,如果系統在圖片中偵測到「艾菲爾鐵塔」,「塔」這個字詞與這張圖片的關聯性,可能會高於與偵測到遠處高聳建築物的圖片的關聯性,即使系統對每張圖片中都有塔的信心度相同。範圍 [0, 1]。 |
boundingPoly |
這個實體所屬的圖片區域。未針對 |
locations[] |
偵測到的實體位置資訊。可能有多個 |
properties[] |
部分實體可能會有選用的使用者提供 |
地點資訊
偵測到的實體位置資訊。
| JSON 表示法 | |
|---|---|
{
"latLng": {
object( |
|
| 欄位 | |
|---|---|
latLng |
地點的經緯度座標。 |
屬性
Property 包含使用者提供的名稱/值組合。
| JSON 表示法 | |
|---|---|
{ "name": string, "value": string, "uint64Value": string, "confidence": number, "mid": string } |
|
| 欄位 | |
|---|---|
name |
房源名稱。 |
value |
屬性的值。 |
uint64Value |
數值屬性的值。 |
confidence |
值介於 [0..1] 之間。這個屬性值的信賴度。 |
mid |
不透明的屬性值 ID。部分 ID 可能會顯示在 Google Knowledge Graph Search API 中。藍色外套的屬性範例如下:Property { name: 'color' value: 'blue' mid: '/m/01g5v' // For color blue } |
本地化物件註解
一組偵測到的物件,並附上定界框。
| JSON 表示法 | |
|---|---|
{
"mid": string,
"languageCode": string,
"name": string,
"score": number,
"boundingPoly": {
object( |
|
| 欄位 | |
|---|---|
mid |
應與 EntityAnnotation mid 對齊的物件 ID。 |
languageCode |
BCP-47 語言代碼,例如「en-US」或「sr-Latn」。詳情請參閱 http://www.unicode.org/reports/tr35/#Unicode_locale_identifier。 |
name |
以 |
score |
結果的分數。範圍 [0, 1]。 |
boundingPoly |
這個物件所屬的圖片區域。這項屬性必須填入值。 |
CustomEntityAnnotation
CustomEntityAnnotation 包含使用 Vision 自訂模型預測的註解。
| JSON 表示法 | |
|---|---|
{ "model": string, "label": string, "score": number } |
|
| 欄位 | |
|---|---|
model |
用來識別建立這項註解的自訂模型。模型名稱的格式為所查詢自訂模型的資源網址: |
label |
自訂模型預測的標籤。 |
score |
自訂模型給予標籤的可信度分數。 |
文字註解
TextAnnotation 包含 OCR 擷取文字的結構化表示法。OCR 擷取文字結構的階層如下:TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol。從 Page 開始,每個結構化元件可能都有自己的屬性。屬性會說明偵測到的語言、中斷等。詳情請參閱下方的 TextAnnotation.TextProperty 訊息定義。
| JSON 表示法 | |
|---|---|
{
"pages": [
{
object( |
|
| 欄位 | |
|---|---|
pages[] |
OCR 偵測到的頁面清單。 |
text |
系統在網頁上偵測到 UTF-8 文字。 |
頁面
透過 OCR 偵測到的頁面。
| JSON 表示法 | |
|---|---|
{ "property": { object( |
|
| 欄位 | |
|---|---|
property |
在網頁上偵測到額外資訊。 |
width |
頁面寬度。如果是 PDF,單位為點。圖片 (包括 TIFF) 的單位是像素。 |
height |
頁面高度。如果是 PDF,單位為點。圖片 (包括 TIFF) 的單位是像素。 |
blocks[] |
這個頁面上的文字區塊、圖片等清單。 |
confidence |
網頁上 OCR 結果的信賴度。範圍 [0, 1]。 |
mergedText |
這個頁面中偵測到的所有 UTF-8 文字。除非在 TextDetectionParams.page_filter 中指定,否則預設不會傳回這個欄位。 |
TextProperty
在結構性元件中偵測到額外資訊。
| JSON 表示法 | |
|---|---|
{ "detectedLanguages": [ { object( |
|
| 欄位 | |
|---|---|
detectedLanguages[] |
偵測到的語言清單和信賴度。 |
detectedBreak |
偵測到文字區隔的開頭或結尾。 |
DetectedLanguage
結構化元件偵測到的語言。
| JSON 表示法 | |
|---|---|
{ "languageCode": string, "confidence": number } |
|
| 欄位 | |
|---|---|
languageCode |
BCP-47 語言代碼,例如「en-US」或「sr-Latn」。詳情請參閱 http://www.unicode.org/reports/tr35/#Unicode_locale_identifier。 |
confidence |
偵測到的語言的信賴度。範圍 [0, 1]。 |
DetectedBreak
偵測到結構化元件的開始或結束。
| JSON 表示法 | |
|---|---|
{
"type": enum( |
|
| 欄位 | |
|---|---|
type |
偵測到的換行類型。 |
isPrefix |
如果換行符號會加在元素前面,則為 True。 |
分隔類型
以列舉方式表示找到的換行類型。換行、空格等。
| 列舉 | |
|---|---|
UNKNOWN |
不明的休息標籤類型。 |
SPACE |
一般空間。 |
SURE_SPACE |
確定空格 (非常寬)。 |
EOL_SURE_SPACE |
換行符號。 |
HYPHEN |
文字中沒有行尾連字號,且不會與 SPACE、LEADER_SPACE 或 LINE_BREAK 同時出現。 |
LINE_BREAK |
結束段落的換行符號。 |
封鎖
網頁上的邏輯元素。
| JSON 表示法 | |
|---|---|
{ "property": { object( |
|
| 欄位 | |
|---|---|
property |
系統偵測到該區塊的其他資訊。 |
boundingBox |
區塊的定界框。頂點順序為左上角、右上角、右下角、左下角。如果系統偵測到邊界框旋轉,就會以左上角為中心,以「自然」方向讀取文字時定義的角度表示旋轉。例如:
頂點順序仍為 (0, 1, 2, 3)。 |
paragraphs[] |
這個區塊中的段落清單 (如果這個區塊是文字類型)。 |
blockType |
這個區塊的偵測區塊類型 (文字、圖片等)。 |
confidence |
OCR 結果對區塊的信心程度。範圍 [0, 1]。 |
table |
偵測到 TABLE blockType 的表格。根據預設,除非透過 TextDetectionParams.table_detection_options 啟用,否則系統不會傳回這個欄位。這個 Block 的 |
keyValuePair |
偵測到 KEY_VALUE_PAIR blockType 的配對。除非指定 DocumentType,否則預設不會傳回這個欄位。 |
mergedText |
這個區塊中偵測到的所有 UTF-8 文字。除非在 TextDetectionParams.block_filter 中指定,否則預設不會傳回這個欄位。 |
段落
文字的結構單元,代表特定順序的字詞數量。
| JSON 表示法 | |
|---|---|
{ "property": { object( |
|
| 欄位 | |
|---|---|
property |
系統偵測到段落的其他資訊。 |
boundingBox |
段落的定界框。頂點順序為左上角、右上角、右下角、左下角。如果系統偵測到邊界框旋轉,就會以左上角為中心,以「自然」方向讀取文字時定義的角度表示旋轉。舉例來說: * 文字為水平時,可能如下所示: 0----1 | | 3----2 * 文字繞左上角旋轉 180 度時,會變成: 2----3 | | 1----0 頂點順序仍為 (0, 1, 2, 3)。 |
words[] |
這個段落中的字詞清單。 |
confidence |
段落 OCR 結果的信賴度。範圍 [0, 1]。 |
mergedText |
這段文字中偵測到的所有 UTF-8 文字。除非在 TextDetectionParams.paragraph_filter 中指定,否則預設不會傳回這個欄位。 |
Word
字詞表示法。
| JSON 表示法 | |
|---|---|
{ "property": { object( |
|
| 欄位 | |
|---|---|
property |
系統偵測到該字詞的其他資訊。 |
boundingBox |
這個字的定界框。頂點順序為左上角、右上角、右下角、左下角。如果系統偵測到邊界框旋轉,就會以左上角為中心,以「自然」方向讀取文字時定義的角度表示旋轉。舉例來說: * 文字為水平時,可能如下所示: 0----1 | | 3----2 * 文字繞左上角旋轉 180 度時,會變成: 2----3 | | 1----0 頂點順序仍為 (0, 1, 2, 3)。 |
symbols[] |
字詞中的符號清單。符號順序會遵循自然閱讀順序。 |
confidence |
這個字 OCR 結果的信賴度。範圍 [0, 1]。 |
mergedText |
這個字中偵測到的所有 UTF-8 文字。除非在 TextDetectionParams.word_filter 中指定,否則預設不會傳回這個欄位。 |
符號
單一符號表示法。
| JSON 表示法 | |
|---|---|
{ "property": { object( |
|
| 欄位 | |
|---|---|
property |
系統偵測到符號的其他資訊。 |
boundingBox |
符號的定界框。頂點順序為左上角、右上角、右下角、左下角。如果系統偵測到邊界框旋轉,就會以左上角為中心,以「自然」方向讀取文字時定義的角度表示旋轉。舉例來說: * 文字為水平時,可能如下所示: 0----1 | | 3----2 * 文字繞左上角旋轉 180 度時,會變成: 2----3 | | 1----0 頂點順序仍為 (0, 1, 2, 3)。 |
text |
符號的實際 UTF-8 表示法。 |
confidence |
符號的 OCR 結果信心指數。範圍 [0, 1]。 |
封鎖類型
OCR 識別的區塊類型 (文字、圖片等)。
| 列舉 | |
|---|---|
UNKNOWN |
不明的區塊類型。 |
TEXT |
一般文字區塊。 |
TABLE |
表格區塊。 |
PICTURE |
圖片封鎖。 |
RULER |
水平/垂直線方塊。 |
BARCODE |
條碼區塊。 |
KEY_VALUE_PAIR |
鍵/值組合區塊。 |
資料表
類似 HTML 資料表結構的資料表表示法。
| JSON 表示法 | |
|---|---|
{ "headerRows": [ { object( |
|
| 欄位 | |
|---|---|
headerRows[] |
表格的標題列 |
bodyRows[] |
表格的內文列 |
TableRow
一列表格儲存格。
| JSON 表示法 | |
|---|---|
{
"cells": [
{
object( |
|
| 欄位 | |
|---|---|
cells[] |
構成這個資料列的儲存格。 |
TableCell
表格中的儲存格表示法。
| JSON 表示法 | |
|---|---|
{
"rowSpan": number,
"colSpan": number,
"textBlock": {
object( |
|
| 欄位 | |
|---|---|
rowSpan |
這個儲存格跨越的資料列數。 |
colSpan |
這個儲存格跨越的欄數。 |
textBlock |
這個儲存格的文字區塊,其中也包含儲存格的正規化邊界方塊,以及儲存格內的更深層結構 (如有)。 |
text |
這個儲存格的合併文字值,省略任何更深層的結構資訊,與 |
KeyValuePair
鍵/值組合的 Proto。
| JSON 表示法 | |
|---|---|
{ "key": string, "keyBlock": { object( |
|
| 欄位 | |
|---|---|
key |
鍵字串值。 |
keyBlock |
包含標準化定界框和鍵文字的鍵區塊。 |
valueBlock |
包含正規化定界框和值文字的配對值區塊,包括值文字中可能更深層的結構。 |
valueType |
值的類型。有效字串如下: 「generic」:對應至值的通用文字。「number」- 適用於數值類型,「id」- 適用於一般 ID。「currency」- 貨幣值。「date」:適用於日期。「time」:適用於時間和持續時間值。「date_range」:適用於日期範圍。「address」:適用於地址值 (可為長度較長的值)。「person」- 用於人名或其他個人 ID。「phone」:電話號碼。 |
normalizedKey |
(選用) 如果文字常見且已分類,則為正規化鍵文字。 舉例來說,「應付總額」會正規化為「總金額」。 |
安全搜尋註解
與圖片相關的一組特徵,由電腦視覺方法在安全搜尋垂直領域 (例如成人、惡搞、醫療、暴力) 中計算得出。
| JSON 表示法 | |
|---|---|
{ "adult": enum( |
|
| 欄位 | |
|---|---|
adult |
代表圖片含有成人內容的可能性。成人內容可能含有裸露、色情圖片或卡通,或是性活動等元素。 |
spoof |
偽造可能性。圖片的標準版本經過修改,導致內容變得滑稽或令人反感。 |
medical |
這張圖片是醫療圖片的可能性。 |
violence |
這張圖片含有暴力內容的可能性。 |
racy |
要求圖片含有煽情露骨內容的可能性。煽情露骨內容可能包括但不限於:衣不蔽體或透明的服裝、以特定方式遮蓋裸露部位、猥褻或挑逗的姿勢,或是敏感身體部位的特寫鏡頭。 |
圖片屬性
儲存圖片屬性,例如主色。
| JSON 表示法 | |
|---|---|
{
"dominantColors": {
object( |
|
| 欄位 | |
|---|---|
dominantColors |
如果存在,代表主要顏色已順利完成。 |
主色註解
一組主要顏色和對應的分數。
| JSON 表示法 | |
|---|---|
{
"colors": [
{
object( |
|
| 欄位 | |
|---|---|
colors[] |
RGB 顏色值及其分數和像素比例。 |
色彩資訊
色彩資訊包括 RGB 管道、分數,以及色彩在圖片中所占的比例。
| JSON 表示法 | |
|---|---|
{
"color": {
object( |
|
| 欄位 | |
|---|---|
color |
色彩的 RGB 元件。 |
score |
這個顏色的圖片專屬分數。值介於 [0, 1] 之間。 |
pixelFraction |
顏色在圖片中所占的像素比例。值介於 [0, 1] 之間。 |
顏色
代表 RGBA 色域中的顏色。這個表示法旨在簡化各種語言中色彩表示法的轉換作業,而非追求緊湊;舉例來說,這個表示法的欄位可以輕鬆提供給 Java 中的「java.awt.Color」建構函式;也可以輕鬆提供給 iOS 中 UIColor 的「+colorWithRed:green:blue:alpha」方法;此外,只要稍做調整,就能輕鬆格式化為 JavaScript 中的 CSS「rgba()」字串。
注意:這個 proto 不會攜帶應使用的絕對色域資訊來解讀 RGB 值 (例如 sRGB、Adobe RGB、DCI-P3、BT.2020 等)。依預設,應用程式「應」採用 sRGB 色域。
範例 (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();
}
// ...
範例 (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;
}
// ...
範例 (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 表示法 | |
|---|---|
{ "red": number, "green": number, "blue": number, "alpha": number } |
|
| 欄位 | |
|---|---|
red |
顏色中的紅色量,值介於 [0, 1] 之間。 |
green |
顏色中的綠色量,值介於 [0, 1] 之間。 |
blue |
顏色中的藍色量,值介於 [0, 1] 之間。 |
alpha |
應套用至像素的顏色比例。也就是說,最終像素顏色是由下列方程式定義: 像素顏色 = alpha * (這個顏色) + (1.0 - alpha) * (背景顏色) 也就是說,值為 1.0 時,顏色為實心;值為 0.0 時,顏色完全透明。這會使用封裝訊息,而非簡單的浮點純量,因此可以區分預設值和未設定的值。如果省略,這個顏色物件會以實心顏色算繪 (如同明確指定 Alpha 值為 1.0)。 |
裁剪提示註解
這組裁剪提示會在放送圖片時用於生成新裁剪圖片。
| JSON 表示法 | |
|---|---|
{
"cropHints": [
{
object( |
|
| 欄位 | |
|---|---|
cropHints[] |
裁剪提示結果。 |
裁剪提示
單一裁剪提示,用於在放送圖片時生成新的裁剪版本。
| JSON 表示法 | |
|---|---|
{
"boundingPoly": {
object( |
|
| 欄位 | |
|---|---|
boundingPoly |
裁剪區域的定界多邊形。外框的座標採用原始圖片的比例。 |
confidence |
這個區域是顯著區域的信賴度。範圍 [0, 1]。 |
importanceFraction |
這個顯著區域相對於原始圖片的重要性分數。 |
網路偵測
網路上與圖片相關的資訊。
| JSON 表示法 | |
|---|---|
{ "webEntities": [ { object( |
|
| 欄位 | |
|---|---|
webEntities[] |
從網路上類似的圖片推斷實體。 |
fullMatchingImages[] |
網路上完全相符的圖片。可包含查詢圖片的縮放副本。 |
partialMatchingImages[] |
網路上部分相符的圖片。這些圖片的相似程度足以共用一些關鍵點特徵。舉例來說,原始圖片的裁剪版本可能只會部分相符。 |
pagesWithMatchingImages[] |
網路上含有相符圖片的網頁。 |
visuallySimilarImages[] |
外觀相似的圖片結果。 |
bestGuessLabels[] |
服務根據要求圖片推測的主題。從開放網路上的類似圖片推斷而來。 |
WebEntity
從網路上類似的圖片推斷出的實體。
| JSON 表示法 | |
|---|---|
{ "entityId": string, "score": number, "description": string } |
|
| 欄位 | |
|---|---|
entityId |
不透明的實體 ID。 |
score |
實體的整體關聯性分數。未經過正規化,無法比較不同圖片查詢。 |
description |
實體的標準說明 (英文)。 |
WebImage
線上圖片的中繼資料。
| JSON 表示法 | |
|---|---|
{ "url": string, "score": number } |
|
| 欄位 | |
|---|---|
url |
結果圖片網址。 |
score |
(已淘汰) 圖片的整體關聯性分數。 |
WebPage
網頁的中繼資料。
| JSON 表示法 | |
|---|---|
{ "url": string, "score": number, "pageTitle": string, "fullMatchingImages": [ { object( |
|
| 欄位 | |
|---|---|
url |
結果網頁網址。 |
score |
(已淘汰) 網頁的整體相關性分數。 |
pageTitle |
網頁標題,可包含 HTML 標記。 |
fullMatchingImages[] |
網頁上完全相符的圖片。可包含查詢圖片的縮放副本。 |
partialMatchingImages[] |
網頁上部分相符的圖片。這些圖片的相似程度足以共用一些關鍵點特徵。舉例來說,原始圖片的裁剪版本可能只會部分相符。 |
WebLabel
標籤,用於提供網頁偵測的額外中繼資料。
| JSON 表示法 | |
|---|---|
{ "label": string, "languageCode": string } |
|
| 欄位 | |
|---|---|
label |
額外中繼資料的標籤。 |
languageCode |
|
產品搜尋結果
產品搜尋要求的結果。
| JSON 表示法 | |
|---|---|
{ "indexTime": string, "results": [ { object( |
|
| 欄位 | |
|---|---|
indexTime |
提供這些結果的索引時間戳記。在這個時間點之後進行的變更不會反映在目前的結果中。 RFC3339 世界標準時間「Zulu」格式的時間戳記,精確度達奈秒單位。範例: |
results[] |
結果清單,每個產品比對結果各有一項。 |
productGroupedResults[] |
結果清單,依查詢圖片中偵測到的產品分組。每個項目都對應查詢圖片中的一個邊界多邊形,並包含該區域的相符產品。所有產品結果的聯集可能會有重複的產品相符項目。 |
結果
產品相關資訊。
| JSON 表示法 | |
|---|---|
{
"product": {
object( |
|
| 欄位 | |
|---|---|
product |
產品。 |
score |
比對的信賴度,範圍從 0 (無信心) 到 1 (非常有信心)。 |
image |
與查詢最相符的產品圖片資源名稱。 |
GroupedResult
與查詢圖片中單一產品類似的產品資訊。
| JSON 表示法 | |
|---|---|
{ "boundingPoly": { object( |
|
| 欄位 | |
|---|---|
boundingPoly |
查詢圖片中偵測到的產品周圍的定界多邊形。 |
results[] |
結果清單,每個產品比對結果各有一項。 |
objectAnnotations[] |
定界框中物件的一般預測清單。 |
ObjectAnnotation
定界框中物件的預測結果。
| JSON 表示法 | |
|---|---|
{ "mid": string, "languageCode": string, "name": string, "score": number } |
|
| 欄位 | |
|---|---|
mid |
應與 EntityAnnotation mid 對齊的物件 ID。 |
languageCode |
BCP-47 語言代碼,例如「en-US」或「sr-Latn」。詳情請參閱 http://www.unicode.org/reports/tr35/#Unicode_locale_identifier。 |
name |
以 |
score |
結果的分數。範圍 [0, 1]。 |
圖片註解內容
如果圖片是從檔案 (例如 PDF) 產生,這則訊息會提供圖片來源的相關資訊。
| JSON 表示法 | |
|---|---|
{ "uri": string, "pageNumber": number } |
|
| 欄位 | |
|---|---|
uri |
用於產生圖片的檔案 URI。 |
pageNumber |
如果檔案是 PDF 或 TIFF,這個欄位會顯示檔案中用於產生圖片的頁碼。 |
ImageQuality
儲存圖片品質分數,可能是美學品質或技術品質。
| JSON 表示法 | |
|---|---|
{ "qualityScore": number } |
|
| 欄位 | |
|---|---|
qualityScore |
代表圖片美觀/技術品質的分數。分數範圍為 [0, 1]。值越高,相片看起來就越專業。0 代表圖片品質極差,1 代表圖片品質極高。 |
QualityOptimizationResult
儲存強化圖片的位元組。
| JSON 表示法 | |
|---|---|
{
"qualityOptimizationType": enum( |
|
| 欄位 | |
|---|---|
qualityOptimizationType |
必要最佳化類型。 |
image |
最佳化圖片位元組。 Base64 編碼字串。 |
mimeType |
輸出圖片的 MIME 類型。 |
LocalizedBarcodeAnnotation
偵測到的條碼集,附帶定界框。
| JSON 表示法 | |
|---|---|
{
"format": string,
"valueFormat": string,
"value": string,
"confidence": number,
"boundingPoly": {
object( |
|
| 欄位 | |
|---|---|
format |
條碼格式說明條碼的格式。支援的格式包括:CODE_128:Code 128 類型。CODE_39:Code 39 類型。CODE_93:Code 93 類型。CODABAR:Codabar 類型。DATA_MATRIX:2D Data Matrix 類型。ITF:ITF 類型。EAN_13:EAN-13 類型。EAN_8:EAN-8 類型。QR_CODE:2D QR code 類型。UPC_A:UPC-A 類型。UPC_E:UPC-E 類型。PDF417:PDF417 類型。AZTEC:2D Aztec 代碼類型。DATABAR:GS1 DataBar 程式碼類型。 |
valueFormat |
條碼值格式 ID 會說明條碼編碼值的格式。支援的值格式如下:CONTACT_INFO:聯絡資訊。電子郵件:電子郵件地址。ISBN:ISBN 識別碼。電話:電話號碼。產品:產品。簡訊:簡訊。TEXT:文字字串。網址:網址。WIFI:Wi-Fi 資訊。GEO:地理位置 (經緯度)。CALENDAR_EVENT:日曆活動。DRIVER_LICENSE:駕照。 |
value |
條碼值,即條碼中擷取的 ASCII 值。條碼可以編碼結構化值,例如「MEBKM:TITLE:Google;URL:https://www.google.com;;'」。 |
confidence |
結果的信賴度值。範圍 [0, 1]。 |
boundingPoly |
這個條碼所屬的圖片區域。這項屬性必須填入值。 |