google-cloud-vision 0.28.0 → 0.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +29 -0
  3. data/lib/google/cloud/vision.rb +33 -0
  4. data/lib/google/cloud/vision/v1.rb +42 -16
  5. data/lib/google/cloud/vision/v1/credentials.rb +33 -0
  6. data/lib/google/cloud/vision/v1/doc/google/cloud/vision/v1/geometry.rb +15 -1
  7. data/lib/google/cloud/vision/v1/doc/google/cloud/vision/v1/image_annotator.rb +224 -46
  8. data/lib/google/cloud/vision/v1/doc/google/cloud/vision/v1/text_annotation.rb +36 -14
  9. data/lib/google/cloud/vision/v1/doc/google/cloud/vision/v1/web_detection.rb +34 -7
  10. data/lib/google/cloud/vision/v1/doc/google/longrunning/operations.rb +92 -0
  11. data/lib/google/cloud/vision/v1/doc/google/protobuf/any.rb +1 -1
  12. data/lib/google/cloud/vision/v1/doc/google/protobuf/wrappers.rb +1 -1
  13. data/lib/google/cloud/vision/v1/doc/google/rpc/status.rb +1 -1
  14. data/lib/google/cloud/vision/v1/doc/google/type/color.rb +1 -1
  15. data/lib/google/cloud/vision/v1/doc/google/type/latlng.rb +1 -1
  16. data/lib/google/cloud/vision/v1/doc/overview.rb +32 -6
  17. data/lib/google/cloud/vision/v1/geometry_pb.rb +6 -0
  18. data/lib/google/cloud/vision/v1/image_annotator_client.rb +124 -27
  19. data/lib/google/cloud/vision/v1/image_annotator_client_config.json +5 -0
  20. data/lib/google/cloud/vision/v1/image_annotator_pb.rb +72 -0
  21. data/lib/google/cloud/vision/v1/image_annotator_services_pb.rb +9 -2
  22. data/lib/google/cloud/vision/v1/text_annotation_pb.rb +5 -0
  23. data/lib/google/cloud/vision/v1/web_detection_pb.rb +10 -0
  24. data/lib/google/cloud/vision/version.rb +1 -1
  25. metadata +5 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8b81db07611ab1066ea2ee85b3e8ad26114526acd1b908cc81208419c00fb6d4
4
- data.tar.gz: ba5bc2654acea5e24ea93b77000b9ffe7140e1a3ae23e242c45fa5df2cf6c7dd
3
+ metadata.gz: fc41171a8d422e7f64207e8dc1aca24666e227e849e9096886a18592c4899611
4
+ data.tar.gz: 8a9759d3870dbf1ef87f3a7c433f6bc731a8f2218393838d473a3c02f00733a6
5
5
  SHA512:
6
- metadata.gz: 104e8b736e5e34d528ea4ca58c6705d1b8e8de4a0f641593746edb0388e05f3c53e9ada250271a7fdf1f8d6a54579769c98fcd025a6248333d597f227216455c
7
- data.tar.gz: 5eca611c1e4291e9d6aaf38d5a0d0e34896b9d265ff5e57065752c0bb3797baa8b6213d16f0f9fd2d60c810885ece8768919a9d05a9e8c027415cd0f0f0ad604
6
+ metadata.gz: 71cda3f0d570c19f57f7cac596005ea6c99a9e7d59a296845a1749723a520d287dd4b609fee2e0bfb0a31bfa1f071a131d0b5ab3ccfc2162087fbe2854a47256
7
+ data.tar.gz: 9740457dd6ce47815fa5d6317543ad37ae6af95230a35749680a96f0dc44eec9a876f8a4cbb7efdc4ff1fc43f753bec449e465a62ea97e1935d0b0ca2272d365
data/README.md CHANGED
@@ -31,10 +31,39 @@ landmark = image.landmark
31
31
  landmark.description #=> "Mount Rushmore"
