- JSON 表示法
- FaceAnnotation
- 地标
- 类型
- 位置
- 可能性
- EntityAnnotation
- LocationInfo
- 属性
- LocalizedObjectAnnotation
- CustomEntityAnnotation
- TextAnnotation
- 页面
- TextProperty
- DetectedLanguage
- DetectedBreak
- BreakType
- 块
- 段落
- 字词
- 符号
- 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 |
如果存在,则 Web 检测已成功完成。 |
productSearchResults |
如果存在,则 Google 商品搜索已成功完成。 |
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[] |
如果存在,则本地化条形码检测已成功完成。 |
FaceAnnotation
包含人脸检测结果的人脸检测对象。
| 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 |
图片属于指定类别的可能性很大。 |
EntityAnnotation
所检测到的实体特征集。
| 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(图片内容注释)标签与图片的相关性。例如,即使每个图片中都存在塔的置信度相同,“tower”与包含检测到的“Eiffel Tower”的图片的相关性也可能比包含检测到的遥远高层建筑图片的相关性更高。介于 [0, 1] 范围内。 |
boundingPoly |
此实体所属的图片区域。不针对 |
locations[] |
检测到的实体的位置信息。有可能存在多个 |
properties[] |
某些实体可能具有用户提供的可选 |
LocationInfo
检测到的实体位置信息。
| JSON 表示法 | |
|---|---|
{
"latLng": {
object( |
|
| 字段 | |
|---|---|
latLng |
纬度/经度位置坐标。 |
属性
一个 Property 包含由用户提供的一个名称/值对。
| JSON 表示法 | |
|---|---|
{ "name": string, "value": string, "uint64Value": string, "confidence": number, "mid": string } |
|
| 字段 | |
|---|---|
name |
属性的名称。 |
value |
属性的值。 |
uint64Value |
数值属性的值。 |
confidence |
值介于 [0..1] 范围内。此属性值的置信度。 |
mid |
不透明属性值 ID。Google Knowledge Graph Search API 中提供了一些 ID。蓝色外套的示例属性为:Property { name: 'color' value: 'blue' mid: '/m/01g5v' // For color blue } |
LocalizedObjectAnnotation
在边界框内检测到的一组对象。
| 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
TextAnnotation 包含 OCR 提取的文本的结构化表示。OCR 提取的文本结构的层次结构如下:TextAnnotation -> 页面 -> 块 -> 段落 -> 字词 -> 符号。从“页面”开始,各结构组件均可进一步拥有其自己的属性。属性描述了所检测到的语言、中断符等。如需了解详情,请参阅下面的 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。 |
BreakType
指示所发现的中断符类型的枚举。包括换行符、空格等。
| 枚举 | |
|---|---|
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 启用,否则默认不会返回此字段。此块的 |
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 中指定,否则默认不会返回此字段。 |
字词
字词表示法。
| 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] 范围内。 |
BlockType
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”- 代表通用标识符。“currency”- 表示货币值。“date”- 表示日期。“time”- 表示时间和时长值。“date_range”- 表示日期范围。“address”- 表示地址值(可以是经度)。“person”- 表示人物的姓名或其他个人标识符。“phone”- 表示电话号码。 |
normalizedKey |
(可选)如果文本是常见文本并且已分类,则为标准化键文本。 例如,“TOTAL DUE”将标准化为“总金额”。 |
SafeSearchAnnotation
计算机视觉方法基于安全搜索类别(例如成人、欺骗、医疗、暴力)计算出的与图片有关的一组特征。
| JSON 表示法 | |
|---|---|
{ "adult": enum( |
|
| 字段 | |
|---|---|
adult |
表示图片包含成人内容的概率。成人内容可能包含裸露、色情图片或漫画或性活动等元素。 |
spoof |
包含欺骗性内容的概率。对图片的标准版本进行修改以使其变得有趣或令人反感的概率。 |
medical |
此图片为医学影像的概率。 |
violence |
此图片包含暴力内容的概率。 |
racy |
请求的图片包含少儿不宜内容的概率。少儿不宜内容可能包括(但不限于)单薄或透明的服装、用策略手段遮住的裸体、猥亵或挑逗姿势,或者敏感身体部位的特写镜头。 |
ImageProperties
存储图片属性,例如主色。
| JSON 表示法 | |
|---|---|
{
"dominantColors": {
object( |
|
| 字段 | |
|---|---|
dominantColors |
如果有,主色已成功完成。 |
DominantColorsAnnotation
一组主色及其对应的分数。
| JSON 表示法 | |
|---|---|
{
"colors": [
{
object( |
|
| 字段 | |
|---|---|
colors[] |
RGB 颜色值及其得分和像素分数。 |
ColorInfo
颜色信息,其中包含 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)。 |
CropHintsAnnotation
一组剪裁提示,在传送图片时用于生成新的剪裁。
| JSON 表示法 | |
|---|---|
{
"cropHints": [
{
object( |
|
| 字段 | |
|---|---|
cropHints[] |
剪裁提示结果。 |
CropHint
单一剪裁提示,在传送图片时用于生成新的剪裁。
| JSON 表示法 | |
|---|---|
{
"boundingPoly": {
object( |
|
| 字段 | |
|---|---|
boundingPoly |
剪裁区域的边界多边形。边界框的坐标采用原始图片的比例。 |
confidence |
成为重要区域的置信度。介于 [0, 1] 范围内。 |
importanceFraction |
此重要区域相对于原始图片的重要性比例。 |
WebDetection
互联网图片的相关信息。
| JSON 表示法 | |
|---|---|
{ "webEntities": [ { object( |
|
| 字段 | |
|---|---|
webEntities[] |
从相似的互联网图片中推导出的实体。 |
fullMatchingImages[] |
与互联网完全匹配的图片。可包括查询图片的调整大小后的副本。 |
partialMatchingImages[] |
与互联网局部匹配的图片。这些图片的相似度足够高,有一些与查询图片相同的关键特征。例如,原始图片与剪裁图片可能会部分匹配。 |
pagesWithMatchingImages[] |
包含匹配的互联网图片的网页。 |
visuallySimilarImages[] |
外观类似的图片结果。 |
bestGuessLabels[] |
该服务关于请求图片主题的最佳猜测。根据开放式 Web 上的类似图片推断得出。 |
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 |
|
ProductSearchResults
商品搜索请求的结果。
| JSON 表示法 | |
|---|---|
{ "indexTime": string, "results": [ { object( |
|
| 字段 | |
|---|---|
indexTime |
提供这些结果的索引的时间戳。在此时间之后所做的更改不会反映在当前结果中。 时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒。示例: |
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] 范围内。 |
ImageAnnotationContext
如果图片是通过文件(例如 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:二维二维码类型。UPC_A:UPC-A 类型。UPC_E:UPC-E 类型。PDF417:PDF417 类型。AZTEC:2D Aztec 代码类型。DATABAR:GS1 DataBar 代码类型。 |
valueFormat |
条形码值格式描述了条形码编码的值的格式。支持的值格式:CONTACT_INFO:联系信息。EMAIL:电子邮件地址。ISBN:ISBN 标识符。PHONE:电话号码。PRODUCT:商品。SMS:短信。TEXT:文本字符串。URL:网址地址。WIFI:Wi-Fi 信息。GEO:地理位置(经纬度)。CALENDAR_EVENT:日历事件。DRIVER_LICENSE:驾驶证。 |
value |
条形码值,即在条形码中捕获的 ASCII 值。条形码可以对结构化值进行编码,例如:“MEBKM:TITLE:Google;URL:https://www.google.com;;”。 |
confidence |
结果的置信度值。介于 [0, 1] 范围内。 |
boundingPoly |
此条形码所属的图片区域。必须填充此字段。 |