blob: 913a61f7dabc8f2f11040ba9dfa7b78b9d6b4c50 [file] [log] [blame]
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001<html><body>
2<style>
3
4body, h1, h2, h3, div, span, p, pre, a {
5 margin: 0;
6 padding: 0;
7 border: 0;
8 font-weight: inherit;
9 font-style: inherit;
10 font-size: 100%;
11 font-family: inherit;
12 vertical-align: baseline;
13}
14
15body {
16 font-size: 13px;
17 padding: 1em;
18}
19
20h1 {
21 font-size: 26px;
22 margin-bottom: 1em;
23}
24
25h2 {
26 font-size: 24px;
27 margin-bottom: 1em;
28}
29
30h3 {
31 font-size: 20px;
32 margin-bottom: 1em;
33 margin-top: 1em;
34}
35
36pre, code {
37 line-height: 1.5;
38 font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
39}
40
41pre {
42 margin-top: 0.5em;
43}
44
45h1, h2, h3, p {
46 font-family: Arial, sans serif;
47}
48
49h1, h2, h3 {
50 border-bottom: solid #CCC 1px;
51}
52
53.toc_element {
54 margin-top: 0.5em;
55}
56
57.firstline {
58 margin-left: 2 em;
59}
60
61.method {
62 margin-top: 1em;
63 border: solid 1px #CCC;
64 padding: 1em;
65 background: #EEE;
66}
67
68.details {
69 font-weight: bold;
70 font-size: 14px;
71}
72
73</style>
74
75<h1><a href="vision_v1p1beta1.html">Cloud Vision API</a> . <a href="vision_v1p1beta1.files.html">files</a></h1>
76<h2>Instance Methods</h2>
77<p class="toc_element">
78 <code><a href="#annotate">annotate(body, x__xgafv=None)</a></code></p>
79<p class="firstline">Service that performs image detection and annotation for a batch of files.</p>
80<p class="toc_element">
81 <code><a href="#asyncBatchAnnotate">asyncBatchAnnotate(body, x__xgafv=None)</a></code></p>
82<p class="firstline">Run asynchronous image detection and annotation for a list of generic</p>
83<h3>Method Details</h3>
84<div class="method">
85 <code class="details" id="annotate">annotate(body, x__xgafv=None)</code>
86 <pre>Service that performs image detection and annotation for a batch of files.
87Now only "application/pdf", "image/tiff" and "image/gif" are supported.
88
89This service will extract at most 5 (customers can specify which 5 in
90AnnotateFileRequest.pages) frames (gif) or pages (pdf or tiff) from each
91file provided and perform detection and annotation for each image
92extracted.
93
94Args:
95 body: object, The request body. (required)
96 The object takes the form of:
97
98{ # A list of requests to annotate files using the BatchAnnotateFiles API.
99 "requests": [ # The list of file annotation requests. Right now we support only one
100 # AnnotateFileRequest in BatchAnnotateFilesRequest.
101 { # A request to annotate one single file, e.g. a PDF, TIFF or GIF file.
102 "imageContext": { # Image context and/or feature-specific parameters. # Additional context that may accompany the image(s) in the file.
103 "latLongRect": { # Rectangle determined by min and max `LatLng` pairs. # Not used.
104 "minLatLng": { # An object representing a latitude/longitude pair. This is expressed as a pair # Min lat/long pair.
105 # of doubles representing degrees latitude and degrees longitude. Unless
106 # specified otherwise, this must conform to the
107 # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
108 # standard</a>. Values must be within normalized ranges.
109 "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
110 "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
111 },
112 "maxLatLng": { # An object representing a latitude/longitude pair. This is expressed as a pair # Max lat/long pair.
113 # of doubles representing degrees latitude and degrees longitude. Unless
114 # specified otherwise, this must conform to the
115 # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
116 # standard</a>. Values must be within normalized ranges.
117 "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
118 "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
119 },
120 },
121 "languageHints": [ # List of languages to use for TEXT_DETECTION. In most cases, an empty value
122 # yields the best results since it enables automatic language detection. For
123 # languages based on the Latin alphabet, setting `language_hints` is not
124 # needed. In rare cases, when the language of the text in the image is known,
125 # setting a hint will help get better results (although it will be a
126 # significant hindrance if the hint is wrong). Text detection returns an
127 # error if one or more of the specified languages is not one of the
128 # [supported languages](/vision/docs/languages).
129 "A String",
130 ],
131 "productSearchParams": { # Parameters for a product search request. # Parameters for product search.
132 "filter": "A String", # The filtering expression. This can be used to restrict search results based
133 # on Product labels. We currently support an AND of OR of key-value
134 # expressions, where each expression within an OR must have the same key. An
135 # '=' should be used to connect the key and value.
136 #
137 # For example, "(color = red OR color = blue) AND brand = Google" is
138 # acceptable, but "(color = red OR brand = Google)" is not acceptable.
139 # "color: red" is not acceptable because it uses a ':' instead of an '='.
140 "productCategories": [ # The list of product categories to search in. Currently, we only consider
141 # the first category, and either "homegoods-v2", "apparel-v2", or "toys-v2"
142 # should be specified. The legacy categories "homegoods", "apparel", and
143 # "toys" are still supported but will be deprecated. For new products, please
144 # use "homegoods-v2", "apparel-v2", or "toys-v2" for better product search
145 # accuracy. It is recommended to migrate existing products to these
146 # categories as well.
147 "A String",
148 ],
149 "productSet": "A String", # The resource name of a ProductSet to be searched for similar images.
150 #
151 # Format is:
152 # `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`.
153 "boundingPoly": { # A bounding polygon for the detected image annotation. # The bounding polygon around the area of interest in the image.
154 # Optional. If it is not specified, system discretion will be applied.
155 "normalizedVertices": [ # The bounding polygon normalized vertices.
156 { # A vertex represents a 2D point in the image.
157 # NOTE: the normalized vertex coordinates are relative to the original image
158 # and range from 0 to 1.
159 "y": 3.14, # Y coordinate.
160 "x": 3.14, # X coordinate.
161 },
162 ],
163 "vertices": [ # The bounding polygon vertices.
164 { # A vertex represents a 2D point in the image.
165 # NOTE: the vertex coordinates are in the same scale as the original image.
166 "y": 42, # Y coordinate.
167 "x": 42, # X coordinate.
168 },
169 ],
170 },
171 },
172 "cropHintsParams": { # Parameters for crop hints annotation request. # Parameters for crop hints annotation request.
173 "aspectRatios": [ # Aspect ratios in floats, representing the ratio of the width to the height
174 # of the image. For example, if the desired aspect ratio is 4/3, the
175 # corresponding float value should be 1.33333. If not specified, the
176 # best possible crop is returned. The number of provided aspect ratios is
177 # limited to a maximum of 16; any aspect ratios provided after the 16th are
178 # ignored.
179 3.14,
180 ],
181 },
182 "webDetectionParams": { # Parameters for web detection request. # Parameters for web detection.
183 "includeGeoResults": True or False, # Whether to include results derived from the geo information in the image.
184 },
185 },
186 "pages": [ # Pages of the file to perform image annotation.
187 #
188 # Pages starts from 1, we assume the first page of the file is page 1.
189 # At most 5 pages are supported per request. Pages can be negative.
190 #
191 # Page 1 means the first page.
192 # Page 2 means the second page.
193 # Page -1 means the last page.
194 # Page -2 means the second to the last page.
195 #
196 # If the file is GIF instead of PDF or TIFF, page refers to GIF frames.
197 #
198 # If this field is empty, by default the service performs image annotation
199 # for the first 5 pages of the file.
200 42,
201 ],
202 "inputConfig": { # The desired input location and metadata. # Required. Information about the input file.
203 "mimeType": "A String", # The type of the file. Currently only "application/pdf", "image/tiff" and
204 # "image/gif" are supported. Wildcards are not supported.
205 "content": "A String", # File content, represented as a stream of bytes.
206 # Note: As with all `bytes` fields, protobuffers use a pure binary
207 # representation, whereas JSON representations use base64.
208 #
209 # Currently, this field only works for BatchAnnotateFiles requests. It does
210 # not work for AsyncBatchAnnotateFiles requests.
211 "gcsSource": { # The Google Cloud Storage location where the input will be read from. # The Google Cloud Storage location to read the input from.
212 "uri": "A String", # Google Cloud Storage URI for the input file. This must only be a
213 # Google Cloud Storage object. Wildcards are not currently supported.
214 },
215 },
216 "features": [ # Required. Requested features.
217 { # The type of Google Cloud Vision API detection to perform, and the maximum
218 # number of results to return for that type. Multiple `Feature` objects can
219 # be specified in the `features` list.
220 "model": "A String", # Model to use for the feature.
221 # Supported values: "builtin/stable" (the default if unset) and
222 # "builtin/latest".
223 "type": "A String", # The feature type.
224 "maxResults": 42, # Maximum number of results of this type. Does not apply to
225 # `TEXT_DETECTION`, `DOCUMENT_TEXT_DETECTION`, or `CROP_HINTS`.
226 },
227 ],
228 },
229 ],
230 }
231
232 x__xgafv: string, V1 error format.
233 Allowed values
234 1 - v1 error format
235 2 - v2 error format
236
237Returns:
238 An object of the form:
239
240 { # A list of file annotation responses.
241 "responses": [ # The list of file annotation responses, each response corresponding to each
242 # AnnotateFileRequest in BatchAnnotateFilesRequest.
243 { # Response to a single file annotation request. A file may contain one or more
244 # images, which individually have their own responses.
245 "totalPages": 42, # This field gives the total number of pages in the file.
246 "responses": [ # Individual responses to images found within the file.
247 { # Response to an image annotation request.
248 "safeSearchAnnotation": { # Set of features pertaining to the image, computed by computer vision # If present, safe-search annotation has completed successfully.
249 # methods over safe-search verticals (for example, adult, spoof, medical,
250 # violence).
251 "medical": "A String", # Likelihood that this is a medical image.
252 "spoof": "A String", # Spoof likelihood. The likelihood that an modification
253 # was made to the image's canonical version to make it appear
254 # funny or offensive.
255 "violence": "A String", # Likelihood that this image contains violent content.
256 "adult": "A String", # Represents the adult content likelihood for the image. Adult content may
257 # contain elements such as nudity, pornographic images or cartoons, or
258 # sexual activities.
259 "racy": "A String", # Likelihood that the request image contains racy content. Racy content may
260 # include (but is not limited to) skimpy or sheer clothing, strategically
261 # covered nudity, lewd or provocative poses, or close-ups of sensitive
262 # body areas.
263 },
264 "textAnnotations": [ # If present, text (OCR) detection has completed successfully.
265 { # Set of detected entity features.
266 "confidence": 3.14, # **Deprecated. Use `score` instead.**
267 # The accuracy of the entity detection in an image.
268 # For example, for an image in which the "Eiffel Tower" entity is detected,
269 # this field represents the confidence that there is a tower in the query
270 # image. Range [0, 1].
271 "description": "A String", # Entity textual description, expressed in its `locale` language.
272 "locale": "A String", # The language code for the locale in which the entity textual
273 # `description` is expressed.
274 "topicality": 3.14, # The relevancy of the ICA (Image Content Annotation) label to the
275 # image. For example, the relevancy of "tower" is likely higher to an image
276 # containing the detected "Eiffel Tower" than to an image containing a
277 # detected distant towering building, even though the confidence that
278 # there is a tower in each image may be the same. Range [0, 1].
279 "mid": "A String", # Opaque entity ID. Some IDs may be available in
280 # [Google Knowledge Graph Search
281 # API](https://developers.google.com/knowledge-graph/).
282 "locations": [ # The location information for the detected entity. Multiple
283 # `LocationInfo` elements can be present because one location may
284 # indicate the location of the scene in the image, and another location
285 # may indicate the location of the place where the image was taken.
286 # Location information is usually present for landmarks.
287 { # Detected entity location information.
288 "latLng": { # An object representing a latitude/longitude pair. This is expressed as a pair # lat/long location coordinates.
289 # of doubles representing degrees latitude and degrees longitude. Unless
290 # specified otherwise, this must conform to the
291 # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
292 # standard</a>. Values must be within normalized ranges.
293 "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
294 "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
295 },
296 },
297 ],
298 "score": 3.14, # Overall score of the result. Range [0, 1].
299 "boundingPoly": { # A bounding polygon for the detected image annotation. # Image region to which this entity belongs. Not produced
300 # for `LABEL_DETECTION` features.
301 "normalizedVertices": [ # The bounding polygon normalized vertices.
302 { # A vertex represents a 2D point in the image.
303 # NOTE: the normalized vertex coordinates are relative to the original image
304 # and range from 0 to 1.
305 "y": 3.14, # Y coordinate.
306 "x": 3.14, # X coordinate.
307 },
308 ],
309 "vertices": [ # The bounding polygon vertices.
310 { # A vertex represents a 2D point in the image.
311 # NOTE: the vertex coordinates are in the same scale as the original image.
312 "y": 42, # Y coordinate.
313 "x": 42, # X coordinate.
314 },
315 ],
316 },
317 "properties": [ # Some entities may have optional user-supplied `Property` (name/value)
318 # fields, such a score or string that qualifies the entity.
319 { # A `Property` consists of a user-supplied name/value pair.
320 "uint64Value": "A String", # Value of numeric properties.
321 "name": "A String", # Name of the property.
322 "value": "A String", # Value of the property.
323 },
324 ],
325 },
326 ],
327 "webDetection": { # Relevant information for the image from the Internet. # If present, web detection has completed successfully.
328 "fullMatchingImages": [ # Fully matching images from the Internet.
329 # Can include resized copies of the query image.
330 { # Metadata for online images.
331 "url": "A String", # The result image URL.
332 "score": 3.14, # (Deprecated) Overall relevancy score for the image.
333 },
334 ],
335 "pagesWithMatchingImages": [ # Web pages containing the matching images from the Internet.
336 { # Metadata for web pages.
337 "url": "A String", # The result web page URL.
338 "pageTitle": "A String", # Title for the web page, may contain HTML markups.
339 "score": 3.14, # (Deprecated) Overall relevancy score for the web page.
340 "partialMatchingImages": [ # Partial matching images on the page.
341 # Those images are similar enough to share some key-point features. For
342 # example an original image will likely have partial matching for its
343 # crops.
344 { # Metadata for online images.
345 "url": "A String", # The result image URL.
346 "score": 3.14, # (Deprecated) Overall relevancy score for the image.
347 },
348 ],
349 "fullMatchingImages": [ # Fully matching images on the page.
350 # Can include resized copies of the query image.
351 { # Metadata for online images.
352 "url": "A String", # The result image URL.
353 "score": 3.14, # (Deprecated) Overall relevancy score for the image.
354 },
355 ],
356 },
357 ],
358 "visuallySimilarImages": [ # The visually similar image results.
359 { # Metadata for online images.
360 "url": "A String", # The result image URL.
361 "score": 3.14, # (Deprecated) Overall relevancy score for the image.
362 },
363 ],
364 "partialMatchingImages": [ # Partial matching images from the Internet.
365 # Those images are similar enough to share some key-point features. For
366 # example an original image will likely have partial matching for its crops.
367 { # Metadata for online images.
368 "url": "A String", # The result image URL.
369 "score": 3.14, # (Deprecated) Overall relevancy score for the image.
370 },
371 ],
372 "webEntities": [ # Deduced entities from similar images on the Internet.
373 { # Entity deduced from similar images on the Internet.
374 "entityId": "A String", # Opaque entity ID.
375 "score": 3.14, # Overall relevancy score for the entity.
376 # Not normalized and not comparable across different image queries.
377 "description": "A String", # Canonical description of the entity, in English.
378 },
379 ],
380 "bestGuessLabels": [ # The service's best guess as to the topic of the request image.
381 # Inferred from similar images on the open web.
382 { # Label to provide extra metadata for the web detection.
383 "languageCode": "A String", # The BCP-47 language code for `label`, such as "en-US" or "sr-Latn".
384 # For more information, see
385 # http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
386 "label": "A String", # Label for extra metadata.
387 },
388 ],
389 },
390 "localizedObjectAnnotations": [ # If present, localized object detection has completed successfully.
391 # This will be sorted descending by confidence score.
392 { # Set of detected objects with bounding boxes.
393 "languageCode": "A String", # The BCP-47 language code, such as "en-US" or "sr-Latn". For more
394 # information, see
395 # http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
396 "score": 3.14, # Score of the result. Range [0, 1].
397 "mid": "A String", # Object ID that should align with EntityAnnotation mid.
398 "boundingPoly": { # A bounding polygon for the detected image annotation. # Image region to which this object belongs. This must be populated.
399 "normalizedVertices": [ # The bounding polygon normalized vertices.
400 { # A vertex represents a 2D point in the image.
401 # NOTE: the normalized vertex coordinates are relative to the original image
402 # and range from 0 to 1.
403 "y": 3.14, # Y coordinate.
404 "x": 3.14, # X coordinate.
405 },
406 ],
407 "vertices": [ # The bounding polygon vertices.
408 { # A vertex represents a 2D point in the image.
409 # NOTE: the vertex coordinates are in the same scale as the original image.
410 "y": 42, # Y coordinate.
411 "x": 42, # X coordinate.
412 },
413 ],
414 },
415 "name": "A String", # Object name, expressed in its `language_code` language.
416 },
417 ],
418 "fullTextAnnotation": { # TextAnnotation contains a structured representation of OCR extracted text. # If present, text (OCR) detection or document (OCR) text detection has
419 # completed successfully.
420 # This annotation provides the structural hierarchy for the OCR detected
421 # text.
422 # The hierarchy of an OCR extracted text structure is like this:
423 # TextAnnotation -> Page -> Block -> Paragraph -> Word -> Symbol
424 # Each structural component, starting from Page, may further have their own
425 # properties. Properties describe detected languages, breaks etc.. Please refer
426 # to the TextAnnotation.TextProperty message definition below for more
427 # detail.
428 "text": "A String", # UTF-8 text detected on the pages.
429 "pages": [ # List of pages detected by OCR.
430 { # Detected page from OCR.
431 "width": 42, # Page width. For PDFs the unit is points. For images (including
432 # TIFFs) the unit is pixels.
433 "confidence": 3.14, # Confidence of the OCR results on the page. Range [0, 1].
434 "property": { # Additional information detected on the structural component. # Additional information detected on the page.
435 "detectedBreak": { # Detected start or end of a structural component. # Detected start or end of a text segment.
436 "isPrefix": True or False, # True if break prepends the element.
437 "type": "A String", # Detected break type.
438 },
439 "detectedLanguages": [ # A list of detected languages together with confidence.
440 { # Detected language for a structural component.
441 "languageCode": "A String", # The BCP-47 language code, such as "en-US" or "sr-Latn". For more
442 # information, see
443 # http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
444 "confidence": 3.14, # Confidence of detected language. Range [0, 1].
445 },
446 ],
447 },
448 "blocks": [ # List of blocks of text, images etc on this page.
449 { # Logical element on the page.
450 "boundingBox": { # A bounding polygon for the detected image annotation. # The bounding box for the block.
451 # The vertices are in the order of top-left, top-right, bottom-right,
452 # bottom-left. When a rotation of the bounding box is detected the rotation
453 # is represented as around the top-left corner as defined when the text is
454 # read in the 'natural' orientation.
455 # For example:
456 #
457 # * when the text is horizontal it might look like:
458 #
459 # 0----1
460 # | |
461 # 3----2
462 #
463 # * when it's rotated 180 degrees around the top-left corner it becomes:
464 #
465 # 2----3
466 # | |
467 # 1----0
468 #
469 # and the vertex order will still be (0, 1, 2, 3).
470 "normalizedVertices": [ # The bounding polygon normalized vertices.
471 { # A vertex represents a 2D point in the image.
472 # NOTE: the normalized vertex coordinates are relative to the original image
473 # and range from 0 to 1.
474 "y": 3.14, # Y coordinate.
475 "x": 3.14, # X coordinate.
476 },
477 ],
478 "vertices": [ # The bounding polygon vertices.
479 { # A vertex represents a 2D point in the image.
480 # NOTE: the vertex coordinates are in the same scale as the original image.
481 "y": 42, # Y coordinate.
482 "x": 42, # X coordinate.
483 },
484 ],
485 },
486 "blockType": "A String", # Detected block type (text, image etc) for this block.
487 "property": { # Additional information detected on the structural component. # Additional information detected for the block.
488 "detectedBreak": { # Detected start or end of a structural component. # Detected start or end of a text segment.
489 "isPrefix": True or False, # True if break prepends the element.
490 "type": "A String", # Detected break type.
491 },
492 "detectedLanguages": [ # A list of detected languages together with confidence.
493 { # Detected language for a structural component.
494 "languageCode": "A String", # The BCP-47 language code, such as "en-US" or "sr-Latn". For more
495 # information, see
496 # http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
497 "confidence": 3.14, # Confidence of detected language. Range [0, 1].
498 },
499 ],
500 },
501 "confidence": 3.14, # Confidence of the OCR results on the block. Range [0, 1].
502 "paragraphs": [ # List of paragraphs in this block (if this blocks is of type text).
503 { # Structural unit of text representing a number of words in certain order.
504 "boundingBox": { # A bounding polygon for the detected image annotation. # The bounding box for the paragraph.
505 # The vertices are in the order of top-left, top-right, bottom-right,
506 # bottom-left. When a rotation of the bounding box is detected the rotation
507 # is represented as around the top-left corner as defined when the text is
508 # read in the 'natural' orientation.
509 # For example:
510 # * when the text is horizontal it might look like:
511 # 0----1
512 # | |
513 # 3----2
514 # * when it's rotated 180 degrees around the top-left corner it becomes:
515 # 2----3
516 # | |
517 # 1----0
518 # and the vertex order will still be (0, 1, 2, 3).
519 "normalizedVertices": [ # The bounding polygon normalized vertices.
520 { # A vertex represents a 2D point in the image.
521 # NOTE: the normalized vertex coordinates are relative to the original image
522 # and range from 0 to 1.
523 "y": 3.14, # Y coordinate.
524 "x": 3.14, # X coordinate.
525 },
526 ],
527 "vertices": [ # The bounding polygon vertices.
528 { # A vertex represents a 2D point in the image.
529 # NOTE: the vertex coordinates are in the same scale as the original image.
530 "y": 42, # Y coordinate.
531 "x": 42, # X coordinate.
532 },
533 ],
534 },
535 "confidence": 3.14, # Confidence of the OCR results for the paragraph. Range [0, 1].
536 "property": { # Additional information detected on the structural component. # Additional information detected for the paragraph.
537 "detectedBreak": { # Detected start or end of a structural component. # Detected start or end of a text segment.
538 "isPrefix": True or False, # True if break prepends the element.
539 "type": "A String", # Detected break type.
540 },
541 "detectedLanguages": [ # A list of detected languages together with confidence.
542 { # Detected language for a structural component.
543 "languageCode": "A String", # The BCP-47 language code, such as "en-US" or "sr-Latn". For more
544 # information, see
545 # http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
546 "confidence": 3.14, # Confidence of detected language. Range [0, 1].
547 },
548 ],
549 },
550 "words": [ # List of words in this paragraph.
551 { # A word representation.
552 "boundingBox": { # A bounding polygon for the detected image annotation. # The bounding box for the word.
553 # The vertices are in the order of top-left, top-right, bottom-right,
554 # bottom-left. When a rotation of the bounding box is detected the rotation
555 # is represented as around the top-left corner as defined when the text is
556 # read in the 'natural' orientation.
557 # For example:
558 # * when the text is horizontal it might look like:
559 # 0----1
560 # | |
561 # 3----2
562 # * when it's rotated 180 degrees around the top-left corner it becomes:
563 # 2----3
564 # | |
565 # 1----0
566 # and the vertex order will still be (0, 1, 2, 3).
567 "normalizedVertices": [ # The bounding polygon normalized vertices.
568 { # A vertex represents a 2D point in the image.
569 # NOTE: the normalized vertex coordinates are relative to the original image
570 # and range from 0 to 1.
571 "y": 3.14, # Y coordinate.
572 "x": 3.14, # X coordinate.
573 },
574 ],
575 "vertices": [ # The bounding polygon vertices.
576 { # A vertex represents a 2D point in the image.
577 # NOTE: the vertex coordinates are in the same scale as the original image.
578 "y": 42, # Y coordinate.
579 "x": 42, # X coordinate.
580 },
581 ],
582 },
583 "symbols": [ # List of symbols in the word.
584 # The order of the symbols follows the natural reading order.
585 { # A single symbol representation.
586 "boundingBox": { # A bounding polygon for the detected image annotation. # The bounding box for the symbol.
587 # The vertices are in the order of top-left, top-right, bottom-right,
588 # bottom-left. When a rotation of the bounding box is detected the rotation
589 # is represented as around the top-left corner as defined when the text is
590 # read in the 'natural' orientation.
591 # For example:
592 # * when the text is horizontal it might look like:
593 # 0----1
594 # | |
595 # 3----2
596 # * when it's rotated 180 degrees around the top-left corner it becomes:
597 # 2----3
598 # | |
599 # 1----0
600 # and the vertice order will still be (0, 1, 2, 3).
601 "normalizedVertices": [ # The bounding polygon normalized vertices.
602 { # A vertex represents a 2D point in the image.
603 # NOTE: the normalized vertex coordinates are relative to the original image
604 # and range from 0 to 1.
605 "y": 3.14, # Y coordinate.
606 "x": 3.14, # X coordinate.
607 },
608 ],
609 "vertices": [ # The bounding polygon vertices.
610 { # A vertex represents a 2D point in the image.
611 # NOTE: the vertex coordinates are in the same scale as the original image.
612 "y": 42, # Y coordinate.
613 "x": 42, # X coordinate.
614 },
615 ],
616 },
617 "text": "A String", # The actual UTF-8 representation of the symbol.
618 "confidence": 3.14, # Confidence of the OCR results for the symbol. Range [0, 1].
619 "property": { # Additional information detected on the structural component. # Additional information detected for the symbol.
620 "detectedBreak": { # Detected start or end of a structural component. # Detected start or end of a text segment.
621 "isPrefix": True or False, # True if break prepends the element.
622 "type": "A String", # Detected break type.
623 },
624 "detectedLanguages": [ # A list of detected languages together with confidence.
625 { # Detected language for a structural component.
626 "languageCode": "A String", # The BCP-47 language code, such as "en-US" or "sr-Latn". For more
627 # information, see
628 # http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
629 "confidence": 3.14, # Confidence of detected language. Range [0, 1].
630 },
631 ],
632 },
633 },
634 ],
635 "confidence": 3.14, # Confidence of the OCR results for the word. Range [0, 1].
636 "property": { # Additional information detected on the structural component. # Additional information detected for the word.
637 "detectedBreak": { # Detected start or end of a structural component. # Detected start or end of a text segment.
638 "isPrefix": True or False, # True if break prepends the element.
639 "type": "A String", # Detected break type.
640 },
641 "detectedLanguages": [ # A list of detected languages together with confidence.
642 { # Detected language for a structural component.
643 "languageCode": "A String", # The BCP-47 language code, such as "en-US" or "sr-Latn". For more
644 # information, see
645 # http://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
646 "confidence": 3.14, # Confidence of detected language. Range [0, 1].
647 },
648 ],
649 },
650 },
651 ],
652 },
653 ],
654 },
655 ],
656 "height": 42, # Page height. For PDFs the unit is points. For images (including
657 # TIFFs) the unit is pixels.
658 },
659 ],
660 },
661 "labelAnnotations": [ # If present, label detection has completed successfully.
662 { # Set of detected entity features.
663 "confidence": 3.14, # **Deprecated. Use `score` instead.**
664 # The accuracy of the entity detection in an image.
665 # For example, for an image in which the "Eiffel Tower" entity is detected,
666 # this field represents the confidence that there is a tower in the query
667 # image. Range [0, 1].
668 "description": "A String", # Entity textual description, expressed in its `locale` language.
669 "locale": "A String", # The language code for the locale in which the entity textual
670 # `description` is expressed.
671 "topicality": 3.14, # The relevancy of the ICA (Image Content Annotation) label to the
672 # image. For example, the relevancy of "tower" is likely higher to an image
673 # containing the detected "Eiffel Tower" than to an image containing a
674 # detected distant towering building, even though the confidence that
675 # there is a tower in each image may be the same. Range [0, 1].
676 "mid": "A String", # Opaque entity ID. Some IDs may be available in
677 # [Google Knowledge Graph Search
678 # API](https://developers.google.com/knowledge-graph/).
679 "locations": [ # The location information for the detected entity. Multiple
680 # `LocationInfo` elements can be present because one location may
681 # indicate the location of the scene in the image, and another location
682 # may indicate the location of the place where the image was taken.
683 # Location information is usually present for landmarks.
684 { # Detected entity location information.
685 "latLng": { # An object representing a latitude/longitude pair. This is expressed as a pair # lat/long location coordinates.
686 # of doubles representing degrees latitude and degrees longitude. Unless
687 # specified otherwise, this must conform to the
688 # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
689 # standard</a>. Values must be within normalized ranges.
690 "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
691 "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
692 },
693 },
694 ],
695 "score": 3.14, # Overall score of the result. Range [0, 1].
696 "boundingPoly": { # A bounding polygon for the detected image annotation. # Image region to which this entity belongs. Not produced
697 # for `LABEL_DETECTION` features.
698 "normalizedVertices": [ # The bounding polygon normalized vertices.
699 { # A vertex represents a 2D point in the image.
700 # NOTE: the normalized vertex coordinates are relative to the original image
701 # and range from 0 to 1.
702 "y": 3.14, # Y coordinate.
703 "x": 3.14, # X coordinate.
704 },
705 ],
706 "vertices": [ # The bounding polygon vertices.
707 { # A vertex represents a 2D point in the image.
708 # NOTE: the vertex coordinates are in the same scale as the original image.
709 "y": 42, # Y coordinate.
710 "x": 42, # X coordinate.
711 },
712 ],
713 },
714 "properties": [ # Some entities may have optional user-supplied `Property` (name/value)
715 # fields, such a score or string that qualifies the entity.
716 { # A `Property` consists of a user-supplied name/value pair.
717 "uint64Value": "A String", # Value of numeric properties.
718 "name": "A String", # Name of the property.
719 "value": "A String", # Value of the property.
720 },
721 ],
722 },
723 ],
724 "imagePropertiesAnnotation": { # Stores image properties, such as dominant colors. # If present, image properties were extracted successfully.
725 "dominantColors": { # Set of dominant colors and their corresponding scores. # If present, dominant colors completed successfully.
726 "colors": [ # RGB color values with their score and pixel fraction.
727 { # Color information consists of RGB channels, score, and the fraction of
728 # the image that the color occupies in the image.
729 "color": { # Represents a color in the RGBA color space. This representation is designed # RGB components of the color.
730 # for simplicity of conversion to/from color representations in various
731 # languages over compactness; for example, the fields of this representation
732 # can be trivially provided to the constructor of "java.awt.Color" in Java; it
733 # can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
734 # method in iOS; and, with just a little work, it can be easily formatted into
735 # a CSS "rgba()" string in JavaScript, as well.
736 #
737 # Note: this proto does not carry information about the absolute color space
738 # that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
739 # DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color
740 # space.
741 #
742 # Example (Java):
743 #
744 # import com.google.type.Color;
745 #
746 # // ...
747 # public static java.awt.Color fromProto(Color protocolor) {
748 # float alpha = protocolor.hasAlpha()
749 # ? protocolor.getAlpha().getValue()
750 # : 1.0;
751 #
752 # return new java.awt.Color(
753 # protocolor.getRed(),
754 # protocolor.getGreen(),
755 # protocolor.getBlue(),
756 # alpha);
757 # }
758 #
759 # public static Color toProto(java.awt.Color color) {
760 # float red = (float) color.getRed();
761 # float green = (float) color.getGreen();
762 # float blue = (float) color.getBlue();
763 # float denominator = 255.0;
764 # Color.Builder resultBuilder =
765 # Color
766 # .newBuilder()
767 # .setRed(red / denominator)
768 # .setGreen(green / denominator)
769 # .setBlue(blue / denominator);
770 # int alpha = color.getAlpha();
771 # if (alpha != 255) {
772 # result.setAlpha(
773 # FloatValue
774 # .newBuilder()
775 # .setValue(((float) alpha) / denominator)
776 # .build());
777 # }
778 # return resultBuilder.build();
779 # }
780 # // ...
781 #
782 # Example (iOS / Obj-C):
783 #
784 # // ...
785 # static UIColor* fromProto(Color* protocolor) {
786 # float red = [protocolor red];
787 # float green = [protocolor green];
788 # float blue = [protocolor blue];
789 # FloatValue* alpha_wrapper = [protocolor alpha];
790 # float alpha = 1.0;
791 # if (alpha_wrapper != nil) {
792 # alpha = [alpha_wrapper value];
793 # }
794 # return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
795 # }
796 #
797 # static Color* toProto(UIColor* color) {
798 # CGFloat red, green, blue, alpha;
799 # if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
800 # return nil;
801 # }
802 # Color* result = [[Color alloc] init];
803 # [result setRed:red];
804 # [result setGreen:green];
805 # [result setBlue:blue];
806 # if (alpha <= 0.9999) {
807 # [result setAlpha:floatWrapperWithValue(alpha)];
808 # }
809 # [result autorelease];
810 # return result;
811 # }
812 # // ...
813 #
814 # Example (JavaScript):
815 #
816 # // ...
817 #
818 # var protoToCssColor = function(rgb_color) {
819 # var redFrac = rgb_color.red || 0.0;
820 # var greenFrac = rgb_color.green || 0.0;
821 # var blueFrac = rgb_color.blue || 0.0;
822 # var red = Math.floor(redFrac * 255);
823 # var green = Math.floor(greenFrac * 255);
824 # var blue = Math.floor(blueFrac * 255);
825 #
826 # if (!('alpha' in rgb_color)) {
827 # return rgbToCssColor_(red, green, blue);
828 # }
829 #
830 # var alphaFrac = rgb_color.alpha.value || 0.0;
831 # var rgbParams = [red, green, blue].join(',');
832 # return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
833 # };
834 #
835 # var rgbToCssColor_ = function(red, green, blue) {
836 # var rgbNumber = new Number((red << 16) | (green << 8) | blue);
837 # var hexString = rgbNumber.toString(16);
838 # var missingZeros = 6 - hexString.length;
839 # var resultBuilder = ['#'];
840 # for (var i = 0; i < missingZeros; i++) {
841 # resultBuilder.push('0');
842 # }
843 # resultBuilder.push(hexString);
844 # return resultBuilder.join('');
845 # };
846 #
847 # // ...
848 "blue": 3.14, # The amount of blue in the color as a value in the interval [0, 1].
849 "alpha": 3.14, # The fraction of this color that should be applied to the pixel. That is,
850 # the final pixel color is defined by the equation:
851 #
852 # pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
853 #
854 # This means that a value of 1.0 corresponds to a solid color, whereas
855 # a value of 0.0 corresponds to a completely transparent color. This
856 # uses a wrapper message rather than a simple float scalar so that it is
857 # possible to distinguish between a default value and the value being unset.
858 # If omitted, this color object is to be rendered as a solid color
859 # (as if the alpha value had been explicitly given with a value of 1.0).
860 "green": 3.14, # The amount of green in the color as a value in the interval [0, 1].
861 "red": 3.14, # The amount of red in the color as a value in the interval [0, 1].
862 },
863 "pixelFraction": 3.14, # The fraction of pixels the color occupies in the image.
864 # Value in range [0, 1].
865 "score": 3.14, # Image-specific score for this color. Value in range [0, 1].
866 },
867 ],
868 },
869 },
870 "faceAnnotations": [ # If present, face detection has completed successfully.
871 { # A face annotation object contains the results of face detection.
872 "panAngle": 3.14, # Yaw angle, which indicates the leftward/rightward angle that the face is
873 # pointing relative to the vertical plane perpendicular to the image. Range
874 # [-180,180].
875 "sorrowLikelihood": "A String", # Sorrow likelihood.
876 "landmarkingConfidence": 3.14, # Face landmarking confidence. Range [0, 1].
877 "underExposedLikelihood": "A String", # Under-exposed likelihood.
878 "detectionConfidence": 3.14, # Detection confidence. Range [0, 1].
879 "joyLikelihood": "A String", # Joy likelihood.
880 "landmarks": [ # Detected face landmarks.
881 { # A face-specific landmark (for example, a face feature).
882 "position": { # A 3D position in the image, used primarily for Face detection landmarks. # Face landmark position.
883 # A valid Position must have both x and y coordinates.
884 # The position coordinates are in the same scale as the original image.
885 "y": 3.14, # Y coordinate.
886 "x": 3.14, # X coordinate.
887 "z": 3.14, # Z coordinate (or depth).
888 },
889 "type": "A String", # Face landmark type.
890 },
891 ],
892 "surpriseLikelihood": "A String", # Surprise likelihood.
893 "blurredLikelihood": "A String", # Blurred likelihood.
894 "tiltAngle": 3.14, # Pitch angle, which indicates the upwards/downwards angle that the face is
895 # pointing relative to the image's horizontal plane. Range [-180,180].
896 "angerLikelihood": "A String", # Anger likelihood.
897 "boundingPoly": { # A bounding polygon for the detected image annotation. # The bounding polygon around the face. The coordinates of the bounding box
898 # are in the original image's scale.
899 # The bounding box is computed to "frame" the face in accordance with human
900 # expectations. It is based on the landmarker results.
901 # Note that one or more x and/or y coordinates may not be generated in the
902 # `BoundingPoly` (the polygon will be unbounded) if only a partial face
903 # appears in the image to be annotated.
904 "normalizedVertices": [ # The bounding polygon normalized vertices.
905 { # A vertex represents a 2D point in the image.
906 # NOTE: the normalized vertex coordinates are relative to the original image
907 # and range from 0 to 1.
908 "y": 3.14, # Y coordinate.
909 "x": 3.14, # X coordinate.
910 },
911 ],
912 "vertices": [ # The bounding polygon vertices.
913 { # A vertex represents a 2D point in the image.
914 # NOTE: the vertex coordinates are in the same scale as the original image.
915 "y": 42, # Y coordinate.
916 "x": 42, # X coordinate.
917 },
918 ],
919 },
920 "rollAngle": 3.14, # Roll angle, which indicates the amount of clockwise/anti-clockwise rotation
921 # of the face relative to the image vertical about the axis perpendicular to
922 # the face. Range [-180,180].
923 "headwearLikelihood": "A String", # Headwear likelihood.
924 "fdBoundingPoly": { # A bounding polygon for the detected image annotation. # The `fd_bounding_poly` bounding polygon is tighter than the
925 # `boundingPoly`, and encloses only the skin part of the face. Typically, it
926 # is used to eliminate the face from any image analysis that detects the
927 # "amount of skin" visible in an image. It is not based on the
928 # landmarker results, only on the initial face detection, hence
929 # the <code>fd</code> (face detection) prefix.
930 "normalizedVertices": [ # The bounding polygon normalized vertices.
931 { # A vertex represents a 2D point in the image.
932 # NOTE: the normalized vertex coordinates are relative to the original image
933 # and range from 0 to 1.
934 "y": 3.14, # Y coordinate.
935 "x": 3.14, # X coordinate.
936 },
937 ],
938 "vertices": [ # The bounding polygon vertices.
939 { # A vertex represents a 2D point in the image.
940 # NOTE: the vertex coordinates are in the same scale as the original image.
941 "y": 42, # Y coordinate.
942 "x": 42, # X coordinate.
943 },
944 ],
945 },
946 },
947 ],
948 "productSearchResults": { # Results for a product search request. # If present, product search has completed successfully.
949 "productGroupedResults": [ # List of results grouped by products detected in the query image. Each entry
950 # corresponds to one bounding polygon in the query image, and contains the
951 # matching products specific to that region. There may be duplicate product
952 # matches in the union of all the per-product results.
953 { # Information about the products similar to a single product in a query
954 # image.
955 "results": [ # List of results, one for each product match.
956 { # Information about a product.
957 "image": "A String", # The resource name of the image from the product that is the closest match
958 # to the query.
959 "score": 3.14, # A confidence level on the match, ranging from 0 (no confidence) to
960 # 1 (full confidence).
961 "product": { # A Product contains ReferenceImages. # The Product.
962 "productLabels": [ # Key-value pairs that can be attached to a product. At query time,
963 # constraints can be specified based on the product_labels.
964 #
965 # Note that integer values can be provided as strings, e.g. "1199". Only
966 # strings with integer values can match a range-based restriction which is
967 # to be supported soon.
968 #
969 # Multiple values can be assigned to the same key. One product may have up to
970 # 100 product_labels.
971 { # A product label represented as a key-value pair.
972 "key": "A String", # The key of the label attached to the product. Cannot be empty and cannot
973 # exceed 128 bytes.
974 "value": "A String", # The value of the label attached to the product. Cannot be empty and
975 # cannot exceed 128 bytes.
976 },
977 ],
978 "displayName": "A String", # The user-provided name for this Product. Must not be empty. Must be at most
979 # 4096 characters long.
980 "description": "A String", # User-provided metadata to be stored with this product. Must be at most 4096
981 # characters long.
982 "productCategory": "A String", # The category for the product identified by the reference image. This should
983 # be either "homegoods-v2", "apparel-v2", or "toys-v2". The legacy categories
984 # "homegoods", "apparel", and "toys" are still supported, but these should
985 # not be used for new products.
986 #
987 # This field is immutable.
988 "name": "A String", # The resource name of the product.
989 #
990 # Format is:
991 # `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`.
992 #
993 # This field is ignored when creating a product.
994 },
995 },
996 ],
997 "boundingPoly": { # A bounding polygon for the detected image annotation. # The bounding polygon around the product detected in the query image.
998 "normalizedVertices": [ # The bounding polygon normalized vertices.
999 { # A vertex represents a 2D point in the image.
1000 # NOTE: the normalized vertex coordinates are relative to the original image
1001 # and range from 0 to 1.
1002 "y": 3.14, # Y coordinate.
1003 "x": 3.14, # X coordinate.
1004 },
1005 ],
1006 "vertices": [ # The bounding polygon vertices.
1007 { # A vertex represents a 2D point in the image.
1008 # NOTE: the vertex coordinates are in the same scale as the original image.
1009 "y": 42, # Y coordinate.
1010 "x": 42, # X coordinate.
1011 },
1012 ],
1013 },
1014 },
1015 ],
1016 "results": [ # List of results, one for each product match.
1017 { # Information about a product.
1018 "image": "A String", # The resource name of the image from the product that is the closest match
1019 # to the query.
1020 "score": 3.14, # A confidence level on the match, ranging from 0 (no confidence) to
1021 # 1 (full confidence).
1022 "product": { # A Product contains ReferenceImages. # The Product.
1023 "productLabels": [ # Key-value pairs that can be attached to a product. At query time,
1024 # constraints can be specified based on the product_labels.
1025 #
1026 # Note that integer values can be provided as strings, e.g. "1199". Only
1027 # strings with integer values can match a range-based restriction which is
1028 # to be supported soon.
1029 #
1030 # Multiple values can be assigned to the same key. One product may have up to
1031 # 100 product_labels.
1032 { # A product label represented as a key-value pair.
1033 "key": "A String", # The key of the label attached to the product. Cannot be empty and cannot
1034 # exceed 128 bytes.
1035 "value": "A String", # The value of the label attached to the product. Cannot be empty and
1036 # cannot exceed 128 bytes.
1037 },
1038 ],
1039 "displayName": "A String", # The user-provided name for this Product. Must not be empty. Must be at most
1040 # 4096 characters long.
1041 "description": "A String", # User-provided metadata to be stored with this product. Must be at most 4096
1042 # characters long.
1043 "productCategory": "A String", # The category for the product identified by the reference image. This should
1044 # be either "homegoods-v2", "apparel-v2", or "toys-v2". The legacy categories
1045 # "homegoods", "apparel", and "toys" are still supported, but these should
1046 # not be used for new products.
1047 #
1048 # This field is immutable.
1049 "name": "A String", # The resource name of the product.
1050 #
1051 # Format is:
1052 # `projects/PROJECT_ID/locations/LOC_ID/products/PRODUCT_ID`.
1053 #
1054 # This field is ignored when creating a product.
1055 },
1056 },
1057 ],
1058 "indexTime": "A String", # Timestamp of the index which provided these results. Products added to the
1059 # product set and products removed from the product set after this time are
1060 # not reflected in the current results.
1061 },
1062 "logoAnnotations": [ # If present, logo detection has completed successfully.
1063 { # Set of detected entity features.
1064 "confidence": 3.14, # **Deprecated. Use `score` instead.**
1065 # The accuracy of the entity detection in an image.
1066 # For example, for an image in which the "Eiffel Tower" entity is detected,
1067 # this field represents the confidence that there is a tower in the query
1068 # image. Range [0, 1].
1069 "description": "A String", # Entity textual description, expressed in its `locale` language.
1070 "locale": "A String", # The language code for the locale in which the entity textual
1071 # `description` is expressed.
1072 "topicality": 3.14, # The relevancy of the ICA (Image Content Annotation) label to the
1073 # image. For example, the relevancy of "tower" is likely higher to an image
1074 # containing the detected "Eiffel Tower" than to an image containing a
1075 # detected distant towering building, even though the confidence that
1076 # there is a tower in each image may be the same. Range [0, 1].
1077 "mid": "A String", # Opaque entity ID. Some IDs may be available in
1078 # [Google Knowledge Graph Search
1079 # API](https://developers.google.com/knowledge-graph/).
1080 "locations": [ # The location information for the detected entity. Multiple
1081 # `LocationInfo` elements can be present because one location may
1082 # indicate the location of the scene in the image, and another location
1083 # may indicate the location of the place where the image was taken.
1084 # Location information is usually present for landmarks.
1085 { # Detected entity location information.
1086 "latLng": { # An object representing a latitude/longitude pair. This is expressed as a pair # lat/long location coordinates.
1087 # of doubles representing degrees latitude and degrees longitude. Unless
1088 # specified otherwise, this must conform to the
1089 # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
1090 # standard</a>. Values must be within normalized ranges.
1091 "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
1092 "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
1093 },
1094 },
1095 ],
1096 "score": 3.14, # Overall score of the result. Range [0, 1].
1097 "boundingPoly": { # A bounding polygon for the detected image annotation. # Image region to which this entity belongs. Not produced
1098 # for `LABEL_DETECTION` features.
1099 "normalizedVertices": [ # The bounding polygon normalized vertices.
1100 { # A vertex represents a 2D point in the image.
1101 # NOTE: the normalized vertex coordinates are relative to the original image
1102 # and range from 0 to 1.
1103 "y": 3.14, # Y coordinate.
1104 "x": 3.14, # X coordinate.
1105 },
1106 ],
1107 "vertices": [ # The bounding polygon vertices.
1108 { # A vertex represents a 2D point in the image.
1109 # NOTE: the vertex coordinates are in the same scale as the original image.
1110 "y": 42, # Y coordinate.
1111 "x": 42, # X coordinate.
1112 },
1113 ],
1114 },
1115 "properties": [ # Some entities may have optional user-supplied `Property` (name/value)
1116 # fields, such a score or string that qualifies the entity.
1117 { # A `Property` consists of a user-supplied name/value pair.
1118 "uint64Value": "A String", # Value of numeric properties.
1119 "name": "A String", # Name of the property.
1120 "value": "A String", # Value of the property.
1121 },
1122 ],
1123 },
1124 ],
1125 "landmarkAnnotations": [ # If present, landmark detection has completed successfully.
1126 { # Set of detected entity features.
1127 "confidence": 3.14, # **Deprecated. Use `score` instead.**
1128 # The accuracy of the entity detection in an image.
1129 # For example, for an image in which the "Eiffel Tower" entity is detected,
1130 # this field represents the confidence that there is a tower in the query
1131 # image. Range [0, 1].
1132 "description": "A String", # Entity textual description, expressed in its `locale` language.
1133 "locale": "A String", # The language code for the locale in which the entity textual
1134 # `description` is expressed.
1135 "topicality": 3.14, # The relevancy of the ICA (Image Content Annotation) label to the
1136 # image. For example, the relevancy of "tower" is likely higher to an image
1137 # containing the detected "Eiffel Tower" than to an image containing a
1138 # detected distant towering building, even though the confidence that
1139 # there is a tower in each image may be the same. Range [0, 1].
1140 "mid": "A String", # Opaque entity ID. Some IDs may be available in
1141 # [Google Knowledge Graph Search
1142 # API](https://developers.google.com/knowledge-graph/).
1143 "locations": [ # The location information for the detected entity. Multiple
1144 # `LocationInfo` elements can be present because one location may
1145 # indicate the location of the scene in the image, and another location
1146 # may indicate the location of the place where the image was taken.
1147 # Location information is usually present for landmarks.
1148 { # Detected entity location information.
1149 "latLng": { # An object representing a latitude/longitude pair. This is expressed as a pair # lat/long location coordinates.
1150 # of doubles representing degrees latitude and degrees longitude. Unless
1151 # specified otherwise, this must conform to the
1152 # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
1153 # standard</a>. Values must be within normalized ranges.
1154 "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
1155 "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
1156 },
1157 },
1158 ],
1159 "score": 3.14, # Overall score of the result. Range [0, 1].
1160 "boundingPoly": { # A bounding polygon for the detected image annotation. # Image region to which this entity belongs. Not produced
1161 # for `LABEL_DETECTION` features.
1162 "normalizedVertices": [ # The bounding polygon normalized vertices.
1163 { # A vertex represents a 2D point in the image.
1164 # NOTE: the normalized vertex coordinates are relative to the original image
1165 # and range from 0 to 1.
1166 "y": 3.14, # Y coordinate.
1167 "x": 3.14, # X coordinate.
1168 },
1169 ],
1170 "vertices": [ # The bounding polygon vertices.
1171 { # A vertex represents a 2D point in the image.
1172 # NOTE: the vertex coordinates are in the same scale as the original image.
1173 "y": 42, # Y coordinate.
1174 "x": 42, # X coordinate.
1175 },
1176 ],
1177 },
1178 "properties": [ # Some entities may have optional user-supplied `Property` (name/value)
1179 # fields, such a score or string that qualifies the entity.
1180 { # A `Property` consists of a user-supplied name/value pair.
1181 "uint64Value": "A String", # Value of numeric properties.
1182 "name": "A String", # Name of the property.
1183 "value": "A String", # Value of the property.
1184 },
1185 ],
1186 },
1187 ],
1188 "context": { # If an image was produced from a file (e.g. a PDF), this message gives # If present, contextual information is needed to understand where this image
1189 # comes from.
1190 # information about the source of that image.
1191 "pageNumber": 42, # If the file was a PDF or TIFF, this field gives the page number within
1192 # the file used to produce the image.
1193 "uri": "A String", # The URI of the file used to produce the image.
1194 },
1195 "error": { # The `Status` type defines a logical error model that is suitable for # If set, represents the error message for the operation.
1196 # Note that filled-in image annotations are guaranteed to be
1197 # correct, even when `error` is set.
1198 # different programming environments, including REST APIs and RPC APIs. It is
1199 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
1200 # three pieces of data: error code, error message, and error details.
1201 #
1202 # You can find out more about this error model and how to work with it in the
1203 # [API Design Guide](https://cloud.google.com/apis/design/errors).
1204 "message": "A String", # A developer-facing error message, which should be in English. Any
1205 # user-facing error message should be localized and sent in the
1206 # google.rpc.Status.details field, or localized by the client.
1207 "code": 42, # The status code, which should be an enum value of google.rpc.Code.
1208 "details": [ # A list of messages that carry the error details. There is a common set of
1209 # message types for APIs to use.
1210 {
1211 "a_key": "", # Properties of the object. Contains field @type with type URL.
1212 },
1213 ],
1214 },
1215 "cropHintsAnnotation": { # Set of crop hints that are used to generate new crops when serving images. # If present, crop hints have completed successfully.
1216 "cropHints": [ # Crop hint results.
1217 { # Single crop hint that is used to generate a new crop when serving an image.
1218 "confidence": 3.14, # Confidence of this being a salient region. Range [0, 1].
1219 "importanceFraction": 3.14, # Fraction of importance of this salient region with respect to the original
1220 # image.
1221 "boundingPoly": { # A bounding polygon for the detected image annotation. # The bounding polygon for the crop region. The coordinates of the bounding
1222 # box are in the original image's scale.
1223 "normalizedVertices": [ # The bounding polygon normalized vertices.
1224 { # A vertex represents a 2D point in the image.
1225 # NOTE: the normalized vertex coordinates are relative to the original image
1226 # and range from 0 to 1.
1227 "y": 3.14, # Y coordinate.
1228 "x": 3.14, # X coordinate.
1229 },
1230 ],
1231 "vertices": [ # The bounding polygon vertices.
1232 { # A vertex represents a 2D point in the image.
1233 # NOTE: the vertex coordinates are in the same scale as the original image.
1234 "y": 42, # Y coordinate.
1235 "x": 42, # X coordinate.
1236 },
1237 ],
1238 },
1239 },
1240 ],
1241 },
1242 },
1243 ],
1244 "inputConfig": { # The desired input location and metadata. # Information about the file for which this response is generated.
1245 "mimeType": "A String", # The type of the file. Currently only "application/pdf", "image/tiff" and
1246 # "image/gif" are supported. Wildcards are not supported.
1247 "content": "A String", # File content, represented as a stream of bytes.
1248 # Note: As with all `bytes` fields, protobuffers use a pure binary
1249 # representation, whereas JSON representations use base64.
1250 #
1251 # Currently, this field only works for BatchAnnotateFiles requests. It does
1252 # not work for AsyncBatchAnnotateFiles requests.
1253 "gcsSource": { # The Google Cloud Storage location where the input will be read from. # The Google Cloud Storage location to read the input from.
1254 "uri": "A String", # Google Cloud Storage URI for the input file. This must only be a
1255 # Google Cloud Storage object. Wildcards are not currently supported.
1256 },
1257 },
1258 },
1259 ],
1260 }</pre>
1261</div>
1262
1263<div class="method">
1264 <code class="details" id="asyncBatchAnnotate">asyncBatchAnnotate(body, x__xgafv=None)</code>
1265 <pre>Run asynchronous image detection and annotation for a list of generic
1266files, such as PDF files, which may contain multiple pages and multiple
1267images per page. Progress and results can be retrieved through the
1268`google.longrunning.Operations` interface.
1269`Operation.metadata` contains `OperationMetadata` (metadata).
1270`Operation.response` contains `AsyncBatchAnnotateFilesResponse` (results).
1271
1272Args:
1273 body: object, The request body. (required)
1274 The object takes the form of:
1275
1276{ # Multiple async file annotation requests are batched into a single service
1277 # call.
1278 "requests": [ # Individual async file annotation requests for this batch.
1279 { # An offline file annotation request.
1280 "imageContext": { # Image context and/or feature-specific parameters. # Additional context that may accompany the image(s) in the file.
1281 "latLongRect": { # Rectangle determined by min and max `LatLng` pairs. # Not used.
1282 "minLatLng": { # An object representing a latitude/longitude pair. This is expressed as a pair # Min lat/long pair.
1283 # of doubles representing degrees latitude and degrees longitude. Unless
1284 # specified otherwise, this must conform to the
1285 # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
1286 # standard</a>. Values must be within normalized ranges.
1287 "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
1288 "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
1289 },
1290 "maxLatLng": { # An object representing a latitude/longitude pair. This is expressed as a pair # Max lat/long pair.
1291 # of doubles representing degrees latitude and degrees longitude. Unless
1292 # specified otherwise, this must conform to the
1293 # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
1294 # standard</a>. Values must be within normalized ranges.
1295 "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
1296 "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
1297 },
1298 },
1299 "languageHints": [ # List of languages to use for TEXT_DETECTION. In most cases, an empty value
1300 # yields the best results since it enables automatic language detection. For
1301 # languages based on the Latin alphabet, setting `language_hints` is not
1302 # needed. In rare cases, when the language of the text in the image is known,
1303 # setting a hint will help get better results (although it will be a
1304 # significant hindrance if the hint is wrong). Text detection returns an
1305 # error if one or more of the specified languages is not one of the
1306 # [supported languages](/vision/docs/languages).
1307 "A String",
1308 ],
1309 "productSearchParams": { # Parameters for a product search request. # Parameters for product search.
1310 "filter": "A String", # The filtering expression. This can be used to restrict search results based
1311 # on Product labels. We currently support an AND of OR of key-value
1312 # expressions, where each expression within an OR must have the same key. An
1313 # '=' should be used to connect the key and value.
1314 #
1315 # For example, "(color = red OR color = blue) AND brand = Google" is
1316 # acceptable, but "(color = red OR brand = Google)" is not acceptable.
1317 # "color: red" is not acceptable because it uses a ':' instead of an '='.
1318 "productCategories": [ # The list of product categories to search in. Currently, we only consider
1319 # the first category, and either "homegoods-v2", "apparel-v2", or "toys-v2"
1320 # should be specified. The legacy categories "homegoods", "apparel", and
1321 # "toys" are still supported but will be deprecated. For new products, please
1322 # use "homegoods-v2", "apparel-v2", or "toys-v2" for better product search
1323 # accuracy. It is recommended to migrate existing products to these
1324 # categories as well.
1325 "A String",
1326 ],
1327 "productSet": "A String", # The resource name of a ProductSet to be searched for similar images.
1328 #
1329 # Format is:
1330 # `projects/PROJECT_ID/locations/LOC_ID/productSets/PRODUCT_SET_ID`.
1331 "boundingPoly": { # A bounding polygon for the detected image annotation. # The bounding polygon around the area of interest in the image.
1332 # Optional. If it is not specified, system discretion will be applied.
1333 "normalizedVertices": [ # The bounding polygon normalized vertices.
1334 { # A vertex represents a 2D point in the image.
1335 # NOTE: the normalized vertex coordinates are relative to the original image
1336 # and range from 0 to 1.
1337 "y": 3.14, # Y coordinate.
1338 "x": 3.14, # X coordinate.
1339 },
1340 ],
1341 "vertices": [ # The bounding polygon vertices.
1342 { # A vertex represents a 2D point in the image.
1343 # NOTE: the vertex coordinates are in the same scale as the original image.
1344 "y": 42, # Y coordinate.
1345 "x": 42, # X coordinate.
1346 },
1347 ],
1348 },
1349 },
1350 "cropHintsParams": { # Parameters for crop hints annotation request. # Parameters for crop hints annotation request.
1351 "aspectRatios": [ # Aspect ratios in floats, representing the ratio of the width to the height
1352 # of the image. For example, if the desired aspect ratio is 4/3, the
1353 # corresponding float value should be 1.33333. If not specified, the
1354 # best possible crop is returned. The number of provided aspect ratios is
1355 # limited to a maximum of 16; any aspect ratios provided after the 16th are
1356 # ignored.
1357 3.14,
1358 ],
1359 },
1360 "webDetectionParams": { # Parameters for web detection request. # Parameters for web detection.
1361 "includeGeoResults": True or False, # Whether to include results derived from the geo information in the image.
1362 },
1363 },
1364 "outputConfig": { # The desired output location and metadata. # Required. The desired output location and metadata (e.g. format).
1365 "batchSize": 42, # The max number of response protos to put into each output JSON file on
1366 # Google Cloud Storage.
1367 # The valid range is [1, 100]. If not specified, the default value is 20.
1368 #
1369 # For example, for one pdf file with 100 pages, 100 response protos will
1370 # be generated. If `batch_size` = 20, then 5 json files each
1371 # containing 20 response protos will be written under the prefix
1372 # `gcs_destination`.`uri`.
1373 #
1374 # Currently, batch_size only applies to GcsDestination, with potential future
1375 # support for other output configurations.
1376 "gcsDestination": { # The Google Cloud Storage location where the output will be written to. # The Google Cloud Storage location to write the output(s) to.
1377 "uri": "A String", # Google Cloud Storage URI prefix where the results will be stored. Results
1378 # will be in JSON format and preceded by its corresponding input URI prefix.
1379 # This field can either represent a gcs file prefix or gcs directory. In
1380 # either case, the uri should be unique because in order to get all of the
1381 # output files, you will need to do a wildcard gcs search on the uri prefix
1382 # you provide.
1383 #
1384 # Examples:
1385 #
1386 # * File Prefix: gs://bucket-name/here/filenameprefix The output files
1387 # will be created in gs://bucket-name/here/ and the names of the
1388 # output files will begin with "filenameprefix".
1389 #
1390 # * Directory Prefix: gs://bucket-name/some/location/ The output files
1391 # will be created in gs://bucket-name/some/location/ and the names of the
1392 # output files could be anything because there was no filename prefix
1393 # specified.
1394 #
1395 # If multiple outputs, each response is still AnnotateFileResponse, each of
1396 # which contains some subset of the full list of AnnotateImageResponse.
1397 # Multiple outputs can happen if, for example, the output JSON is too large
1398 # and overflows into multiple sharded files.
1399 },
1400 },
1401 "inputConfig": { # The desired input location and metadata. # Required. Information about the input file.
1402 "mimeType": "A String", # The type of the file. Currently only "application/pdf", "image/tiff" and
1403 # "image/gif" are supported. Wildcards are not supported.
1404 "content": "A String", # File content, represented as a stream of bytes.
1405 # Note: As with all `bytes` fields, protobuffers use a pure binary
1406 # representation, whereas JSON representations use base64.
1407 #
1408 # Currently, this field only works for BatchAnnotateFiles requests. It does
1409 # not work for AsyncBatchAnnotateFiles requests.
1410 "gcsSource": { # The Google Cloud Storage location where the input will be read from. # The Google Cloud Storage location to read the input from.
1411 "uri": "A String", # Google Cloud Storage URI for the input file. This must only be a
1412 # Google Cloud Storage object. Wildcards are not currently supported.
1413 },
1414 },
1415 "features": [ # Required. Requested features.
1416 { # The type of Google Cloud Vision API detection to perform, and the maximum
1417 # number of results to return for that type. Multiple `Feature` objects can
1418 # be specified in the `features` list.
1419 "model": "A String", # Model to use for the feature.
1420 # Supported values: "builtin/stable" (the default if unset) and
1421 # "builtin/latest".
1422 "type": "A String", # The feature type.
1423 "maxResults": 42, # Maximum number of results of this type. Does not apply to
1424 # `TEXT_DETECTION`, `DOCUMENT_TEXT_DETECTION`, or `CROP_HINTS`.
1425 },
1426 ],
1427 },
1428 ],
1429 }
1430
1431 x__xgafv: string, V1 error format.
1432 Allowed values
1433 1 - v1 error format
1434 2 - v2 error format
1435
1436Returns:
1437 An object of the form:
1438
1439 { # This resource represents a long-running operation that is the result of a
1440 # network API call.
1441 "response": { # The normal response of the operation in case of success. If the original
1442 # method returns no data on success, such as `Delete`, the response is
1443 # `google.protobuf.Empty`. If the original method is standard
1444 # `Get`/`Create`/`Update`, the response should be the resource. For other
1445 # methods, the response should have the type `XxxResponse`, where `Xxx`
1446 # is the original method name. For example, if the original method name
1447 # is `TakeSnapshot()`, the inferred response type is
1448 # `TakeSnapshotResponse`.
1449 "a_key": "", # Properties of the object. Contains field @type with type URL.
1450 },
1451 "metadata": { # Service-specific metadata associated with the operation. It typically
1452 # contains progress information and common metadata such as create time.
1453 # Some services might not provide such metadata. Any method that returns a
1454 # long-running operation should document the metadata type, if any.
1455 "a_key": "", # Properties of the object. Contains field @type with type URL.
1456 },
1457 "done": True or False, # If the value is `false`, it means the operation is still in progress.
1458 # If `true`, the operation is completed, and either `error` or `response` is
1459 # available.
1460 "name": "A String", # The server-assigned name, which is only unique within the same service that
1461 # originally returns it. If you use the default HTTP mapping, the
1462 # `name` should be a resource name ending with `operations/{unique_id}`.
1463 "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
1464 # different programming environments, including REST APIs and RPC APIs. It is
1465 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
1466 # three pieces of data: error code, error message, and error details.
1467 #
1468 # You can find out more about this error model and how to work with it in the
1469 # [API Design Guide](https://cloud.google.com/apis/design/errors).
1470 "message": "A String", # A developer-facing error message, which should be in English. Any
1471 # user-facing error message should be localized and sent in the
1472 # google.rpc.Status.details field, or localized by the client.
1473 "code": 42, # The status code, which should be an enum value of google.rpc.Code.
1474 "details": [ # A list of messages that carry the error details. There is a common set of
1475 # message types for APIs to use.
1476 {
1477 "a_key": "", # Properties of the object. Contains field @type with type URL.
1478 },
1479 ],
1480 },
1481 }</pre>
1482</div>
1483
1484</body></html>