32
32
  ```
33
33
 
34
+ ## Enabling Logging
35
+
36
+ To enable logging for this library, set the logger for the underlying [gRPC](https://github.com/grpc/grpc/tree/master/src/ruby) library. The logger that you set may be a Ruby stdlib [`Logger`](https://ruby-doc.org/stdlib-2.5.0/libdoc/logger/rdoc/Logger.html) as shown below, or a [`Google::Cloud::Logging::Logger`](https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/google-cloud-logging/latest/google/cloud/logging/logger) that will write logs to [Stackdriver Logging](https://cloud.google.com/logging/). See [grpc/logconfig.rb](https://github.com/grpc/grpc/blob/master/src/ruby/lib/grpc/logconfig.rb) and the gRPC [spec_helper.rb](https://github.com/grpc/grpc/blob/master/src/ruby/spec/spec_helper.rb) for additional information.
37
+
38
+ Configuring a Ruby stdlib logger:
39
+
40
+ ```ruby
41
+ require "logger"
42
+
43
+ module MyLogger
44
+ LOGGER = Logger.new $stderr, level: Logger::WARN
45
+ def logger
46
+ LOGGER
47
+ end
48
+ end
49
+
50
+ # Define a gRPC module-level logger method before grpc/logconfig.rb loads.
51
+ module GRPC
52
+ extend MyLogger
53
+ end
54
+ ```
55
+
34
56
  ## Supported Ruby Versions
35
57
 
36
58
  This library is supported on Ruby 2.0+.
37
59
 
60
+ However, Ruby 2.3 or later is strongly recommended, as earlier releases have
61
+ reached or are nearing end-of-life. After June 1, 2018, Google will provide
62
+ official support only for Ruby versions that are considered current and
63
+ supported by Ruby Core (that is, Ruby versions that are either in normal
64
+ maintenance or in security maintenance).
65
+ See https://www.ruby-lang.org/en/downloads/branches/ for further details.
66
+
38
67
  ## Versioning
39
68
 
40
69
  This library follows [Semantic Versioning](http://semver.org/).
@@ -40,6 +40,39 @@ module Google
40
40
  # [Authentication
41
41
  # Guide](https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/guides/authentication).
42
42
  #
43
+ # ## Enabling Logging
44
+ #
45
+ # To enable logging for this library, set the logger for the underlying
46
+ # [gRPC](https://github.com/grpc/grpc/tree/master/src/ruby) library. The
47
+ # logger that you set may be a Ruby stdlib
48
+ # [`Logger`](https://ruby-doc.org/stdlib-2.5.0/libdoc/logger/rdoc/Logger.html)
49
+ # as shown below, or a
50
+ # [`Google::Cloud::Logging::Logger`](https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/google-cloud-logging/latest/google/cloud/logging/logger)
51
+ # that will write logs to [Stackdriver
52
+ # Logging](https://cloud.google.com/logging/). See
53
+ # [grpc/logconfig.rb](https://github.com/grpc/grpc/blob/master/src/ruby/lib/grpc/logconfig.rb)
54
+ # and the gRPC
55
+ # [spec_helper.rb](https://github.com/grpc/grpc/blob/master/src/ruby/spec/spec_helper.rb)
56
+ # for additional information.
57
+ #
58
+ # Configuring a Ruby stdlib logger:
59
+ #
60
+ # ```ruby
61
+ # require "logger"
62
+ #
63
+ # module MyLogger
64
+ # LOGGER = Logger.new $stderr, level: Logger::WARN
65
+ # def logger
66
+ # LOGGER
67
+ # end
68
+ # end
69
+ #
70
+ # # Define a gRPC module-level logger method before grpc/logconfig.rb loads.
71
+ # module GRPC
72
+ # extend MyLogger
73
+ # end
74
+ # ```
75
+ #
43
76
  # ## Creating images
44
77
  #
45
78
  # The Cloud Vision API supports UTF-8, UTF-16, and UTF-32 text encodings.
@@ -1,4 +1,4 @@
1
- # Copyright 2017 Google LLC
1
+ # Copyright 2018 Google LLC
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -13,15 +13,16 @@
13
13
  # limitations under the License.
14
14
 
15
15
  require "google/cloud/vision/v1/image_annotator_client"
16
+ require "google/cloud/vision/v1/image_annotator_pb"
16
17
 
17
18
  module Google
18
19
  module Cloud
19
20
  # rubocop:disable LineLength
20
21
 
21
22
  ##
22
- # # Ruby Client for Google Cloud Vision API ([Alpha](https://github.com/GoogleCloudPlatform/google-cloud-ruby#versioning))
23
+ # # Ruby Client for Cloud Vision API ([Alpha](https://github.com/GoogleCloudPlatform/google-cloud-ruby#versioning))
23
24
  #
24
- # [Google Cloud Vision API][Product Documentation]:
25
+ # [Cloud Vision API][Product Documentation]:
25
26
  # Integrates Google Vision features, including image labeling, face, logo, and
26
27
  # landmark detection, optical character recognition (OCR), and detection of
27
28
  # explicit content, into applications.
@@ -32,8 +33,9 @@ module Google
32
33
  # steps:
33
34
  #
34
35
  # 1. [Select or create a Cloud Platform project.](https://console.cloud.google.com/project)
