- HTTP 请求
- 请求正文
- 响应正文
- 授权范围
- AnnotateImageRequest
- 图片
- ImageSource
- AnnotateImageResponse
- FaceAnnotation
- 地标
- 类型
- 位置
- 可能性
- EntityAnnotation
- LocationInfo
- 属性
- LocalizedObjectAnnotation
- TextAnnotation
- 页面
- TextProperty
- DetectedLanguage
- DetectedBreak
- BreakType
- 块
- 段落
- 字词
- 符号
- BlockType
- SafeSearchAnnotation
- ImageProperties
- DominantColorsAnnotation
- ColorInfo
- CropHintsAnnotation
- CropHint
- WebDetection
- WebEntity
- WebImage
- WebPage
- WebLabel
- ProductSearchResults
- 结果
- GroupedResult
- ImageAnnotationContext
对一批图片运行图片检测和注释。
HTTP 请求
POST https://vision.googleapis.com/v1p3beta1/images:annotate
网址采用 gRPC 转码语法。
请求正文
请求正文中包含结构如下的数据:
JSON 表示法 | |
---|---|
{
"requests": [
{
object( |
字段 | |
---|---|
requests[] |
此批次的各个图片注释请求。 |
响应正文
如果成功,响应正文将包含结构如下的数据:
对一个批量图片注释请求的响应。
JSON 表示法 | |
---|---|
{
"responses": [
{
object( |
字段 | |
---|---|
responses[] |
对批处理中图片注释请求的各个响应。 |
授权范围
需要以下 OAuth 范围之一:
https://www.googleapis.com/auth/cloud-platform
https://www.googleapis.com/auth/cloud-vision
如需了解详情,请参阅身份验证概览。
AnnotateImageRequest
请求对用户提供的图片执行 Google Cloud Vision API 任务,并提供用户请求的特征。
JSON 表示法 | |
---|---|
{ "image": { object( |
字段 | |
---|---|
image |
要处理的图片。 |
features[] |
请求的功能。 |
imageContext |
图片可能随附的相关信息。 |
图片
用于执行 Google Cloud Vision API 任务的客户端图片。
JSON 表示法 | |
---|---|
{
"content": string,
"source": {
object( |
字段 | |
---|---|
content |
图片内容,由字节流表示。注意:与所有 使用 base64 编码的字符串。 |
source |
Google Cloud Storage 图片位置或可公开访问的图片网址。如果为图片提供了 |
ImageSource
外来图片来源(Google Cloud Storage 或网址图片位置)。
JSON 表示法 | |
---|---|
{ "gcsImageUri": string, "imageUri": string } |
字段 | |
---|---|
gcsImageUri |
请改用 格式为 |
imageUri |
源图片的 URI。这可以是以下任意一项:
如果同时指定了 |
AnnotateImageResponse
对一个图片注释请求的响应。
JSON 表示法 | |
---|---|
{ "faceAnnotations": [ { object( |
字段 | |
---|---|
faceAnnotations[] |
如果存在,则人脸检测已成功完成。 |
landmarkAnnotations[] |
如果存在,则地标检测已成功完成。 |
logoAnnotations[] |
如果存在,则徽标检测已成功完成。 |
labelAnnotations[] |
如果存在,则标签检测已成功完成。 |
localizedObjectAnnotations[] |
如果存在,则本地化对象检测已成功完成。此值会按置信度分数降序排序。 |
textAnnotations[] |
如果存在,则文本 (OCR) 检测已成功完成。 |
fullTextAnnotation |
如果存在,则文本 (OCR) 检测或文档 (OCR) 文本检测已成功完成。此注释提供 OCR 检测到的文本的结构性层次结构。 |
safeSearchAnnotation |
如果存在,则安全搜索注释已成功完成。 |
imagePropertiesAnnotation |
如果存在,则已成功提取图片属性。 |
cropHintsAnnotation |
如果存在,则剪裁提示已成功完成。 |
webDetection |
如果存在,则 Web 检测已成功完成。 |
productSearchResults |
如果存在,则 Google 商品搜索已成功完成。 |
error |
如果设置,则表示操作的错误消息。请注意,即便设置了 |
context |
只要存在上下文信息,即可了解此图片的来源。 |
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 } |
字段 | |
---|---|
name |
属性的名称。 |
value |
属性的值。 |
uint64Value |
数值属性的值。 |
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 |
此对象所属的图片区域。必须填充此字段。 |
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] 范围内。 |
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] 范围内。 |
段落
按一定顺序展示多个字词的结构化文本单元。
JSON 表示法 | |
---|---|
{ "property": { object( |
字段 | |
---|---|
property |
为段落检测到的其他信息。 |
boundingBox |
段落的边界框。顶点的顺序是左上角、右上角、右下角和左下角。检测到边界框发生旋转时,旋转的表示方式就是沿着左上角旋转,就像以“自然”的方向阅读文字时那样。例如:* 文字在水平方向时可能如下所示: 0----1 | | 3----2 * 围绕左上角旋转 180 度时,就会变为: 2----3 | | 1----0 且顶点顺序仍为 (0, 1, 2, 3)。 |
words[] |
此段落中的字词列表。 |
confidence |
段落的 OCR 结果置信度。介于 [0, 1] 范围内。 |
Word
字词表示法。
JSON 表示法 | |
---|---|
{ "property": { object( |
字段 | |
---|---|
property |
为字词检测到的其他信息。 |
boundingBox |
字词的边界框。顶点的顺序是左上角、右上角、右下角和左下角。检测到边界框发生旋转时,旋转的表示方式就是沿着左上角旋转,就像以“自然”的方向阅读文字时那样。例如:* 文字在水平方向时可能如下所示: 0----1 | | 3----2 * 围绕左上角旋转 180 度时,就会变为: 2----3 | | 1----0 且顶点顺序仍为 (0, 1, 2, 3)。 |
symbols[] |
列出字词中的符号。符号的顺序与自然阅读顺序相同。 |
confidence |
字词的 OCR 结果置信度。介于 [0, 1] 范围内。 |
符号
单个符号表示。
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 |
条形码块。 |
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] 范围内。 |
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[] |
结果列表,每个结果对应每个商品匹配项。 |
ImageAnnotationContext
如果图片是通过文件(例如 PDF)生成的,则此消息将提供有关该图片来源的信息。
JSON 表示法 | |
---|---|
{ "uri": string, "pageNumber": number } |
字段 | |
---|---|
uri |
用于生成图片的文件的 URI。 |
pageNumber |
如果文件是 PDF 或 TIFF,则此字段给出了用于生成图片的文件中的页码。 |