Class: Google::Cloud::Vision::V1::ImageAnnotatorClient
- Inherits:
-
Object
- Object
- Google::Cloud::Vision::V1::ImageAnnotatorClient
- Defined in:
- lib/google/cloud/vision/v1/image_annotator_client.rb
Overview
Service that performs Google Cloud Vision API detection tasks over client images, such as face, landmark, logo, label, and text detection. The ImageAnnotator service returns detected entities from the images.
Constant Summary collapse
- SERVICE_ADDRESS =
The default address of the service.
"vision.googleapis.com".freeze
- DEFAULT_SERVICE_PORT =
The default port of the service.
443
- GRPC_INTERCEPTORS =
The default set of gRPC interceptors.
[]
- DEFAULT_TIMEOUT =
30
- ALL_SCOPES =
The scopes needed to make gRPC calls to all of the methods defined in this service.
[ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/cloud-vision" ].freeze
Instance Method Summary collapse
-
#async_batch_annotate_files(requests, options: nil) ⇒ Google::Gax::Operation
Run asynchronous image detection and annotation for a list of generic files, such as PDF files, which may contain multiple pages and multiple images per page.
-
#batch_annotate_images(requests, options: nil) {|result, operation| ... } ⇒ Google::Cloud::Vision::V1::BatchAnnotateImagesResponse
Run image detection and annotation for a batch of images.
-
#initialize(credentials: nil, scopes: ALL_SCOPES, client_config: {}, timeout: DEFAULT_TIMEOUT, metadata: nil, exception_transformer: nil, lib_name: nil, lib_version: "") ⇒ ImageAnnotatorClient
constructor
A new instance of ImageAnnotatorClient.
Constructor Details
#initialize(credentials: nil, scopes: ALL_SCOPES, client_config: {}, timeout: DEFAULT_TIMEOUT, metadata: nil, exception_transformer: nil, lib_name: nil, lib_version: "") ⇒ ImageAnnotatorClient
Returns a new instance of ImageAnnotatorClient
99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 |
# File 'lib/google/cloud/vision/v1/image_annotator_client.rb', line 99 def initialize \ credentials: nil, scopes: ALL_SCOPES, client_config: {}, timeout: DEFAULT_TIMEOUT, metadata: nil, exception_transformer: nil, lib_name: nil, lib_version: "" # These require statements are intentionally placed here to initialize # the gRPC module only when it's required. # See https://github.com/googleapis/toolkit/issues/446 require "google/gax/grpc" require "google/cloud/vision/v1/image_annotator_services_pb" credentials ||= Google::Cloud::Vision::V1::Credentials.default @operations_client = OperationsClient.new( credentials: credentials, scopes: scopes, client_config: client_config, timeout: timeout, lib_name: lib_name, lib_version: lib_version, ) if credentials.is_a?(String) || credentials.is_a?(Hash) updater_proc = Google::Cloud::Vision::V1::Credentials.new(credentials).updater_proc end if credentials.is_a?(GRPC::Core::Channel) channel = credentials end if credentials.is_a?(GRPC::Core::ChannelCredentials) chan_creds = credentials end if credentials.is_a?(Proc) updater_proc = credentials end if credentials.is_a?(Google::Auth::Credentials) updater_proc = credentials.updater_proc end package_version = Gem.loaded_specs['google-cloud-vision'].version.version google_api_client = "gl-ruby/#{RUBY_VERSION}" google_api_client << " #{lib_name}/#{lib_version}" if lib_name google_api_client << " gapic/#{package_version} gax/#{Google::Gax::VERSION}" google_api_client << " grpc/#{GRPC::VERSION}" google_api_client.freeze headers = { :"x-goog-api-client" => google_api_client } headers.merge!() unless .nil? client_config_file = Pathname.new(__dir__).join( "image_annotator_client_config.json" ) defaults = client_config_file.open do |f| Google::Gax.construct_settings( "google.cloud.vision.v1.ImageAnnotator", JSON.parse(f.read), client_config, Google::Gax::Grpc::STATUS_CODE_NAMES, timeout, errors: Google::Gax::Grpc::API_ERRORS, metadata: headers ) end # Allow overriding the service path/port in subclasses. service_path = self.class::SERVICE_ADDRESS port = self.class::DEFAULT_SERVICE_PORT interceptors = self.class::GRPC_INTERCEPTORS @image_annotator_stub = Google::Gax::Grpc.create_stub( service_path, port, chan_creds: chan_creds, channel: channel, updater_proc: updater_proc, scopes: scopes, interceptors: interceptors, &Google::Cloud::Vision::V1::ImageAnnotator::Stub.method(:new) ) @batch_annotate_images = Google::Gax.create_api_call( @image_annotator_stub.method(:batch_annotate_images), defaults["batch_annotate_images"], exception_transformer: exception_transformer ) @async_batch_annotate_files = Google::Gax.create_api_call( @image_annotator_stub.method(:async_batch_annotate_files), defaults["async_batch_annotate_files"], exception_transformer: exception_transformer ) end |
Instance Method Details
#async_batch_annotate_files(requests, options: nil) ⇒ Google::Gax::Operation
Run asynchronous image detection and annotation for a list of generic files, such as PDF files, which may contain multiple pages and multiple images per page. Progress and results can be retrieved through the +google.longrunning.Operations+ interface. +Operation.metadata+ contains +OperationMetadata+ (metadata). +Operation.response+ contains +AsyncBatchAnnotateFilesResponse+ (results).
280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 |
# File 'lib/google/cloud/vision/v1/image_annotator_client.rb', line 280 def async_batch_annotate_files \ requests, options: nil req = { requests: requests }.delete_if { |_, v| v.nil? } req = Google::Gax::to_proto(req, Google::Cloud::Vision::V1::AsyncBatchAnnotateFilesRequest) operation = Google::Gax::Operation.new( @async_batch_annotate_files.call(req, ), @operations_client, Google::Cloud::Vision::V1::AsyncBatchAnnotateFilesResponse, Google::Cloud::Vision::V1::OperationMetadata, call_options: ) operation.on_done { |operation| yield(operation) } if block_given? operation end |
#batch_annotate_images(requests, options: nil) {|result, operation| ... } ⇒ Google::Cloud::Vision::V1::BatchAnnotateImagesResponse
Run image detection and annotation for a batch of images.
218 219 220 221 222 223 224 225 226 227 |
# File 'lib/google/cloud/vision/v1/image_annotator_client.rb', line 218 def batch_annotate_images \ requests, options: nil, &block req = { requests: requests }.delete_if { |_, v| v.nil? } req = Google::Gax::to_proto(req, Google::Cloud::Vision::V1::BatchAnnotateImagesRequest) @batch_annotate_images.call(req, , &block) end |