35
- # 2. [Enable the Google Cloud Vision API.](https://console.cloud.google.com/apis/api/vision)
36
- # 3. [Setup Authentication.](https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/google-cloud/master/guides/authentication)
36
+ # 2. [Enable billing for your project.](https://cloud.google.com/billing/docs/how-to/modify-project#enable_billing_for_a_project)
37
+ # 3. [Enable the Cloud Vision API.](https://console.cloud.google.com/apis/api/vision)
38
+ # 4. [Setup Authentication.](https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/google-cloud/master/guides/authentication)
37
39
  #
38
40
  # ### Preview
39
41
  # #### ImageAnnotatorClient
@@ -53,13 +55,38 @@ module Google
53
55
  # ```
54
56
  #
55
57
  # ### Next Steps
56
- # - Read the [Google Cloud Vision API Product documentation][Product Documentation]
58
+ # - Read the [Cloud Vision API Product documentation][Product Documentation]
57
59
  # to learn more about the product and see How-to Guides.
58
60
  # - View this [repository's main README](https://github.com/GoogleCloudPlatform/google-cloud-ruby/blob/master/README.md)
59
61
  # to see the full list of Cloud APIs that we cover.
60
62
  #
61
63
  # [Product Documentation]: https://cloud.google.com/vision
62
64
  #
65
+ # ## Enabling Logging
66
+ #
67
+ # To enable logging for this library, set the logger for the underlying [gRPC](https://github.com/grpc/grpc/tree/master/src/ruby) library.
68
+ # The logger that you set may be a Ruby stdlib [`Logger`](https://ruby-doc.org/stdlib-2.5.0/libdoc/logger/rdoc/Logger.html) as shown below,
69
+ # or a [`Google::Cloud::Logging::Logger`](https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/google-cloud-logging/latest/google/cloud/logging/logger)
70
+ # that will write logs to [Stackdriver Logging](https://cloud.google.com/logging/). See [grpc/logconfig.rb](https://github.com/grpc/grpc/blob/master/src/ruby/lib/grpc/logconfig.rb)
71
+ # and the gRPC [spec_helper.rb](https://github.com/grpc/grpc/blob/master/src/ruby/spec/spec_helper.rb) for additional information.
72
+ #
73
+ # Configuring a Ruby stdlib logger:
74
+ #
75
+ # ```ruby
76
+ # require "logger"
77
+ #
78
+ # module MyLogger
79
+ # LOGGER = Logger.new $stderr, level: Logger::WARN
80
+ # def logger
81
+ # LOGGER
82
+ # end
83
+ # end
84
+ #
85
+ # # Define a gRPC module-level logger method before grpc/logconfig.rb loads.
86
+ # module GRPC
87
+ # extend MyLogger
88
+ # end
89
+ # ```
63
90
  #
64
91
  module Vision
65
92
  module V1
@@ -94,28 +121,27 @@ module Google
94
121
  # or the specified config is missing data points.
95
122
  # @param timeout [Numeric]
96
123
  # The default timeout, in seconds, for calls made through this client.
124
+ # @param metadata [Hash]
125
+ # Default metadata to be sent with each request. This can be overridden on a per call basis.
126
+ # @param exception_transformer [Proc]
127
+ # An optional proc that intercepts any exceptions raised during an API call to inject
128
+ # custom error handling.
97
129
  def self.new \
98
- service_path: nil,
99
- port: nil,
100
- channel: nil,
101
- chan_creds: nil,
102
- updater_proc: nil,
103
130
  credentials: nil,
104
131
  scopes: nil,
105
132
  client_config: nil,
106
133
  timeout: nil,
134
+ metadata: nil,
135
+ exception_transformer: nil,
107
136
  lib_name: nil,
108
137
  lib_version: nil
109
138
  kwargs = {
110
- service_path: service_path,
111
- port: port,
112
- channel: channel,
113
- chan_creds: chan_creds,
114
- updater_proc: updater_proc,
115
139
  credentials: credentials,
116
140
  scopes: scopes,
117
141
  client_config: client_config,
118
142
  timeout: timeout,
143
+ metadata: metadata,
144
+ exception_transformer: exception_transformer,
119
145
  lib_name: lib_name,
120
146
  lib_version: lib_version
121
147
  }.select { |_, v| v != nil }
@@ -0,0 +1,33 @@
1
+ # Copyright 2018 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # https://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require "googleauth"
16
+
17
+ module Google
18
+ module Cloud
19
+ module Vision
20
+ module V1
21
+ class Credentials < Google::Auth::Credentials
22
+ SCOPE = [
23
+ "https://www.googleapis.com/auth/cloud-platform",
24
+ "https://www.googleapis.com/auth/cloud-vision"
25
+ ].freeze
26
+ PATH_ENV_VARS = %w(VISION_KEYFILE GOOGLE_CLOUD_KEYFILE GCLOUD_KEYFILE)
27
+ JSON_ENV_VARS = %w(VISION_KEYFILE_JSON GOOGLE_CLOUD_KEYFILE_JSON GCLOUD_KEYFILE_JSON)
28
+ DEFAULT_PATHS = ["~/.config/gcloud/application_default_credentials.json"]
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -1,4 +1,4 @@
1
- # Copyright 2017 Google LLC
1
+ # Copyright 2018 Google LLC
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -26,10 +26,24 @@ module Google
26
26
  # Y coordinate.
27
27
  class Vertex; end
28
28
 
29
+ # A vertex represents a 2D point in the image.
30
+ # NOTE: the normalized vertex coordinates are relative to the original image
31
+ # and range from 0 to 1.
32
+ # @!attribute [rw] x
33
+ # @return [Float]
34
+ # X coordinate.
35
+ # @!attribute [rw] y
36
+ # @return [Float]
37
+ # Y coordinate.
38
+ class NormalizedVertex; end
39
+
29
40
  # A bounding polygon for the detected image annotation.
30
41
  # @!attribute [rw] vertices
31
42
  # @return [Array<Google::Cloud::Vision::V1::Vertex>]
32
43
  # The bounding polygon vertices.
44
+ # @!attribute [rw] normalized_vertices
45
+ # @return [Array<Google::Cloud::Vision::V1::NormalizedVertex>]
46
+ # The bounding polygon normalized vertices.
33
47
  class BoundingPoly; end
34
48
 
35
49
  # A 3D position in the image, used primarily for Face detection landmarks.
@@ -1,4 +1,4 @@
1
- # Copyright 2017 Google LLC
1
+ # Copyright 2018 Google LLC
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -16,29 +16,34 @@ module Google
16
16
  module Cloud
17
17
  module Vision
18
18
  ##
19
- # # Google Cloud Vision API Contents
19
+ # # Cloud Vision API Contents
20
20
  #
21
21
  # | Class | Description |
22
22
  # | ----- | ----------- |
23
- # | [ImageAnnotatorClient][] | Integrates Google Vision features, including image labeling, face, logo, and landmark detection, optical character recognition (OCR), and detection of explicit content, into applications. |
23
+ # | [ImageAnnotatorClient][] | Service that performs Google Cloud Vision API detection tasks over client images, such as face, landmark, logo, label, and text detection. |
24
24
  # | [Data Types][] | Data types for Google::Cloud::Vision::V1 |
25
25
  #
26
26
  # [ImageAnnotatorClient]: https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/google-cloud-vision/latest/google/cloud/vision/v1/imageannotatorclient
27
27
  # [Data Types]: https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/google-cloud-vision/latest/google/cloud/vision/v1/datatypes
28
28
  #
29
29
  module V1
30
- # Users describe the type of Google Cloud Vision API tasks to perform over
31
- # images by using *Feature*s. Each Feature indicates a type of image
32
- # detection task to perform. Features encode the Cloud Vision API
33
- # vertical to operate on and the number of top-scoring results to return.
30
+ # The type of Google Cloud Vision API detection to perform, and the maximum
31
+ # number of results to return for that type. Multiple +Feature+ objects can
32
+ # be specified in the +features+ list.
34
33
  # @!attribute [rw] type
35
34
  # @return [Google::Cloud::Vision::V1::Feature::Type]
36
35
  # The feature type.
37
36
  # @!attribute [rw] max_results
38
37
  # @return [Integer]
39
- # Maximum number of results of this type.
38
+ # Maximum number of results of this type. Does not apply to
39
+ # +TEXT_DETECTION+, +DOCUMENT_TEXT_DETECTION+, or +CROP_HINTS+.
40
+ # @!attribute [rw] model
41
+ # @return [String]
42
+ # Model to use for the feature.
43
+ # Supported values: "builtin/stable" (the default if unset) and
44
+ # "builtin/latest".
40
45
  class Feature
41
- # Type of image feature.
46
+ # Type of Google Cloud Vision API feature to be extracted.
42
47
  module Type
43
48
  # Unspecified feature type.
44
49
  TYPE_UNSPECIFIED = 0
@@ -55,17 +60,21 @@ module Google
55
60
  # Run label detection.
56
61
  LABEL_DETECTION = 4
57
62
 
58
- # Run OCR.
63
+ # Run text detection / optical character recognition (OCR). Text detection
64
+ # is optimized for areas of text within a larger image; if the image is
65
+ # a document, use +DOCUMENT_TEXT_DETECTION+ instead.
59
66
  TEXT_DETECTION = 5
60
67
 
61
68
  # Run dense text document OCR. Takes precedence when both
62
- # DOCUMENT_TEXT_DETECTION and TEXT_DETECTION are present.
69
+ # +DOCUMENT_TEXT_DETECTION+ and +TEXT_DETECTION+ are present.
63
70
  DOCUMENT_TEXT_DETECTION = 11
64
71
 
65
- # Run computer vision models to compute image safe-search properties.
72
+ # Run Safe Search to detect potentially unsafe
73
+ # or undesirable content.
66
74
  SAFE_SEARCH_DETECTION = 6
67
75
 
68
- # Compute a set of image properties, such as the image's dominant colors.
76
+ # Compute a set of image properties, such as the
77
+ # image's dominant colors.
69
78
  IMAGE_PROPERTIES = 7
70
79
 
71
80
  # Run crop hints.
@@ -76,26 +85,33 @@ module Google
76
85
  end
77
86
  end
78
87
 
79
- # External image source (Google Cloud Storage image location).
88
+ # External image source (Google Cloud Storage or web URL image location).
80
89
  # @!attribute [rw] gcs_image_uri
81
90
  # @return [String]
82
- # NOTE: For new code +image_uri+ below is preferred.
83
- # Google Cloud Storage image URI, which must be in the following form:
84
- # +gs://bucket_name/object_name+ (for details, see
91
+ # **Use +image_uri+ instead.**
92
+ #
93
+ # The Google Cloud Storage URI of the form
94
+ # +gs://bucket_name/object_name+. Object versioning is not supported. See
85
95
  # [Google Cloud Storage Request
86
- # URIs](https://cloud.google.com/storage/docs/reference-uris)).
87
- # NOTE: Cloud Storage object versioning is not supported.
96
+ # URIs](https://cloud.google.com/storage/docs/reference-uris) for more info.
88
97
  # @!attribute [rw] image_uri
89
98
  # @return [String]
90
- # Image URI which supports:
91
- # 1) Google Cloud Storage image URI, which must be in the following form:
92
- # +gs://bucket_name/object_name+ (for details, see
93
- # [Google Cloud Storage Request
94
- # URIs](https://cloud.google.com/storage/docs/reference-uris)).
95
- # NOTE: Cloud Storage object versioning is not supported.
96
- # 2) Publicly accessible image HTTP/HTTPS URL.
97
- # This is preferred over the legacy +gcs_image_uri+ above. When both
98
- # +gcs_image_uri+ and +image_uri+ are specified, +image_uri+ takes
99
+ # The URI of the source image. Can be either:
100
+ #
101
+ # 1. A Google Cloud Storage URI of the form
102
+ # +gs://bucket_name/object_name+. Object versioning is not supported. See
103
+ # [Google Cloud Storage Request
104
+ # URIs](https://cloud.google.com/storage/docs/reference-uris) for more
105
+ # info.
106
+ #
107
+ # 2. A publicly-accessible image HTTP/HTTPS URL. When fetching images from
108
+ # HTTP/HTTPS URLs, Google cannot guarantee that the request will be
109
+ # completed. Your request may fail if the specified host denies the
110
+ # request (e.g. due to request throttling or DOS prevention), or if Google
111
+ # throttles requests to the site for abuse prevention. You should not
112
+ # depend on externally-hosted images for production applications.
113
+ #
114
+ # When both +gcs_image_uri+ and +image_uri+ are specified, +image_uri+ takes
99
115
  # precedence.
100
116
  class ImageSource; end
101
117
 
@@ -103,13 +119,13 @@ module Google
103
119
  # @!attribute [rw] content
104
120
  # @return [String]
105
121
  # Image content, represented as a stream of bytes.
106
- # Note: as with all +bytes+ fields, protobuffers use a pure binary
122
+ # Note: As with all +bytes+ fields, protobuffers use a pure binary
107
123
  # representation, whereas JSON representations use base64.
108
124
  # @!attribute [rw] source
109
125
  # @return [Google::Cloud::Vision::V1::ImageSource]
110
- # Google Cloud Storage image location. If both +content+ and +source+
111
- # are provided for an image, +content+ takes precedence and is
112
- # used to perform the image annotation request.
126
+ # Google Cloud Storage image location, or publicly-accessible image
127
+ # URL. If both +content+ and +source+ are provided for an image, +content+
128
+ # takes precedence and is used to perform the image annotation request.
113
129
  class Image; end
114
130
 
115
131
  # A face annotation object contains the results of face detection.
@@ -176,10 +192,6 @@ module Google
176
192
  # Headwear likelihood.
177
193
  class FaceAnnotation
178
194
  # A face-specific landmark (for example, a face feature).
179
- # Landmark positions may fall outside the bounds of the image
180
- # if the face is near one or more edges of the image.
181
- # Therefore it is NOT guaranteed that +0 <= x < width+ or
182
- # +0 <= y < height+.
183
195
  # @!attribute [rw] type
184
196
  # @return [Google::Cloud::Vision::V1::FaceAnnotation::Landmark::Type]
185
197
  # Face landmark type.
@@ -313,13 +325,17 @@ module Google
313
325
  # @!attribute [rw] value
314
326
  # @return [String]
315
327
  # Value of the property.
328
+ # @!attribute [rw] uint64_value
329
+ # @return [Integer]
330
+ # Value of numeric properties.
316
331
  class Property; end
317
332
 
318
333
  # Set of detected entity features.
319
334
  # @!attribute [rw] mid
320
335
  # @return [String]
321
336
  # Opaque entity ID. Some IDs may be available in
322
- # [Google Knowledge Graph Search API](https://developers.google.com/knowledge-graph/).
337
+ # [Google Knowledge Graph Search
338
+ # API](https://developers.google.com/knowledge-graph/).
323
339
  # @!attribute [rw] locale
324
340
  # @return [String]
325
341
  # The language code for the locale in which the entity textual
@@ -332,6 +348,7 @@ module Google
332
348
  # Overall score of the result. Range [0, 1].
333
349
  # @!attribute [rw] confidence
334
350
  # @return [Float]
351
+ # **Deprecated. Use +score+ instead.**
335
352
  # The accuracy of the entity detection in an image.
336
353
  # For example, for an image in which the "Eiffel Tower" entity is detected,
337
354
  # this field represents the confidence that there is a tower in the query
@@ -345,10 +362,8 @@ module Google
345
362
  # there is a tower in each image may be the same. Range [0, 1].
346
363
  # @!attribute [rw] bounding_poly
347
364
  # @return [Google::Cloud::Vision::V1::BoundingPoly]
348
- # Image region to which this entity belongs. Currently not produced
349
- # for +LABEL_DETECTION+ features. For +TEXT_DETECTION+ (OCR), +boundingPoly+s
350
- # are produced for the entire text detected in an image region, followed by
351
- # +boundingPoly+s for each word within the detected text.
365
+ # Image region to which this entity belongs. Not produced
366
+ # for +LABEL_DETECTION+ features.
352
367
  # @!attribute [rw] locations
353
368
  # @return [Array<Google::Cloud::Vision::V1::LocationInfo>]
354
369
  # The location information for the detected entity. Multiple
@@ -367,7 +382,9 @@ module Google
367
382
  # violence).
368
383
  # @!attribute [rw] adult
369
384
  # @return [Google::Cloud::Vision::V1::Likelihood]
370
- # Represents the adult content likelihood for the image.
385
+ # Represents the adult content likelihood for the image. Adult content may
386
+ # contain elements such as nudity, pornographic images or cartoons, or
387
+ # sexual activities.
371
388
  # @!attribute [rw] spoof
372
389
  # @return [Google::Cloud::Vision::V1::Likelihood]
373
390
  # Spoof likelihood. The likelihood that an modification
@@ -378,7 +395,13 @@ module Google
378
395
  # Likelihood that this is a medical image.
379
396
  # @!attribute [rw] violence
380
397
  # @return [Google::Cloud::Vision::V1::Likelihood]
381
- # Violence likelihood.
398
+ # Likelihood that this image contains violent content.
399
+ # @!attribute [rw] racy
400
+ # @return [Google::Cloud::Vision::V1::Likelihood]
401
+ # Likelihood that the request image contains racy content. Racy content may
402
+ # include (but is not limited to) skimpy or sheer clothing, strategically
403
+ # covered nudity, lewd or provocative poses, or close-ups of sensitive
404
+ # body areas.
382
405
  class SafeSearchAnnotation; end
383
406
 
384
407
  # Rectangle determined by min and max +LatLng+ pairs.
@@ -433,6 +456,7 @@ module Google
433
456
  # Set of crop hints that are used to generate new crops when serving images.
434
457
  # @!attribute [rw] crop_hints
435
458
  # @return [Array<Google::Cloud::Vision::V1::CropHint>]
459
+ # Crop hint results.
436
460
  class CropHintsAnnotation; end
437
461
 
438
462
  # Parameters for crop hints annotation request.
@@ -446,10 +470,16 @@ module Google
446
470
  # ignored.
447
471
  class CropHintsParams; end
448
472
 
473
+ # Parameters for web detection request.
474
+ # @!attribute [rw] include_geo_results
475
+ # @return [true, false]
476
+ # Whether to include results derived from the geo information in the image.
477
+ class WebDetectionParams; end
478
+
449
479
  # Image context and/or feature-specific parameters.
450
480
  # @!attribute [rw] lat_long_rect
451
481
  # @return [Google::Cloud::Vision::V1::LatLongRect]
452
- # lat/long rectangle that specifies the location of the image.
482
+ # Not used.
453
483
  # @!attribute [rw] language_hints
454
484
  # @return [Array<String>]
455
485
  # List of languages to use for TEXT_DETECTION. In most cases, an empty value
@@ -463,6 +493,9 @@ module Google
463
493
  # @!attribute [rw] crop_hints_params
464
494
  # @return [Google::Cloud::Vision::V1::CropHintsParams]
465
495
  # Parameters for crop hints annotation request.
496
+ # @!attribute [rw] web_detection_params
497
+ # @return [Google::Cloud::Vision::V1::WebDetectionParams]
498
+ # Parameters for web detection.
466
499
  class ImageContext; end
467
500
 
468
501
  # Request for performing Google Cloud Vision API tasks over a user-provided
@@ -478,6 +511,17 @@ module Google
478
511
  # Additional context that may accompany the image.
479
512
  class AnnotateImageRequest; end
480
513
 
514
+ # If an image was produced from a file (e.g. a PDF), this message gives
515
+ # information about the source of that image.
516
+ # @!attribute [rw] uri
517
+ # @return [String]
518
+ # The URI of the file used to produce the image.
519
+ # @!attribute [rw] page_number
520
+ # @return [Integer]
521
+ # If the file was a PDF or TIFF, this field gives the page number within
522
+ # the file used to produce the image.
523
+ class ImageAnnotationContext; end
524
+
481
525
  # Response to an image annotation request.
482
526
  # @!attribute [rw] face_annotations
483
527
  # @return [Array<Google::Cloud::Vision::V1::FaceAnnotation>]
@@ -493,8 +537,7 @@ module Google
493
537
  # If present, label detection has completed successfully.
494
538
  # @!attribute [rw] text_annotations
495
539
  # @return [Array<Google::Cloud::Vision::V1::EntityAnnotation>]
496
- # If present, text (OCR) detection or document (OCR) text detection has
497
- # completed successfully.
540
+ # If present, text (OCR) detection has completed successfully.
498
541
  # @!attribute [rw] full_text_annotation
499
542
  # @return [Google::Cloud::Vision::V1::TextAnnotation]
500
543
  # If present, text (OCR) detection or document (OCR) text detection has
@@ -518,8 +561,22 @@ module Google
518
561
  # If set, represents the error message for the operation.
519
562
  # Note that filled-in image annotations are guaranteed to be
520
563
  # correct, even when +error+ is set.
564
+ # @!attribute [rw] context
565
+ # @return [Google::Cloud::Vision::V1::ImageAnnotationContext]
566
+ # If present, contextual information is needed to understand where this image
567
+ # comes from.
521
568
  class AnnotateImageResponse; end
522
569
 
570
+ # Response to a single file annotation request. A file may contain one or more
571
+ # images, which individually have their own responses.
572
+ # @!attribute [rw] input_config
573
+ # @return [Google::Cloud::Vision::V1::InputConfig]
574
+ # Information about the file for which this response is generated.
575
+ # @!attribute [rw] responses
576
+ # @return [Array<Google::Cloud::Vision::V1::AnnotateImageResponse>]
577
+ # Individual responses to images found within the file.
578
+ class AnnotateFileResponse; end
579
+
523
580
  # Multiple image annotation requests are batched into a single service call.
524
581
  # @!attribute [rw] requests
525
582
  # @return [Array<Google::Cloud::Vision::V1::AnnotateImageRequest>]
@@ -532,6 +589,127 @@ module Google
532
589
  # Individual responses to image annotation requests within the batch.
533
590
  class BatchAnnotateImagesResponse; end
534
591
 
592
+ # An offline file annotation request.
593
+ # @!attribute [rw] input_config
594
+ # @return [Google::Cloud::Vision::V1::InputConfig]
595
+ # Required. Information about the input file.
596
+ # @!attribute [rw] features
597
+ # @return [Array<Google::Cloud::Vision::V1::Feature>]
598
+ # Required. Requested features.
599
+ # @!attribute [rw] image_context
600
+ # @return [Google::Cloud::Vision::V1::ImageContext]
601
+ # Additional context that may accompany the image(s) in the file.
602
+ # @!attribute [rw] output_config
603
+ # @return [Google::Cloud::Vision::V1::OutputConfig]
604
+ # Required. The desired output location and metadata (e.g. format).
605
+ class AsyncAnnotateFileRequest; end
606
+
607
+ # The response for a single offline file annotation request.
608
+ # @!attribute [rw] output_config
609
+ # @return [Google::Cloud::Vision::V1::OutputConfig]
610
+ # The output location and metadata from AsyncAnnotateFileRequest.
611
+ class AsyncAnnotateFileResponse; end
612
+
613
+ # Multiple async file annotation requests are batched into a single service
614
+ # call.
615
+ # @!attribute [rw] requests
616
+ # @return [Array<Google::Cloud::Vision::V1::AsyncAnnotateFileRequest>]
617
+ # Individual async file annotation requests for this batch.
618
+ class AsyncBatchAnnotateFilesRequest; end
619
+
620
+ # Response to an async batch file annotation request.
621
+ # @!attribute [rw] responses
622
+ # @return [Array<Google::Cloud::Vision::V1::AsyncAnnotateFileResponse>]
623
+ # The list of file annotation responses, one for each request in
624
+ # AsyncBatchAnnotateFilesRequest.
625
+ class AsyncBatchAnnotateFilesResponse; end
626
+
627
+ # The desired input location and metadata.
628
+ # @!attribute [rw] gcs_source
629
+ # @return [Google::Cloud::Vision::V1::GcsSource]
630
+ # The Google Cloud Storage location to read the input from.
631
+ # @!attribute [rw] mime_type
632
+ # @return [String]
633
+ # The type of the file. Currently only "application/pdf" and "image/tiff"
634
+ # are supported. Wildcards are not supported.
635
+ class InputConfig; end
636
+
637
+ # The desired output location and metadata.
638
+ # @!attribute [rw] gcs_destination
639
+ # @return [Google::Cloud::Vision::V1::GcsDestination]
640
+ # The Google Cloud Storage location to write the output(s) to.
641
+ # @!attribute [rw] batch_size
642
+ # @return [Integer]
643
+ # The max number of response protos to put into each output JSON file on
644
+ # Google Cloud Storage.
645
+ # The valid range is [1, 100]. If not specified, the default value is 20.
646
+ #
647
+ # For example, for one pdf file with 100 pages, 100 response protos will
648
+ # be generated. If +batch_size+ = 20, then 5 json files each
649
+ # containing 20 response protos will be written under the prefix
650
+ # +gcs_destination+.+uri+.
651
+ #
652
+ # Currently, batch_size only applies to GcsDestination, with potential future
653
+ # support for other output configurations.
654
+ class OutputConfig; end
655
+
656
+ # The Google Cloud Storage location where the input will be read from.
657
+ # @!attribute [rw] uri
658
+ # @return [String]
659
+ # Google Cloud Storage URI for the input file. This must only be a
660
+ # Google Cloud Storage object. Wildcards are not currently supported.
661
+ class GcsSource; end
662
+
663
+ # The Google Cloud Storage location where the output will be written to.
664
+ # @!attribute [rw] uri
665
+ # @return [String]
666
+ # Google Cloud Storage URI where the results will be stored. Results will
667
+ # be in JSON format and preceded by its corresponding input URI. This field
668
+ # can either represent a single file, or a prefix for multiple outputs.
669
+ # Prefixes must end in a +/+.
670
+ #
671
+ # Examples:
672
+ #
673
+ # * File: gs://bucket-name/filename.json
674
+ # * Prefix: gs://bucket-name/prefix/here/
675
+ # * File: gs://bucket-name/prefix/here
676
+ #
677
+ # If multiple outputs, each response is still AnnotateFileResponse, each of
678
+ # which contains some subset of the full list of AnnotateImageResponse.
679
+ # Multiple outputs can happen if, for example, the output JSON is too large
680
+ # and overflows into multiple sharded files.
681
+ class GcsDestination; end
682
+
683
+ # Contains metadata for the BatchAnnotateImages operation.
684
+ # @!attribute [rw] state
685
+ # @return [Google::Cloud::Vision::V1::OperationMetadata::State]
686
+ # Current state of the batch operation.
687
+ # @!attribute [rw] create_time
688
+ # @return [Google::Protobuf::Timestamp]
689
+ # The time when the batch request was received.
690
+ # @!attribute [rw] update_time
691
+ # @return [Google::Protobuf::Timestamp]
692
+ # The time when the operation result was last updated.
693
+ class OperationMetadata
694
+ # Batch operation states.
695
+ module State
696
+ # Invalid.
697
+ STATE_UNSPECIFIED = 0
698
+
699
+ # Request is received.
700
+ CREATED = 1
701
+
702
+ # Request is actively being processed.
703
+ RUNNING = 2
704
+
705
+ # The batch processing is done.
706
+ DONE = 3
707
+
708
+ # The batch processing was cancelled.
709
+ CANCELLED = 4
710
+ end
711
+ end
712
+
535
713
  # A bucketized representation of likelihood, which is intended to give clients
536
714
  # highly stable results across model upgrades.
537
715
  module Likelihood