1// Code generated by protoc-gen-go. DO NOT EDIT. 2// source: google/cloud/vision/v1p1beta1/image_annotator.proto 3 4package vision 5 6import ( 7 context "context" 8 fmt "fmt" 9 math "math" 10 11 proto "github.com/golang/protobuf/proto" 12 _ "google.golang.org/genproto/googleapis/api/annotations" 13 status "google.golang.org/genproto/googleapis/rpc/status" 14 color "google.golang.org/genproto/googleapis/type/color" 15 latlng "google.golang.org/genproto/googleapis/type/latlng" 16 grpc "google.golang.org/grpc" 17 codes "google.golang.org/grpc/codes" 18 status1 "google.golang.org/grpc/status" 19) 20 21// Reference imports to suppress errors if they are not otherwise used. 22var _ = proto.Marshal 23var _ = fmt.Errorf 24var _ = math.Inf 25 26// This is a compile-time assertion to ensure that this generated file 27// is compatible with the proto package it is being compiled against. 28// A compilation error at this line likely means your copy of the 29// proto package needs to be updated. 30const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package 31 32// A bucketized representation of likelihood, which is intended to give clients 33// highly stable results across model upgrades. 34type Likelihood int32 35 36const ( 37 // Unknown likelihood. 38 Likelihood_UNKNOWN Likelihood = 0 39 // It is very unlikely that the image belongs to the specified vertical. 40 Likelihood_VERY_UNLIKELY Likelihood = 1 41 // It is unlikely that the image belongs to the specified vertical. 42 Likelihood_UNLIKELY Likelihood = 2 43 // It is possible that the image belongs to the specified vertical. 44 Likelihood_POSSIBLE Likelihood = 3 45 // It is likely that the image belongs to the specified vertical. 46 Likelihood_LIKELY Likelihood = 4 47 // It is very likely that the image belongs to the specified vertical. 48 Likelihood_VERY_LIKELY Likelihood = 5 49) 50 51var Likelihood_name = map[int32]string{ 52 0: "UNKNOWN", 53 1: "VERY_UNLIKELY", 54 2: "UNLIKELY", 55 3: "POSSIBLE", 56 4: "LIKELY", 57 5: "VERY_LIKELY", 58} 59 60var Likelihood_value = map[string]int32{ 61 "UNKNOWN": 0, 62 "VERY_UNLIKELY": 1, 63 "UNLIKELY": 2, 64 "POSSIBLE": 3, 65 "LIKELY": 4, 66 "VERY_LIKELY": 5, 67} 68 69func (x Likelihood) String() string { 70 return proto.EnumName(Likelihood_name, int32(x)) 71} 72 73func (Likelihood) EnumDescriptor() ([]byte, []int) { 74 return fileDescriptor_1f6928ee25f8ae1f, []int{0} 75} 76 77// Type of image feature. 78type Feature_Type int32 79 80const ( 81 // Unspecified feature type. 82 Feature_TYPE_UNSPECIFIED Feature_Type = 0 83 // Run face detection. 84 Feature_FACE_DETECTION Feature_Type = 1 85 // Run landmark detection. 86 Feature_LANDMARK_DETECTION Feature_Type = 2 87 // Run logo detection. 88 Feature_LOGO_DETECTION Feature_Type = 3 89 // Run label detection. 90 Feature_LABEL_DETECTION Feature_Type = 4 91 // Run OCR. 92 Feature_TEXT_DETECTION Feature_Type = 5 93 // Run dense text document OCR. Takes precedence when both 94 // DOCUMENT_TEXT_DETECTION and TEXT_DETECTION are present. 95 Feature_DOCUMENT_TEXT_DETECTION Feature_Type = 11 96 // Run computer vision models to compute image safe-search properties. 97 Feature_SAFE_SEARCH_DETECTION Feature_Type = 6 98 // Compute a set of image properties, such as the image's dominant colors. 99 Feature_IMAGE_PROPERTIES Feature_Type = 7 100 // Run crop hints. 101 Feature_CROP_HINTS Feature_Type = 9 102 // Run web detection. 103 Feature_WEB_DETECTION Feature_Type = 10 104) 105 106var Feature_Type_name = map[int32]string{ 107 0: "TYPE_UNSPECIFIED", 108 1: "FACE_DETECTION", 109 2: "LANDMARK_DETECTION", 110 3: "LOGO_DETECTION", 111 4: "LABEL_DETECTION", 112 5: "TEXT_DETECTION", 113 11: "DOCUMENT_TEXT_DETECTION", 114 6: "SAFE_SEARCH_DETECTION", 115 7: "IMAGE_PROPERTIES", 116 9: "CROP_HINTS", 117 10: "WEB_DETECTION", 118} 119 120var Feature_Type_value = map[string]int32{ 121 "TYPE_UNSPECIFIED": 0, 122 "FACE_DETECTION": 1, 123 "LANDMARK_DETECTION": 2, 124 "LOGO_DETECTION": 3, 125 "LABEL_DETECTION": 4, 126 "TEXT_DETECTION": 5, 127 "DOCUMENT_TEXT_DETECTION": 11, 128 "SAFE_SEARCH_DETECTION": 6, 129 "IMAGE_PROPERTIES": 7, 130 "CROP_HINTS": 9, 131 "WEB_DETECTION": 10, 132} 133 134func (x Feature_Type) String() string { 135 return proto.EnumName(Feature_Type_name, int32(x)) 136} 137 138func (Feature_Type) EnumDescriptor() ([]byte, []int) { 139 return fileDescriptor_1f6928ee25f8ae1f, []int{0, 0} 140} 141 142// Face landmark (feature) type. 143// Left and right are defined from the vantage of the viewer of the image 144// without considering mirror projections typical of photos. So, `LEFT_EYE`, 145// typically, is the person's right eye. 146type FaceAnnotation_Landmark_Type int32 147 148const ( 149 // Unknown face landmark detected. Should not be filled. 150 FaceAnnotation_Landmark_UNKNOWN_LANDMARK FaceAnnotation_Landmark_Type = 0 151 // Left eye. 152 FaceAnnotation_Landmark_LEFT_EYE FaceAnnotation_Landmark_Type = 1 153 // Right eye. 154 FaceAnnotation_Landmark_RIGHT_EYE FaceAnnotation_Landmark_Type = 2 155 // Left of left eyebrow. 156 FaceAnnotation_Landmark_LEFT_OF_LEFT_EYEBROW FaceAnnotation_Landmark_Type = 3 157 // Right of left eyebrow. 158 FaceAnnotation_Landmark_RIGHT_OF_LEFT_EYEBROW FaceAnnotation_Landmark_Type = 4 159 // Left of right eyebrow. 160 FaceAnnotation_Landmark_LEFT_OF_RIGHT_EYEBROW FaceAnnotation_Landmark_Type = 5 161 // Right of right eyebrow. 162 FaceAnnotation_Landmark_RIGHT_OF_RIGHT_EYEBROW FaceAnnotation_Landmark_Type = 6 163 // Midpoint between eyes. 164 FaceAnnotation_Landmark_MIDPOINT_BETWEEN_EYES FaceAnnotation_Landmark_Type = 7 165 // Nose tip. 166 FaceAnnotation_Landmark_NOSE_TIP FaceAnnotation_Landmark_Type = 8 167 // Upper lip. 168 FaceAnnotation_Landmark_UPPER_LIP FaceAnnotation_Landmark_Type = 9 169 // Lower lip. 170 FaceAnnotation_Landmark_LOWER_LIP FaceAnnotation_Landmark_Type = 10 171 // Mouth left. 172 FaceAnnotation_Landmark_MOUTH_LEFT FaceAnnotation_Landmark_Type = 11 173 // Mouth right. 174 FaceAnnotation_Landmark_MOUTH_RIGHT FaceAnnotation_Landmark_Type = 12 175 // Mouth center. 176 FaceAnnotation_Landmark_MOUTH_CENTER FaceAnnotation_Landmark_Type = 13 177 // Nose, bottom right. 178 FaceAnnotation_Landmark_NOSE_BOTTOM_RIGHT FaceAnnotation_Landmark_Type = 14 179 // Nose, bottom left. 180 FaceAnnotation_Landmark_NOSE_BOTTOM_LEFT FaceAnnotation_Landmark_Type = 15 181 // Nose, bottom center. 182 FaceAnnotation_Landmark_NOSE_BOTTOM_CENTER FaceAnnotation_Landmark_Type = 16 183 // Left eye, top boundary. 184 FaceAnnotation_Landmark_LEFT_EYE_TOP_BOUNDARY FaceAnnotation_Landmark_Type = 17 185 // Left eye, right corner. 186 FaceAnnotation_Landmark_LEFT_EYE_RIGHT_CORNER FaceAnnotation_Landmark_Type = 18 187 // Left eye, bottom boundary. 188 FaceAnnotation_Landmark_LEFT_EYE_BOTTOM_BOUNDARY FaceAnnotation_Landmark_Type = 19 189 // Left eye, left corner. 190 FaceAnnotation_Landmark_LEFT_EYE_LEFT_CORNER FaceAnnotation_Landmark_Type = 20 191 // Right eye, top boundary. 192 FaceAnnotation_Landmark_RIGHT_EYE_TOP_BOUNDARY FaceAnnotation_Landmark_Type = 21 193 // Right eye, right corner. 194 FaceAnnotation_Landmark_RIGHT_EYE_RIGHT_CORNER FaceAnnotation_Landmark_Type = 22 195 // Right eye, bottom boundary. 196 FaceAnnotation_Landmark_RIGHT_EYE_BOTTOM_BOUNDARY FaceAnnotation_Landmark_Type = 23 197 // Right eye, left corner. 198 FaceAnnotation_Landmark_RIGHT_EYE_LEFT_CORNER FaceAnnotation_Landmark_Type = 24 199 // Left eyebrow, upper midpoint. 200 FaceAnnotation_Landmark_LEFT_EYEBROW_UPPER_MIDPOINT FaceAnnotation_Landmark_Type = 25 201 // Right eyebrow, upper midpoint. 202 FaceAnnotation_Landmark_RIGHT_EYEBROW_UPPER_MIDPOINT FaceAnnotation_Landmark_Type = 26 203 // Left ear tragion. 204 FaceAnnotation_Landmark_LEFT_EAR_TRAGION FaceAnnotation_Landmark_Type = 27 205 // Right ear tragion. 206 FaceAnnotation_Landmark_RIGHT_EAR_TRAGION FaceAnnotation_Landmark_Type = 28 207 // Left eye pupil. 208 FaceAnnotation_Landmark_LEFT_EYE_PUPIL FaceAnnotation_Landmark_Type = 29 209 // Right eye pupil. 210 FaceAnnotation_Landmark_RIGHT_EYE_PUPIL FaceAnnotation_Landmark_Type = 30 211 // Forehead glabella. 212 FaceAnnotation_Landmark_FOREHEAD_GLABELLA FaceAnnotation_Landmark_Type = 31 213 // Chin gnathion. 214 FaceAnnotation_Landmark_CHIN_GNATHION FaceAnnotation_Landmark_Type = 32 215 // Chin left gonion. 216 FaceAnnotation_Landmark_CHIN_LEFT_GONION FaceAnnotation_Landmark_Type = 33 217 // Chin right gonion. 218 FaceAnnotation_Landmark_CHIN_RIGHT_GONION FaceAnnotation_Landmark_Type = 34 219) 220 221var FaceAnnotation_Landmark_Type_name = map[int32]string{ 222 0: "UNKNOWN_LANDMARK", 223 1: "LEFT_EYE", 224 2: "RIGHT_EYE", 225 3: "LEFT_OF_LEFT_EYEBROW", 226 4: "RIGHT_OF_LEFT_EYEBROW", 227 5: "LEFT_OF_RIGHT_EYEBROW", 228 6: "RIGHT_OF_RIGHT_EYEBROW", 229 7: "MIDPOINT_BETWEEN_EYES", 230 8: "NOSE_TIP", 231 9: "UPPER_LIP", 232 10: "LOWER_LIP", 233 11: "MOUTH_LEFT", 234 12: "MOUTH_RIGHT", 235 13: "MOUTH_CENTER", 236 14: "NOSE_BOTTOM_RIGHT", 237 15: "NOSE_BOTTOM_LEFT", 238 16: "NOSE_BOTTOM_CENTER", 239 17: "LEFT_EYE_TOP_BOUNDARY", 240 18: "LEFT_EYE_RIGHT_CORNER", 241 19: "LEFT_EYE_BOTTOM_BOUNDARY", 242 20: "LEFT_EYE_LEFT_CORNER", 243 21: "RIGHT_EYE_TOP_BOUNDARY", 244 22: "RIGHT_EYE_RIGHT_CORNER", 245 23: "RIGHT_EYE_BOTTOM_BOUNDARY", 246 24: "RIGHT_EYE_LEFT_CORNER", 247 25: "LEFT_EYEBROW_UPPER_MIDPOINT", 248 26: "RIGHT_EYEBROW_UPPER_MIDPOINT", 249 27: "LEFT_EAR_TRAGION", 250 28: "RIGHT_EAR_TRAGION", 251 29: "LEFT_EYE_PUPIL", 252 30: "RIGHT_EYE_PUPIL", 253 31: "FOREHEAD_GLABELLA", 254 32: "CHIN_GNATHION", 255 33: "CHIN_LEFT_GONION", 256 34: "CHIN_RIGHT_GONION", 257} 258 259var FaceAnnotation_Landmark_Type_value = map[string]int32{ 260 "UNKNOWN_LANDMARK": 0, 261 "LEFT_EYE": 1, 262 "RIGHT_EYE": 2, 263 "LEFT_OF_LEFT_EYEBROW": 3, 264 "RIGHT_OF_LEFT_EYEBROW": 4, 265 "LEFT_OF_RIGHT_EYEBROW": 5, 266 "RIGHT_OF_RIGHT_EYEBROW": 6, 267 "MIDPOINT_BETWEEN_EYES": 7, 268 "NOSE_TIP": 8, 269 "UPPER_LIP": 9, 270 "LOWER_LIP": 10, 271 "MOUTH_LEFT": 11, 272 "MOUTH_RIGHT": 12, 273 "MOUTH_CENTER": 13, 274 "NOSE_BOTTOM_RIGHT": 14, 275 "NOSE_BOTTOM_LEFT": 15, 276 "NOSE_BOTTOM_CENTER": 16, 277 "LEFT_EYE_TOP_BOUNDARY": 17, 278 "LEFT_EYE_RIGHT_CORNER": 18, 279 "LEFT_EYE_BOTTOM_BOUNDARY": 19, 280 "LEFT_EYE_LEFT_CORNER": 20, 281 "RIGHT_EYE_TOP_BOUNDARY": 21, 282 "RIGHT_EYE_RIGHT_CORNER": 22, 283 "RIGHT_EYE_BOTTOM_BOUNDARY": 23, 284 "RIGHT_EYE_LEFT_CORNER": 24, 285 "LEFT_EYEBROW_UPPER_MIDPOINT": 25, 286 "RIGHT_EYEBROW_UPPER_MIDPOINT": 26, 287 "LEFT_EAR_TRAGION": 27, 288 "RIGHT_EAR_TRAGION": 28, 289 "LEFT_EYE_PUPIL": 29, 290 "RIGHT_EYE_PUPIL": 30, 291 "FOREHEAD_GLABELLA": 31, 292 "CHIN_GNATHION": 32, 293 "CHIN_LEFT_GONION": 33, 294 "CHIN_RIGHT_GONION": 34, 295} 296 297func (x FaceAnnotation_Landmark_Type) String() string { 298 return proto.EnumName(FaceAnnotation_Landmark_Type_name, int32(x)) 299} 300 301func (FaceAnnotation_Landmark_Type) EnumDescriptor() ([]byte, []int) { 302 return fileDescriptor_1f6928ee25f8ae1f, []int{3, 0, 0} 303} 304 305// Users describe the type of Google Cloud Vision API tasks to perform over 306// images by using *Feature*s. Each Feature indicates a type of image 307// detection task to perform. Features encode the Cloud Vision API 308// vertical to operate on and the number of top-scoring results to return. 309type Feature struct { 310 // The feature type. 311 Type Feature_Type `protobuf:"varint,1,opt,name=type,proto3,enum=google.cloud.vision.v1p1beta1.Feature_Type" json:"type,omitempty"` 312 // Maximum number of results of this type. 313 MaxResults int32 `protobuf:"varint,2,opt,name=max_results,json=maxResults,proto3" json:"max_results,omitempty"` 314 // Model to use for the feature. 315 // Supported values: "builtin/stable" (the default if unset) and 316 // "builtin/latest". 317 Model string `protobuf:"bytes,3,opt,name=model,proto3" json:"model,omitempty"` 318 XXX_NoUnkeyedLiteral struct{} `json:"-"` 319 XXX_unrecognized []byte `json:"-"` 320 XXX_sizecache int32 `json:"-"` 321} 322 323func (m *Feature) Reset() { *m = Feature{} } 324func (m *Feature) String() string { return proto.CompactTextString(m) } 325func (*Feature) ProtoMessage() {} 326func (*Feature) Descriptor() ([]byte, []int) { 327 return fileDescriptor_1f6928ee25f8ae1f, []int{0} 328} 329 330func (m *Feature) XXX_Unmarshal(b []byte) error { 331 return xxx_messageInfo_Feature.Unmarshal(m, b) 332} 333func (m *Feature) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 334 return xxx_messageInfo_Feature.Marshal(b, m, deterministic) 335} 336func (m *Feature) XXX_Merge(src proto.Message) { 337 xxx_messageInfo_Feature.Merge(m, src) 338} 339func (m *Feature) XXX_Size() int { 340 return xxx_messageInfo_Feature.Size(m) 341} 342func (m *Feature) XXX_DiscardUnknown() { 343 xxx_messageInfo_Feature.DiscardUnknown(m) 344} 345 346var xxx_messageInfo_Feature proto.InternalMessageInfo 347 348func (m *Feature) GetType() Feature_Type { 349 if m != nil { 350 return m.Type 351 } 352 return Feature_TYPE_UNSPECIFIED 353} 354 355func (m *Feature) GetMaxResults() int32 { 356 if m != nil { 357 return m.MaxResults 358 } 359 return 0 360} 361 362func (m *Feature) GetModel() string { 363 if m != nil { 364 return m.Model 365 } 366 return "" 367} 368 369// External image source (Google Cloud Storage image location). 370type ImageSource struct { 371 // NOTE: For new code `image_uri` below is preferred. 372 // Google Cloud Storage image URI, which must be in the following form: 373 // `gs://bucket_name/object_name` (for details, see 374 // [Google Cloud Storage Request 375 // URIs](https://cloud.google.com/storage/docs/reference-uris)). 376 // NOTE: Cloud Storage object versioning is not supported. 377 GcsImageUri string `protobuf:"bytes,1,opt,name=gcs_image_uri,json=gcsImageUri,proto3" json:"gcs_image_uri,omitempty"` 378 // Image URI which supports: 379 // 1) Google Cloud Storage image URI, which must be in the following form: 380 // `gs://bucket_name/object_name` (for details, see 381 // [Google Cloud Storage Request 382 // URIs](https://cloud.google.com/storage/docs/reference-uris)). 383 // NOTE: Cloud Storage object versioning is not supported. 384 // 2) Publicly accessible image HTTP/HTTPS URL. 385 // This is preferred over the legacy `gcs_image_uri` above. When both 386 // `gcs_image_uri` and `image_uri` are specified, `image_uri` takes 387 // precedence. 388 ImageUri string `protobuf:"bytes,2,opt,name=image_uri,json=imageUri,proto3" json:"image_uri,omitempty"` 389 XXX_NoUnkeyedLiteral struct{} `json:"-"` 390 XXX_unrecognized []byte `json:"-"` 391 XXX_sizecache int32 `json:"-"` 392} 393 394func (m *ImageSource) Reset() { *m = ImageSource{} } 395func (m *ImageSource) String() string { return proto.CompactTextString(m) } 396func (*ImageSource) ProtoMessage() {} 397func (*ImageSource) Descriptor() ([]byte, []int) { 398 return fileDescriptor_1f6928ee25f8ae1f, []int{1} 399} 400 401func (m *ImageSource) XXX_Unmarshal(b []byte) error { 402 return xxx_messageInfo_ImageSource.Unmarshal(m, b) 403} 404func (m *ImageSource) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 405 return xxx_messageInfo_ImageSource.Marshal(b, m, deterministic) 406} 407func (m *ImageSource) XXX_Merge(src proto.Message) { 408 xxx_messageInfo_ImageSource.Merge(m, src) 409} 410func (m *ImageSource) XXX_Size() int { 411 return xxx_messageInfo_ImageSource.Size(m) 412} 413func (m *ImageSource) XXX_DiscardUnknown() { 414 xxx_messageInfo_ImageSource.DiscardUnknown(m) 415} 416 417var xxx_messageInfo_ImageSource proto.InternalMessageInfo 418 419func (m *ImageSource) GetGcsImageUri() string { 420 if m != nil { 421 return m.GcsImageUri 422 } 423 return "" 424} 425 426func (m *ImageSource) GetImageUri() string { 427 if m != nil { 428 return m.ImageUri 429 } 430 return "" 431} 432 433// Client image to perform Google Cloud Vision API tasks over. 434type Image struct { 435 // Image content, represented as a stream of bytes. 436 // Note: as with all `bytes` fields, protobuffers use a pure binary 437 // representation, whereas JSON representations use base64. 438 Content []byte `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"` 439 // Google Cloud Storage image location. If both `content` and `source` 440 // are provided for an image, `content` takes precedence and is 441 // used to perform the image annotation request. 442 Source *ImageSource `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` 443 XXX_NoUnkeyedLiteral struct{} `json:"-"` 444 XXX_unrecognized []byte `json:"-"` 445 XXX_sizecache int32 `json:"-"` 446} 447 448func (m *Image) Reset() { *m = Image{} } 449func (m *Image) String() string { return proto.CompactTextString(m) } 450func (*Image) ProtoMessage() {} 451func (*Image) Descriptor() ([]byte, []int) { 452 return fileDescriptor_1f6928ee25f8ae1f, []int{2} 453} 454 455func (m *Image) XXX_Unmarshal(b []byte) error { 456 return xxx_messageInfo_Image.Unmarshal(m, b) 457} 458func (m *Image) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 459 return xxx_messageInfo_Image.Marshal(b, m, deterministic) 460} 461func (m *Image) XXX_Merge(src proto.Message) { 462 xxx_messageInfo_Image.Merge(m, src) 463} 464func (m *Image) XXX_Size() int { 465 return xxx_messageInfo_Image.Size(m) 466} 467func (m *Image) XXX_DiscardUnknown() { 468 xxx_messageInfo_Image.DiscardUnknown(m) 469} 470 471var xxx_messageInfo_Image proto.InternalMessageInfo 472 473func (m *Image) GetContent() []byte { 474 if m != nil { 475 return m.Content 476 } 477 return nil 478} 479 480func (m *Image) GetSource() *ImageSource { 481 if m != nil { 482 return m.Source 483 } 484 return nil 485} 486 487// A face annotation object contains the results of face detection. 488type FaceAnnotation struct { 489 // The bounding polygon around the face. The coordinates of the bounding box 490 // are in the original image's scale, as returned in `ImageParams`. 491 // The bounding box is computed to "frame" the face in accordance with human 492 // expectations. It is based on the landmarker results. 493 // Note that one or more x and/or y coordinates may not be generated in the 494 // `BoundingPoly` (the polygon will be unbounded) if only a partial face 495 // appears in the image to be annotated. 496 BoundingPoly *BoundingPoly `protobuf:"bytes,1,opt,name=bounding_poly,json=boundingPoly,proto3" json:"bounding_poly,omitempty"` 497 // The `fd_bounding_poly` bounding polygon is tighter than the 498 // `boundingPoly`, and encloses only the skin part of the face. Typically, it 499 // is used to eliminate the face from any image analysis that detects the 500 // "amount of skin" visible in an image. It is not based on the 501 // landmarker results, only on the initial face detection, hence 502 // the <code>fd</code> (face detection) prefix. 503 FdBoundingPoly *BoundingPoly `protobuf:"bytes,2,opt,name=fd_bounding_poly,json=fdBoundingPoly,proto3" json:"fd_bounding_poly,omitempty"` 504 // Detected face landmarks. 505 Landmarks []*FaceAnnotation_Landmark `protobuf:"bytes,3,rep,name=landmarks,proto3" json:"landmarks,omitempty"` 506 // Roll angle, which indicates the amount of clockwise/anti-clockwise rotation 507 // of the face relative to the image vertical about the axis perpendicular to 508 // the face. Range [-180,180]. 509 RollAngle float32 `protobuf:"fixed32,4,opt,name=roll_angle,json=rollAngle,proto3" json:"roll_angle,omitempty"` 510 // Yaw angle, which indicates the leftward/rightward angle that the face is 511 // pointing relative to the vertical plane perpendicular to the image. Range 512 // [-180,180]. 513 PanAngle float32 `protobuf:"fixed32,5,opt,name=pan_angle,json=panAngle,proto3" json:"pan_angle,omitempty"` 514 // Pitch angle, which indicates the upwards/downwards angle that the face is 515 // pointing relative to the image's horizontal plane. Range [-180,180]. 516 TiltAngle float32 `protobuf:"fixed32,6,opt,name=tilt_angle,json=tiltAngle,proto3" json:"tilt_angle,omitempty"` 517 // Detection confidence. Range [0, 1]. 518 DetectionConfidence float32 `protobuf:"fixed32,7,opt,name=detection_confidence,json=detectionConfidence,proto3" json:"detection_confidence,omitempty"` 519 // Face landmarking confidence. Range [0, 1]. 520 LandmarkingConfidence float32 `protobuf:"fixed32,8,opt,name=landmarking_confidence,json=landmarkingConfidence,proto3" json:"landmarking_confidence,omitempty"` 521 // Joy likelihood. 522 JoyLikelihood Likelihood `protobuf:"varint,9,opt,name=joy_likelihood,json=joyLikelihood,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"joy_likelihood,omitempty"` 523 // Sorrow likelihood. 524 SorrowLikelihood Likelihood `protobuf:"varint,10,opt,name=sorrow_likelihood,json=sorrowLikelihood,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"sorrow_likelihood,omitempty"` 525 // Anger likelihood. 526 AngerLikelihood Likelihood `protobuf:"varint,11,opt,name=anger_likelihood,json=angerLikelihood,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"anger_likelihood,omitempty"` 527 // Surprise likelihood. 528 SurpriseLikelihood Likelihood `protobuf:"varint,12,opt,name=surprise_likelihood,json=surpriseLikelihood,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"surprise_likelihood,omitempty"` 529 // Under-exposed likelihood. 530 UnderExposedLikelihood Likelihood `protobuf:"varint,13,opt,name=under_exposed_likelihood,json=underExposedLikelihood,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"under_exposed_likelihood,omitempty"` 531 // Blurred likelihood. 532 BlurredLikelihood Likelihood `protobuf:"varint,14,opt,name=blurred_likelihood,json=blurredLikelihood,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"blurred_likelihood,omitempty"` 533 // Headwear likelihood. 534 HeadwearLikelihood Likelihood `protobuf:"varint,15,opt,name=headwear_likelihood,json=headwearLikelihood,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"headwear_likelihood,omitempty"` 535 XXX_NoUnkeyedLiteral struct{} `json:"-"` 536 XXX_unrecognized []byte `json:"-"` 537 XXX_sizecache int32 `json:"-"` 538} 539 540func (m *FaceAnnotation) Reset() { *m = FaceAnnotation{} } 541func (m *FaceAnnotation) String() string { return proto.CompactTextString(m) } 542func (*FaceAnnotation) ProtoMessage() {} 543func (*FaceAnnotation) Descriptor() ([]byte, []int) { 544 return fileDescriptor_1f6928ee25f8ae1f, []int{3} 545} 546 547func (m *FaceAnnotation) XXX_Unmarshal(b []byte) error { 548 return xxx_messageInfo_FaceAnnotation.Unmarshal(m, b) 549} 550func (m *FaceAnnotation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 551 return xxx_messageInfo_FaceAnnotation.Marshal(b, m, deterministic) 552} 553func (m *FaceAnnotation) XXX_Merge(src proto.Message) { 554 xxx_messageInfo_FaceAnnotation.Merge(m, src) 555} 556func (m *FaceAnnotation) XXX_Size() int { 557 return xxx_messageInfo_FaceAnnotation.Size(m) 558} 559func (m *FaceAnnotation) XXX_DiscardUnknown() { 560 xxx_messageInfo_FaceAnnotation.DiscardUnknown(m) 561} 562 563var xxx_messageInfo_FaceAnnotation proto.InternalMessageInfo 564 565func (m *FaceAnnotation) GetBoundingPoly() *BoundingPoly { 566 if m != nil { 567 return m.BoundingPoly 568 } 569 return nil 570} 571 572func (m *FaceAnnotation) GetFdBoundingPoly() *BoundingPoly { 573 if m != nil { 574 return m.FdBoundingPoly 575 } 576 return nil 577} 578 579func (m *FaceAnnotation) GetLandmarks() []*FaceAnnotation_Landmark { 580 if m != nil { 581 return m.Landmarks 582 } 583 return nil 584} 585 586func (m *FaceAnnotation) GetRollAngle() float32 { 587 if m != nil { 588 return m.RollAngle 589 } 590 return 0 591} 592 593func (m *FaceAnnotation) GetPanAngle() float32 { 594 if m != nil { 595 return m.PanAngle 596 } 597 return 0 598} 599 600func (m *FaceAnnotation) GetTiltAngle() float32 { 601 if m != nil { 602 return m.TiltAngle 603 } 604 return 0 605} 606 607func (m *FaceAnnotation) GetDetectionConfidence() float32 { 608 if m != nil { 609 return m.DetectionConfidence 610 } 611 return 0 612} 613 614func (m *FaceAnnotation) GetLandmarkingConfidence() float32 { 615 if m != nil { 616 return m.LandmarkingConfidence 617 } 618 return 0 619} 620 621func (m *FaceAnnotation) GetJoyLikelihood() Likelihood { 622 if m != nil { 623 return m.JoyLikelihood 624 } 625 return Likelihood_UNKNOWN 626} 627 628func (m *FaceAnnotation) GetSorrowLikelihood() Likelihood { 629 if m != nil { 630 return m.SorrowLikelihood 631 } 632 return Likelihood_UNKNOWN 633} 634 635func (m *FaceAnnotation) GetAngerLikelihood() Likelihood { 636 if m != nil { 637 return m.AngerLikelihood 638 } 639 return Likelihood_UNKNOWN 640} 641 642func (m *FaceAnnotation) GetSurpriseLikelihood() Likelihood { 643 if m != nil { 644 return m.SurpriseLikelihood 645 } 646 return Likelihood_UNKNOWN 647} 648 649func (m *FaceAnnotation) GetUnderExposedLikelihood() Likelihood { 650 if m != nil { 651 return m.UnderExposedLikelihood 652 } 653 return Likelihood_UNKNOWN 654} 655 656func (m *FaceAnnotation) GetBlurredLikelihood() Likelihood { 657 if m != nil { 658 return m.BlurredLikelihood 659 } 660 return Likelihood_UNKNOWN 661} 662 663func (m *FaceAnnotation) GetHeadwearLikelihood() Likelihood { 664 if m != nil { 665 return m.HeadwearLikelihood 666 } 667 return Likelihood_UNKNOWN 668} 669 670// A face-specific landmark (for example, a face feature). 671type FaceAnnotation_Landmark struct { 672 // Face landmark type. 673 Type FaceAnnotation_Landmark_Type `protobuf:"varint,3,opt,name=type,proto3,enum=google.cloud.vision.v1p1beta1.FaceAnnotation_Landmark_Type" json:"type,omitempty"` 674 // Face landmark position. 675 Position *Position `protobuf:"bytes,4,opt,name=position,proto3" json:"position,omitempty"` 676 XXX_NoUnkeyedLiteral struct{} `json:"-"` 677 XXX_unrecognized []byte `json:"-"` 678 XXX_sizecache int32 `json:"-"` 679} 680 681func (m *FaceAnnotation_Landmark) Reset() { *m = FaceAnnotation_Landmark{} } 682func (m *FaceAnnotation_Landmark) String() string { return proto.CompactTextString(m) } 683func (*FaceAnnotation_Landmark) ProtoMessage() {} 684func (*FaceAnnotation_Landmark) Descriptor() ([]byte, []int) { 685 return fileDescriptor_1f6928ee25f8ae1f, []int{3, 0} 686} 687 688func (m *FaceAnnotation_Landmark) XXX_Unmarshal(b []byte) error { 689 return xxx_messageInfo_FaceAnnotation_Landmark.Unmarshal(m, b) 690} 691func (m *FaceAnnotation_Landmark) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 692 return xxx_messageInfo_FaceAnnotation_Landmark.Marshal(b, m, deterministic) 693} 694func (m *FaceAnnotation_Landmark) XXX_Merge(src proto.Message) { 695 xxx_messageInfo_FaceAnnotation_Landmark.Merge(m, src) 696} 697func (m *FaceAnnotation_Landmark) XXX_Size() int { 698 return xxx_messageInfo_FaceAnnotation_Landmark.Size(m) 699} 700func (m *FaceAnnotation_Landmark) XXX_DiscardUnknown() { 701 xxx_messageInfo_FaceAnnotation_Landmark.DiscardUnknown(m) 702} 703 704var xxx_messageInfo_FaceAnnotation_Landmark proto.InternalMessageInfo 705 706func (m *FaceAnnotation_Landmark) GetType() FaceAnnotation_Landmark_Type { 707 if m != nil { 708 return m.Type 709 } 710 return FaceAnnotation_Landmark_UNKNOWN_LANDMARK 711} 712 713func (m *FaceAnnotation_Landmark) GetPosition() *Position { 714 if m != nil { 715 return m.Position 716 } 717 return nil 718} 719 720// Detected entity location information. 721type LocationInfo struct { 722 // lat/long location coordinates. 723 LatLng *latlng.LatLng `protobuf:"bytes,1,opt,name=lat_lng,json=latLng,proto3" json:"lat_lng,omitempty"` 724 XXX_NoUnkeyedLiteral struct{} `json:"-"` 725 XXX_unrecognized []byte `json:"-"` 726 XXX_sizecache int32 `json:"-"` 727} 728 729func (m *LocationInfo) Reset() { *m = LocationInfo{} } 730func (m *LocationInfo) String() string { return proto.CompactTextString(m) } 731func (*LocationInfo) ProtoMessage() {} 732func (*LocationInfo) Descriptor() ([]byte, []int) { 733 return fileDescriptor_1f6928ee25f8ae1f, []int{4} 734} 735 736func (m *LocationInfo) XXX_Unmarshal(b []byte) error { 737 return xxx_messageInfo_LocationInfo.Unmarshal(m, b) 738} 739func (m *LocationInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 740 return xxx_messageInfo_LocationInfo.Marshal(b, m, deterministic) 741} 742func (m *LocationInfo) XXX_Merge(src proto.Message) { 743 xxx_messageInfo_LocationInfo.Merge(m, src) 744} 745func (m *LocationInfo) XXX_Size() int { 746 return xxx_messageInfo_LocationInfo.Size(m) 747} 748func (m *LocationInfo) XXX_DiscardUnknown() { 749 xxx_messageInfo_LocationInfo.DiscardUnknown(m) 750} 751 752var xxx_messageInfo_LocationInfo proto.InternalMessageInfo 753 754func (m *LocationInfo) GetLatLng() *latlng.LatLng { 755 if m != nil { 756 return m.LatLng 757 } 758 return nil 759} 760 761// A `Property` consists of a user-supplied name/value pair. 762type Property struct { 763 // Name of the property. 764 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 765 // Value of the property. 766 Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` 767 // Value of numeric properties. 768 Uint64Value uint64 `protobuf:"varint,3,opt,name=uint64_value,json=uint64Value,proto3" json:"uint64_value,omitempty"` 769 XXX_NoUnkeyedLiteral struct{} `json:"-"` 770 XXX_unrecognized []byte `json:"-"` 771 XXX_sizecache int32 `json:"-"` 772} 773 774func (m *Property) Reset() { *m = Property{} } 775func (m *Property) String() string { return proto.CompactTextString(m) } 776func (*Property) ProtoMessage() {} 777func (*Property) Descriptor() ([]byte, []int) { 778 return fileDescriptor_1f6928ee25f8ae1f, []int{5} 779} 780 781func (m *Property) XXX_Unmarshal(b []byte) error { 782 return xxx_messageInfo_Property.Unmarshal(m, b) 783} 784func (m *Property) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 785 return xxx_messageInfo_Property.Marshal(b, m, deterministic) 786} 787func (m *Property) XXX_Merge(src proto.Message) { 788 xxx_messageInfo_Property.Merge(m, src) 789} 790func (m *Property) XXX_Size() int { 791 return xxx_messageInfo_Property.Size(m) 792} 793func (m *Property) XXX_DiscardUnknown() { 794 xxx_messageInfo_Property.DiscardUnknown(m) 795} 796 797var xxx_messageInfo_Property proto.InternalMessageInfo 798 799func (m *Property) GetName() string { 800 if m != nil { 801 return m.Name 802 } 803 return "" 804} 805 806func (m *Property) GetValue() string { 807 if m != nil { 808 return m.Value 809 } 810 return "" 811} 812 813func (m *Property) GetUint64Value() uint64 { 814 if m != nil { 815 return m.Uint64Value 816 } 817 return 0 818} 819 820// Set of detected entity features. 821type EntityAnnotation struct { 822 // Opaque entity ID. Some IDs may be available in 823 // [Google Knowledge Graph Search 824 // API](https://developers.google.com/knowledge-graph/). 825 Mid string `protobuf:"bytes,1,opt,name=mid,proto3" json:"mid,omitempty"` 826 // The language code for the locale in which the entity textual 827 // `description` is expressed. 828 Locale string `protobuf:"bytes,2,opt,name=locale,proto3" json:"locale,omitempty"` 829 // Entity textual description, expressed in its `locale` language. 830 Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` 831 // Overall score of the result. Range [0, 1]. 832 Score float32 `protobuf:"fixed32,4,opt,name=score,proto3" json:"score,omitempty"` 833 // The accuracy of the entity detection in an image. 834 // For example, for an image in which the "Eiffel Tower" entity is detected, 835 // this field represents the confidence that there is a tower in the query 836 // image. Range [0, 1]. 837 Confidence float32 `protobuf:"fixed32,5,opt,name=confidence,proto3" json:"confidence,omitempty"` 838 // The relevancy of the ICA (Image Content Annotation) label to the 839 // image. For example, the relevancy of "tower" is likely higher to an image 840 // containing the detected "Eiffel Tower" than to an image containing a 841 // detected distant towering building, even though the confidence that 842 // there is a tower in each image may be the same. Range [0, 1]. 843 Topicality float32 `protobuf:"fixed32,6,opt,name=topicality,proto3" json:"topicality,omitempty"` 844 // Image region to which this entity belongs. Not produced 845 // for `LABEL_DETECTION` features. 846 BoundingPoly *BoundingPoly `protobuf:"bytes,7,opt,name=bounding_poly,json=boundingPoly,proto3" json:"bounding_poly,omitempty"` 847 // The location information for the detected entity. Multiple 848 // `LocationInfo` elements can be present because one location may 849 // indicate the location of the scene in the image, and another location 850 // may indicate the location of the place where the image was taken. 851 // Location information is usually present for landmarks. 852 Locations []*LocationInfo `protobuf:"bytes,8,rep,name=locations,proto3" json:"locations,omitempty"` 853 // Some entities may have optional user-supplied `Property` (name/value) 854 // fields, such a score or string that qualifies the entity. 855 Properties []*Property `protobuf:"bytes,9,rep,name=properties,proto3" json:"properties,omitempty"` 856 XXX_NoUnkeyedLiteral struct{} `json:"-"` 857 XXX_unrecognized []byte `json:"-"` 858 XXX_sizecache int32 `json:"-"` 859} 860 861func (m *EntityAnnotation) Reset() { *m = EntityAnnotation{} } 862func (m *EntityAnnotation) String() string { return proto.CompactTextString(m) } 863func (*EntityAnnotation) ProtoMessage() {} 864func (*EntityAnnotation) Descriptor() ([]byte, []int) { 865 return fileDescriptor_1f6928ee25f8ae1f, []int{6} 866} 867 868func (m *EntityAnnotation) XXX_Unmarshal(b []byte) error { 869 return xxx_messageInfo_EntityAnnotation.Unmarshal(m, b) 870} 871func (m *EntityAnnotation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 872 return xxx_messageInfo_EntityAnnotation.Marshal(b, m, deterministic) 873} 874func (m *EntityAnnotation) XXX_Merge(src proto.Message) { 875 xxx_messageInfo_EntityAnnotation.Merge(m, src) 876} 877func (m *EntityAnnotation) XXX_Size() int { 878 return xxx_messageInfo_EntityAnnotation.Size(m) 879} 880func (m *EntityAnnotation) XXX_DiscardUnknown() { 881 xxx_messageInfo_EntityAnnotation.DiscardUnknown(m) 882} 883 884var xxx_messageInfo_EntityAnnotation proto.InternalMessageInfo 885 886func (m *EntityAnnotation) GetMid() string { 887 if m != nil { 888 return m.Mid 889 } 890 return "" 891} 892 893func (m *EntityAnnotation) GetLocale() string { 894 if m != nil { 895 return m.Locale 896 } 897 return "" 898} 899 900func (m *EntityAnnotation) GetDescription() string { 901 if m != nil { 902 return m.Description 903 } 904 return "" 905} 906 907func (m *EntityAnnotation) GetScore() float32 { 908 if m != nil { 909 return m.Score 910 } 911 return 0 912} 913 914func (m *EntityAnnotation) GetConfidence() float32 { 915 if m != nil { 916 return m.Confidence 917 } 918 return 0 919} 920 921func (m *EntityAnnotation) GetTopicality() float32 { 922 if m != nil { 923 return m.Topicality 924 } 925 return 0 926} 927 928func (m *EntityAnnotation) GetBoundingPoly() *BoundingPoly { 929 if m != nil { 930 return m.BoundingPoly 931 } 932 return nil 933} 934 935func (m *EntityAnnotation) GetLocations() []*LocationInfo { 936 if m != nil { 937 return m.Locations 938 } 939 return nil 940} 941 942func (m *EntityAnnotation) GetProperties() []*Property { 943 if m != nil { 944 return m.Properties 945 } 946 return nil 947} 948 949// Set of features pertaining to the image, computed by computer vision 950// methods over safe-search verticals (for example, adult, spoof, medical, 951// violence). 952type SafeSearchAnnotation struct { 953 // Represents the adult content likelihood for the image. Adult content may 954 // contain elements such as nudity, pornographic images or cartoons, or 955 // sexual activities. 956 Adult Likelihood `protobuf:"varint,1,opt,name=adult,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"adult,omitempty"` 957 // Spoof likelihood. The likelihood that an modification 958 // was made to the image's canonical version to make it appear 959 // funny or offensive. 960 Spoof Likelihood `protobuf:"varint,2,opt,name=spoof,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"spoof,omitempty"` 961 // Likelihood that this is a medical image. 962 Medical Likelihood `protobuf:"varint,3,opt,name=medical,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"medical,omitempty"` 963 // Likelihood that this image contains violent content. 964 Violence Likelihood `protobuf:"varint,4,opt,name=violence,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"violence,omitempty"` 965 // Likelihood that the request image contains racy content. Racy content may 966 // include (but is not limited to) skimpy or sheer clothing, strategically 967 // covered nudity, lewd or provocative poses, or close-ups of sensitive 968 // body areas. 969 Racy Likelihood `protobuf:"varint,9,opt,name=racy,proto3,enum=google.cloud.vision.v1p1beta1.Likelihood" json:"racy,omitempty"` 970 XXX_NoUnkeyedLiteral struct{} `json:"-"` 971 XXX_unrecognized []byte `json:"-"` 972 XXX_sizecache int32 `json:"-"` 973} 974 975func (m *SafeSearchAnnotation) Reset() { *m = SafeSearchAnnotation{} } 976func (m *SafeSearchAnnotation) String() string { return proto.CompactTextString(m) } 977func (*SafeSearchAnnotation) ProtoMessage() {} 978func (*SafeSearchAnnotation) Descriptor() ([]byte, []int) { 979 return fileDescriptor_1f6928ee25f8ae1f, []int{7} 980} 981 982func (m *SafeSearchAnnotation) XXX_Unmarshal(b []byte) error { 983 return xxx_messageInfo_SafeSearchAnnotation.Unmarshal(m, b) 984} 985func (m *SafeSearchAnnotation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 986 return xxx_messageInfo_SafeSearchAnnotation.Marshal(b, m, deterministic) 987} 988func (m *SafeSearchAnnotation) XXX_Merge(src proto.Message) { 989 xxx_messageInfo_SafeSearchAnnotation.Merge(m, src) 990} 991func (m *SafeSearchAnnotation) XXX_Size() int { 992 return xxx_messageInfo_SafeSearchAnnotation.Size(m) 993} 994func (m *SafeSearchAnnotation) XXX_DiscardUnknown() { 995 xxx_messageInfo_SafeSearchAnnotation.DiscardUnknown(m) 996} 997 998var xxx_messageInfo_SafeSearchAnnotation proto.InternalMessageInfo 999 1000func (m *SafeSearchAnnotation) GetAdult() Likelihood { 1001 if m != nil { 1002 return m.Adult 1003 } 1004 return Likelihood_UNKNOWN 1005} 1006 1007func (m *SafeSearchAnnotation) GetSpoof() Likelihood { 1008 if m != nil { 1009 return m.Spoof 1010 } 1011 return Likelihood_UNKNOWN 1012} 1013 1014func (m *SafeSearchAnnotation) GetMedical() Likelihood { 1015 if m != nil { 1016 return m.Medical 1017 } 1018 return Likelihood_UNKNOWN 1019} 1020 1021func (m *SafeSearchAnnotation) GetViolence() Likelihood { 1022 if m != nil { 1023 return m.Violence 1024 } 1025 return Likelihood_UNKNOWN 1026} 1027 1028func (m *SafeSearchAnnotation) GetRacy() Likelihood { 1029 if m != nil { 1030 return m.Racy 1031 } 1032 return Likelihood_UNKNOWN 1033} 1034 1035// Rectangle determined by min and max `LatLng` pairs. 1036type LatLongRect struct { 1037 // Min lat/long pair. 1038 MinLatLng *latlng.LatLng `protobuf:"bytes,1,opt,name=min_lat_lng,json=minLatLng,proto3" json:"min_lat_lng,omitempty"` 1039 // Max lat/long pair. 1040 MaxLatLng *latlng.LatLng `protobuf:"bytes,2,opt,name=max_lat_lng,json=maxLatLng,proto3" json:"max_lat_lng,omitempty"` 1041 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1042 XXX_unrecognized []byte `json:"-"` 1043 XXX_sizecache int32 `json:"-"` 1044} 1045 1046func (m *LatLongRect) Reset() { *m = LatLongRect{} } 1047func (m *LatLongRect) String() string { return proto.CompactTextString(m) } 1048func (*LatLongRect) ProtoMessage() {} 1049func (*LatLongRect) Descriptor() ([]byte, []int) { 1050 return fileDescriptor_1f6928ee25f8ae1f, []int{8} 1051} 1052 1053func (m *LatLongRect) XXX_Unmarshal(b []byte) error { 1054 return xxx_messageInfo_LatLongRect.Unmarshal(m, b) 1055} 1056func (m *LatLongRect) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1057 return xxx_messageInfo_LatLongRect.Marshal(b, m, deterministic) 1058} 1059func (m *LatLongRect) XXX_Merge(src proto.Message) { 1060 xxx_messageInfo_LatLongRect.Merge(m, src) 1061} 1062func (m *LatLongRect) XXX_Size() int { 1063 return xxx_messageInfo_LatLongRect.Size(m) 1064} 1065func (m *LatLongRect) XXX_DiscardUnknown() { 1066 xxx_messageInfo_LatLongRect.DiscardUnknown(m) 1067} 1068 1069var xxx_messageInfo_LatLongRect proto.InternalMessageInfo 1070 1071func (m *LatLongRect) GetMinLatLng() *latlng.LatLng { 1072 if m != nil { 1073 return m.MinLatLng 1074 } 1075 return nil 1076} 1077 1078func (m *LatLongRect) GetMaxLatLng() *latlng.LatLng { 1079 if m != nil { 1080 return m.MaxLatLng 1081 } 1082 return nil 1083} 1084 1085// Color information consists of RGB channels, score, and the fraction of 1086// the image that the color occupies in the image. 1087type ColorInfo struct { 1088 // RGB components of the color. 1089 Color *color.Color `protobuf:"bytes,1,opt,name=color,proto3" json:"color,omitempty"` 1090 // Image-specific score for this color. Value in range [0, 1]. 1091 Score float32 `protobuf:"fixed32,2,opt,name=score,proto3" json:"score,omitempty"` 1092 // The fraction of pixels the color occupies in the image. 1093 // Value in range [0, 1]. 1094 PixelFraction float32 `protobuf:"fixed32,3,opt,name=pixel_fraction,json=pixelFraction,proto3" json:"pixel_fraction,omitempty"` 1095 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1096 XXX_unrecognized []byte `json:"-"` 1097 XXX_sizecache int32 `json:"-"` 1098} 1099 1100func (m *ColorInfo) Reset() { *m = ColorInfo{} } 1101func (m *ColorInfo) String() string { return proto.CompactTextString(m) } 1102func (*ColorInfo) ProtoMessage() {} 1103func (*ColorInfo) Descriptor() ([]byte, []int) { 1104 return fileDescriptor_1f6928ee25f8ae1f, []int{9} 1105} 1106 1107func (m *ColorInfo) XXX_Unmarshal(b []byte) error { 1108 return xxx_messageInfo_ColorInfo.Unmarshal(m, b) 1109} 1110func (m *ColorInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1111 return xxx_messageInfo_ColorInfo.Marshal(b, m, deterministic) 1112} 1113func (m *ColorInfo) XXX_Merge(src proto.Message) { 1114 xxx_messageInfo_ColorInfo.Merge(m, src) 1115} 1116func (m *ColorInfo) XXX_Size() int { 1117 return xxx_messageInfo_ColorInfo.Size(m) 1118} 1119func (m *ColorInfo) XXX_DiscardUnknown() { 1120 xxx_messageInfo_ColorInfo.DiscardUnknown(m) 1121} 1122 1123var xxx_messageInfo_ColorInfo proto.InternalMessageInfo 1124 1125func (m *ColorInfo) GetColor() *color.Color { 1126 if m != nil { 1127 return m.Color 1128 } 1129 return nil 1130} 1131 1132func (m *ColorInfo) GetScore() float32 { 1133 if m != nil { 1134 return m.Score 1135 } 1136 return 0 1137} 1138 1139func (m *ColorInfo) GetPixelFraction() float32 { 1140 if m != nil { 1141 return m.PixelFraction 1142 } 1143 return 0 1144} 1145 1146// Set of dominant colors and their corresponding scores. 1147type DominantColorsAnnotation struct { 1148 // RGB color values with their score and pixel fraction. 1149 Colors []*ColorInfo `protobuf:"bytes,1,rep,name=colors,proto3" json:"colors,omitempty"` 1150 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1151 XXX_unrecognized []byte `json:"-"` 1152 XXX_sizecache int32 `json:"-"` 1153} 1154 1155func (m *DominantColorsAnnotation) Reset() { *m = DominantColorsAnnotation{} } 1156func (m *DominantColorsAnnotation) String() string { return proto.CompactTextString(m) } 1157func (*DominantColorsAnnotation) ProtoMessage() {} 1158func (*DominantColorsAnnotation) Descriptor() ([]byte, []int) { 1159 return fileDescriptor_1f6928ee25f8ae1f, []int{10} 1160} 1161 1162func (m *DominantColorsAnnotation) XXX_Unmarshal(b []byte) error { 1163 return xxx_messageInfo_DominantColorsAnnotation.Unmarshal(m, b) 1164} 1165func (m *DominantColorsAnnotation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1166 return xxx_messageInfo_DominantColorsAnnotation.Marshal(b, m, deterministic) 1167} 1168func (m *DominantColorsAnnotation) XXX_Merge(src proto.Message) { 1169 xxx_messageInfo_DominantColorsAnnotation.Merge(m, src) 1170} 1171func (m *DominantColorsAnnotation) XXX_Size() int { 1172 return xxx_messageInfo_DominantColorsAnnotation.Size(m) 1173} 1174func (m *DominantColorsAnnotation) XXX_DiscardUnknown() { 1175 xxx_messageInfo_DominantColorsAnnotation.DiscardUnknown(m) 1176} 1177 1178var xxx_messageInfo_DominantColorsAnnotation proto.InternalMessageInfo 1179 1180func (m *DominantColorsAnnotation) GetColors() []*ColorInfo { 1181 if m != nil { 1182 return m.Colors 1183 } 1184 return nil 1185} 1186 1187// Stores image properties, such as dominant colors. 1188type ImageProperties struct { 1189 // If present, dominant colors completed successfully. 1190 DominantColors *DominantColorsAnnotation `protobuf:"bytes,1,opt,name=dominant_colors,json=dominantColors,proto3" json:"dominant_colors,omitempty"` 1191 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1192 XXX_unrecognized []byte `json:"-"` 1193 XXX_sizecache int32 `json:"-"` 1194} 1195 1196func (m *ImageProperties) Reset() { *m = ImageProperties{} } 1197func (m *ImageProperties) String() string { return proto.CompactTextString(m) } 1198func (*ImageProperties) ProtoMessage() {} 1199func (*ImageProperties) Descriptor() ([]byte, []int) { 1200 return fileDescriptor_1f6928ee25f8ae1f, []int{11} 1201} 1202 1203func (m *ImageProperties) XXX_Unmarshal(b []byte) error { 1204 return xxx_messageInfo_ImageProperties.Unmarshal(m, b) 1205} 1206func (m *ImageProperties) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1207 return xxx_messageInfo_ImageProperties.Marshal(b, m, deterministic) 1208} 1209func (m *ImageProperties) XXX_Merge(src proto.Message) { 1210 xxx_messageInfo_ImageProperties.Merge(m, src) 1211} 1212func (m *ImageProperties) XXX_Size() int { 1213 return xxx_messageInfo_ImageProperties.Size(m) 1214} 1215func (m *ImageProperties) XXX_DiscardUnknown() { 1216 xxx_messageInfo_ImageProperties.DiscardUnknown(m) 1217} 1218 1219var xxx_messageInfo_ImageProperties proto.InternalMessageInfo 1220 1221func (m *ImageProperties) GetDominantColors() *DominantColorsAnnotation { 1222 if m != nil { 1223 return m.DominantColors 1224 } 1225 return nil 1226} 1227 1228// Single crop hint that is used to generate a new crop when serving an image. 1229type CropHint struct { 1230 // The bounding polygon for the crop region. The coordinates of the bounding 1231 // box are in the original image's scale, as returned in `ImageParams`. 1232 BoundingPoly *BoundingPoly `protobuf:"bytes,1,opt,name=bounding_poly,json=boundingPoly,proto3" json:"bounding_poly,omitempty"` 1233 // Confidence of this being a salient region. Range [0, 1]. 1234 Confidence float32 `protobuf:"fixed32,2,opt,name=confidence,proto3" json:"confidence,omitempty"` 1235 // Fraction of importance of this salient region with respect to the original 1236 // image. 1237 ImportanceFraction float32 `protobuf:"fixed32,3,opt,name=importance_fraction,json=importanceFraction,proto3" json:"importance_fraction,omitempty"` 1238 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1239 XXX_unrecognized []byte `json:"-"` 1240 XXX_sizecache int32 `json:"-"` 1241} 1242 1243func (m *CropHint) Reset() { *m = CropHint{} } 1244func (m *CropHint) String() string { return proto.CompactTextString(m) } 1245func (*CropHint) ProtoMessage() {} 1246func (*CropHint) Descriptor() ([]byte, []int) { 1247 return fileDescriptor_1f6928ee25f8ae1f, []int{12} 1248} 1249 1250func (m *CropHint) XXX_Unmarshal(b []byte) error { 1251 return xxx_messageInfo_CropHint.Unmarshal(m, b) 1252} 1253func (m *CropHint) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1254 return xxx_messageInfo_CropHint.Marshal(b, m, deterministic) 1255} 1256func (m *CropHint) XXX_Merge(src proto.Message) { 1257 xxx_messageInfo_CropHint.Merge(m, src) 1258} 1259func (m *CropHint) XXX_Size() int { 1260 return xxx_messageInfo_CropHint.Size(m) 1261} 1262func (m *CropHint) XXX_DiscardUnknown() { 1263 xxx_messageInfo_CropHint.DiscardUnknown(m) 1264} 1265 1266var xxx_messageInfo_CropHint proto.InternalMessageInfo 1267 1268func (m *CropHint) GetBoundingPoly() *BoundingPoly { 1269 if m != nil { 1270 return m.BoundingPoly 1271 } 1272 return nil 1273} 1274 1275func (m *CropHint) GetConfidence() float32 { 1276 if m != nil { 1277 return m.Confidence 1278 } 1279 return 0 1280} 1281 1282func (m *CropHint) GetImportanceFraction() float32 { 1283 if m != nil { 1284 return m.ImportanceFraction 1285 } 1286 return 0 1287} 1288 1289// Set of crop hints that are used to generate new crops when serving images. 1290type CropHintsAnnotation struct { 1291 // Crop hint results. 1292 CropHints []*CropHint `protobuf:"bytes,1,rep,name=crop_hints,json=cropHints,proto3" json:"crop_hints,omitempty"` 1293 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1294 XXX_unrecognized []byte `json:"-"` 1295 XXX_sizecache int32 `json:"-"` 1296} 1297 1298func (m *CropHintsAnnotation) Reset() { *m = CropHintsAnnotation{} } 1299func (m *CropHintsAnnotation) String() string { return proto.CompactTextString(m) } 1300func (*CropHintsAnnotation) ProtoMessage() {} 1301func (*CropHintsAnnotation) Descriptor() ([]byte, []int) { 1302 return fileDescriptor_1f6928ee25f8ae1f, []int{13} 1303} 1304 1305func (m *CropHintsAnnotation) XXX_Unmarshal(b []byte) error { 1306 return xxx_messageInfo_CropHintsAnnotation.Unmarshal(m, b) 1307} 1308func (m *CropHintsAnnotation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1309 return xxx_messageInfo_CropHintsAnnotation.Marshal(b, m, deterministic) 1310} 1311func (m *CropHintsAnnotation) XXX_Merge(src proto.Message) { 1312 xxx_messageInfo_CropHintsAnnotation.Merge(m, src) 1313} 1314func (m *CropHintsAnnotation) XXX_Size() int { 1315 return xxx_messageInfo_CropHintsAnnotation.Size(m) 1316} 1317func (m *CropHintsAnnotation) XXX_DiscardUnknown() { 1318 xxx_messageInfo_CropHintsAnnotation.DiscardUnknown(m) 1319} 1320 1321var xxx_messageInfo_CropHintsAnnotation proto.InternalMessageInfo 1322 1323func (m *CropHintsAnnotation) GetCropHints() []*CropHint { 1324 if m != nil { 1325 return m.CropHints 1326 } 1327 return nil 1328} 1329 1330// Parameters for crop hints annotation request. 1331type CropHintsParams struct { 1332 // Aspect ratios in floats, representing the ratio of the width to the height 1333 // of the image. For example, if the desired aspect ratio is 4/3, the 1334 // corresponding float value should be 1.33333. If not specified, the 1335 // best possible crop is returned. The number of provided aspect ratios is 1336 // limited to a maximum of 16; any aspect ratios provided after the 16th are 1337 // ignored. 1338 AspectRatios []float32 `protobuf:"fixed32,1,rep,packed,name=aspect_ratios,json=aspectRatios,proto3" json:"aspect_ratios,omitempty"` 1339 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1340 XXX_unrecognized []byte `json:"-"` 1341 XXX_sizecache int32 `json:"-"` 1342} 1343 1344func (m *CropHintsParams) Reset() { *m = CropHintsParams{} } 1345func (m *CropHintsParams) String() string { return proto.CompactTextString(m) } 1346func (*CropHintsParams) ProtoMessage() {} 1347func (*CropHintsParams) Descriptor() ([]byte, []int) { 1348 return fileDescriptor_1f6928ee25f8ae1f, []int{14} 1349} 1350 1351func (m *CropHintsParams) XXX_Unmarshal(b []byte) error { 1352 return xxx_messageInfo_CropHintsParams.Unmarshal(m, b) 1353} 1354func (m *CropHintsParams) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1355 return xxx_messageInfo_CropHintsParams.Marshal(b, m, deterministic) 1356} 1357func (m *CropHintsParams) XXX_Merge(src proto.Message) { 1358 xxx_messageInfo_CropHintsParams.Merge(m, src) 1359} 1360func (m *CropHintsParams) XXX_Size() int { 1361 return xxx_messageInfo_CropHintsParams.Size(m) 1362} 1363func (m *CropHintsParams) XXX_DiscardUnknown() { 1364 xxx_messageInfo_CropHintsParams.DiscardUnknown(m) 1365} 1366 1367var xxx_messageInfo_CropHintsParams proto.InternalMessageInfo 1368 1369func (m *CropHintsParams) GetAspectRatios() []float32 { 1370 if m != nil { 1371 return m.AspectRatios 1372 } 1373 return nil 1374} 1375 1376// Parameters for web detection request. 1377type WebDetectionParams struct { 1378 // Whether to include results derived from the geo information in the image. 1379 IncludeGeoResults bool `protobuf:"varint,2,opt,name=include_geo_results,json=includeGeoResults,proto3" json:"include_geo_results,omitempty"` 1380 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1381 XXX_unrecognized []byte `json:"-"` 1382 XXX_sizecache int32 `json:"-"` 1383} 1384 1385func (m *WebDetectionParams) Reset() { *m = WebDetectionParams{} } 1386func (m *WebDetectionParams) String() string { return proto.CompactTextString(m) } 1387func (*WebDetectionParams) ProtoMessage() {} 1388func (*WebDetectionParams) Descriptor() ([]byte, []int) { 1389 return fileDescriptor_1f6928ee25f8ae1f, []int{15} 1390} 1391 1392func (m *WebDetectionParams) XXX_Unmarshal(b []byte) error { 1393 return xxx_messageInfo_WebDetectionParams.Unmarshal(m, b) 1394} 1395func (m *WebDetectionParams) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1396 return xxx_messageInfo_WebDetectionParams.Marshal(b, m, deterministic) 1397} 1398func (m *WebDetectionParams) XXX_Merge(src proto.Message) { 1399 xxx_messageInfo_WebDetectionParams.Merge(m, src) 1400} 1401func (m *WebDetectionParams) XXX_Size() int { 1402 return xxx_messageInfo_WebDetectionParams.Size(m) 1403} 1404func (m *WebDetectionParams) XXX_DiscardUnknown() { 1405 xxx_messageInfo_WebDetectionParams.DiscardUnknown(m) 1406} 1407 1408var xxx_messageInfo_WebDetectionParams proto.InternalMessageInfo 1409 1410func (m *WebDetectionParams) GetIncludeGeoResults() bool { 1411 if m != nil { 1412 return m.IncludeGeoResults 1413 } 1414 return false 1415} 1416 1417// Image context and/or feature-specific parameters. 1418type ImageContext struct { 1419 // lat/long rectangle that specifies the location of the image. 1420 LatLongRect *LatLongRect `protobuf:"bytes,1,opt,name=lat_long_rect,json=latLongRect,proto3" json:"lat_long_rect,omitempty"` 1421 // List of languages to use for TEXT_DETECTION. In most cases, an empty value 1422 // yields the best results since it enables automatic language detection. For 1423 // languages based on the Latin alphabet, setting `language_hints` is not 1424 // needed. In rare cases, when the language of the text in the image is known, 1425 // setting a hint will help get better results (although it will be a 1426 // significant hindrance if the hint is wrong). Text detection returns an 1427 // error if one or more of the specified languages is not one of the 1428 // [supported languages](/vision/docs/languages). 1429 LanguageHints []string `protobuf:"bytes,2,rep,name=language_hints,json=languageHints,proto3" json:"language_hints,omitempty"` 1430 // Parameters for crop hints annotation request. 1431 CropHintsParams *CropHintsParams `protobuf:"bytes,4,opt,name=crop_hints_params,json=cropHintsParams,proto3" json:"crop_hints_params,omitempty"` 1432 // Parameters for web detection. 1433 WebDetectionParams *WebDetectionParams `protobuf:"bytes,6,opt,name=web_detection_params,json=webDetectionParams,proto3" json:"web_detection_params,omitempty"` 1434 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1435 XXX_unrecognized []byte `json:"-"` 1436 XXX_sizecache int32 `json:"-"` 1437} 1438 1439func (m *ImageContext) Reset() { *m = ImageContext{} } 1440func (m *ImageContext) String() string { return proto.CompactTextString(m) } 1441func (*ImageContext) ProtoMessage() {} 1442func (*ImageContext) Descriptor() ([]byte, []int) { 1443 return fileDescriptor_1f6928ee25f8ae1f, []int{16} 1444} 1445 1446func (m *ImageContext) XXX_Unmarshal(b []byte) error { 1447 return xxx_messageInfo_ImageContext.Unmarshal(m, b) 1448} 1449func (m *ImageContext) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1450 return xxx_messageInfo_ImageContext.Marshal(b, m, deterministic) 1451} 1452func (m *ImageContext) XXX_Merge(src proto.Message) { 1453 xxx_messageInfo_ImageContext.Merge(m, src) 1454} 1455func (m *ImageContext) XXX_Size() int { 1456 return xxx_messageInfo_ImageContext.Size(m) 1457} 1458func (m *ImageContext) XXX_DiscardUnknown() { 1459 xxx_messageInfo_ImageContext.DiscardUnknown(m) 1460} 1461 1462var xxx_messageInfo_ImageContext proto.InternalMessageInfo 1463 1464func (m *ImageContext) GetLatLongRect() *LatLongRect { 1465 if m != nil { 1466 return m.LatLongRect 1467 } 1468 return nil 1469} 1470 1471func (m *ImageContext) GetLanguageHints() []string { 1472 if m != nil { 1473 return m.LanguageHints 1474 } 1475 return nil 1476} 1477 1478func (m *ImageContext) GetCropHintsParams() *CropHintsParams { 1479 if m != nil { 1480 return m.CropHintsParams 1481 } 1482 return nil 1483} 1484 1485func (m *ImageContext) GetWebDetectionParams() *WebDetectionParams { 1486 if m != nil { 1487 return m.WebDetectionParams 1488 } 1489 return nil 1490} 1491 1492// Request for performing Google Cloud Vision API tasks over a user-provided 1493// image, with user-requested features. 1494type AnnotateImageRequest struct { 1495 // The image to be processed. 1496 Image *Image `protobuf:"bytes,1,opt,name=image,proto3" json:"image,omitempty"` 1497 // Requested features. 1498 Features []*Feature `protobuf:"bytes,2,rep,name=features,proto3" json:"features,omitempty"` 1499 // Additional context that may accompany the image. 1500 ImageContext *ImageContext `protobuf:"bytes,3,opt,name=image_context,json=imageContext,proto3" json:"image_context,omitempty"` 1501 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1502 XXX_unrecognized []byte `json:"-"` 1503 XXX_sizecache int32 `json:"-"` 1504} 1505 1506func (m *AnnotateImageRequest) Reset() { *m = AnnotateImageRequest{} } 1507func (m *AnnotateImageRequest) String() string { return proto.CompactTextString(m) } 1508func (*AnnotateImageRequest) ProtoMessage() {} 1509func (*AnnotateImageRequest) Descriptor() ([]byte, []int) { 1510 return fileDescriptor_1f6928ee25f8ae1f, []int{17} 1511} 1512 1513func (m *AnnotateImageRequest) XXX_Unmarshal(b []byte) error { 1514 return xxx_messageInfo_AnnotateImageRequest.Unmarshal(m, b) 1515} 1516func (m *AnnotateImageRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1517 return xxx_messageInfo_AnnotateImageRequest.Marshal(b, m, deterministic) 1518} 1519func (m *AnnotateImageRequest) XXX_Merge(src proto.Message) { 1520 xxx_messageInfo_AnnotateImageRequest.Merge(m, src) 1521} 1522func (m *AnnotateImageRequest) XXX_Size() int { 1523 return xxx_messageInfo_AnnotateImageRequest.Size(m) 1524} 1525func (m *AnnotateImageRequest) XXX_DiscardUnknown() { 1526 xxx_messageInfo_AnnotateImageRequest.DiscardUnknown(m) 1527} 1528 1529var xxx_messageInfo_AnnotateImageRequest proto.InternalMessageInfo 1530 1531func (m *AnnotateImageRequest) GetImage() *Image { 1532 if m != nil { 1533 return m.Image 1534 } 1535 return nil 1536} 1537 1538func (m *AnnotateImageRequest) GetFeatures() []*Feature { 1539 if m != nil { 1540 return m.Features 1541 } 1542 return nil 1543} 1544 1545func (m *AnnotateImageRequest) GetImageContext() *ImageContext { 1546 if m != nil { 1547 return m.ImageContext 1548 } 1549 return nil 1550} 1551 1552// Response to an image annotation request. 1553type AnnotateImageResponse struct { 1554 // If present, face detection has completed successfully. 1555 FaceAnnotations []*FaceAnnotation `protobuf:"bytes,1,rep,name=face_annotations,json=faceAnnotations,proto3" json:"face_annotations,omitempty"` 1556 // If present, landmark detection has completed successfully. 1557 LandmarkAnnotations []*EntityAnnotation `protobuf:"bytes,2,rep,name=landmark_annotations,json=landmarkAnnotations,proto3" json:"landmark_annotations,omitempty"` 1558 // If present, logo detection has completed successfully. 1559 LogoAnnotations []*EntityAnnotation `protobuf:"bytes,3,rep,name=logo_annotations,json=logoAnnotations,proto3" json:"logo_annotations,omitempty"` 1560 // If present, label detection has completed successfully. 1561 LabelAnnotations []*EntityAnnotation `protobuf:"bytes,4,rep,name=label_annotations,json=labelAnnotations,proto3" json:"label_annotations,omitempty"` 1562 // If present, text (OCR) detection has completed successfully. 1563 TextAnnotations []*EntityAnnotation `protobuf:"bytes,5,rep,name=text_annotations,json=textAnnotations,proto3" json:"text_annotations,omitempty"` 1564 // If present, text (OCR) detection or document (OCR) text detection has 1565 // completed successfully. 1566 // This annotation provides the structural hierarchy for the OCR detected 1567 // text. 1568 FullTextAnnotation *TextAnnotation `protobuf:"bytes,12,opt,name=full_text_annotation,json=fullTextAnnotation,proto3" json:"full_text_annotation,omitempty"` 1569 // If present, safe-search annotation has completed successfully. 1570 SafeSearchAnnotation *SafeSearchAnnotation `protobuf:"bytes,6,opt,name=safe_search_annotation,json=safeSearchAnnotation,proto3" json:"safe_search_annotation,omitempty"` 1571 // If present, image properties were extracted successfully. 1572 ImagePropertiesAnnotation *ImageProperties `protobuf:"bytes,8,opt,name=image_properties_annotation,json=imagePropertiesAnnotation,proto3" json:"image_properties_annotation,omitempty"` 1573 // If present, crop hints have completed successfully. 1574 CropHintsAnnotation *CropHintsAnnotation `protobuf:"bytes,11,opt,name=crop_hints_annotation,json=cropHintsAnnotation,proto3" json:"crop_hints_annotation,omitempty"` 1575 // If present, web detection has completed successfully. 1576 WebDetection *WebDetection `protobuf:"bytes,13,opt,name=web_detection,json=webDetection,proto3" json:"web_detection,omitempty"` 1577 // If set, represents the error message for the operation. 1578 // Note that filled-in image annotations are guaranteed to be 1579 // correct, even when `error` is set. 1580 Error *status.Status `protobuf:"bytes,9,opt,name=error,proto3" json:"error,omitempty"` 1581 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1582 XXX_unrecognized []byte `json:"-"` 1583 XXX_sizecache int32 `json:"-"` 1584} 1585 1586func (m *AnnotateImageResponse) Reset() { *m = AnnotateImageResponse{} } 1587func (m *AnnotateImageResponse) String() string { return proto.CompactTextString(m) } 1588func (*AnnotateImageResponse) ProtoMessage() {} 1589func (*AnnotateImageResponse) Descriptor() ([]byte, []int) { 1590 return fileDescriptor_1f6928ee25f8ae1f, []int{18} 1591} 1592 1593func (m *AnnotateImageResponse) XXX_Unmarshal(b []byte) error { 1594 return xxx_messageInfo_AnnotateImageResponse.Unmarshal(m, b) 1595} 1596func (m *AnnotateImageResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1597 return xxx_messageInfo_AnnotateImageResponse.Marshal(b, m, deterministic) 1598} 1599func (m *AnnotateImageResponse) XXX_Merge(src proto.Message) { 1600 xxx_messageInfo_AnnotateImageResponse.Merge(m, src) 1601} 1602func (m *AnnotateImageResponse) XXX_Size() int { 1603 return xxx_messageInfo_AnnotateImageResponse.Size(m) 1604} 1605func (m *AnnotateImageResponse) XXX_DiscardUnknown() { 1606 xxx_messageInfo_AnnotateImageResponse.DiscardUnknown(m) 1607} 1608 1609var xxx_messageInfo_AnnotateImageResponse proto.InternalMessageInfo 1610 1611func (m *AnnotateImageResponse) GetFaceAnnotations() []*FaceAnnotation { 1612 if m != nil { 1613 return m.FaceAnnotations 1614 } 1615 return nil 1616} 1617 1618func (m *AnnotateImageResponse) GetLandmarkAnnotations() []*EntityAnnotation { 1619 if m != nil { 1620 return m.LandmarkAnnotations 1621 } 1622 return nil 1623} 1624 1625func (m *AnnotateImageResponse) GetLogoAnnotations() []*EntityAnnotation { 1626 if m != nil { 1627 return m.LogoAnnotations 1628 } 1629 return nil 1630} 1631 1632func (m *AnnotateImageResponse) GetLabelAnnotations() []*EntityAnnotation { 1633 if m != nil { 1634 return m.LabelAnnotations 1635 } 1636 return nil 1637} 1638 1639func (m *AnnotateImageResponse) GetTextAnnotations() []*EntityAnnotation { 1640 if m != nil { 1641 return m.TextAnnotations 1642 } 1643 return nil 1644} 1645 1646func (m *AnnotateImageResponse) GetFullTextAnnotation() *TextAnnotation { 1647 if m != nil { 1648 return m.FullTextAnnotation 1649 } 1650 return nil 1651} 1652 1653func (m *AnnotateImageResponse) GetSafeSearchAnnotation() *SafeSearchAnnotation { 1654 if m != nil { 1655 return m.SafeSearchAnnotation 1656 } 1657 return nil 1658} 1659 1660func (m *AnnotateImageResponse) GetImagePropertiesAnnotation() *ImageProperties { 1661 if m != nil { 1662 return m.ImagePropertiesAnnotation 1663 } 1664 return nil 1665} 1666 1667func (m *AnnotateImageResponse) GetCropHintsAnnotation() *CropHintsAnnotation { 1668 if m != nil { 1669 return m.CropHintsAnnotation 1670 } 1671 return nil 1672} 1673 1674func (m *AnnotateImageResponse) GetWebDetection() *WebDetection { 1675 if m != nil { 1676 return m.WebDetection 1677 } 1678 return nil 1679} 1680 1681func (m *AnnotateImageResponse) GetError() *status.Status { 1682 if m != nil { 1683 return m.Error 1684 } 1685 return nil 1686} 1687 1688// Multiple image annotation requests are batched into a single service call. 1689type BatchAnnotateImagesRequest struct { 1690 // Individual image annotation requests for this batch. 1691 Requests []*AnnotateImageRequest `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"` 1692 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1693 XXX_unrecognized []byte `json:"-"` 1694 XXX_sizecache int32 `json:"-"` 1695} 1696 1697func (m *BatchAnnotateImagesRequest) Reset() { *m = BatchAnnotateImagesRequest{} } 1698func (m *BatchAnnotateImagesRequest) String() string { return proto.CompactTextString(m) } 1699func (*BatchAnnotateImagesRequest) ProtoMessage() {} 1700func (*BatchAnnotateImagesRequest) Descriptor() ([]byte, []int) { 1701 return fileDescriptor_1f6928ee25f8ae1f, []int{19} 1702} 1703 1704func (m *BatchAnnotateImagesRequest) XXX_Unmarshal(b []byte) error { 1705 return xxx_messageInfo_BatchAnnotateImagesRequest.Unmarshal(m, b) 1706} 1707func (m *BatchAnnotateImagesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1708 return xxx_messageInfo_BatchAnnotateImagesRequest.Marshal(b, m, deterministic) 1709} 1710func (m *BatchAnnotateImagesRequest) XXX_Merge(src proto.Message) { 1711 xxx_messageInfo_BatchAnnotateImagesRequest.Merge(m, src) 1712} 1713func (m *BatchAnnotateImagesRequest) XXX_Size() int { 1714 return xxx_messageInfo_BatchAnnotateImagesRequest.Size(m) 1715} 1716func (m *BatchAnnotateImagesRequest) XXX_DiscardUnknown() { 1717 xxx_messageInfo_BatchAnnotateImagesRequest.DiscardUnknown(m) 1718} 1719 1720var xxx_messageInfo_BatchAnnotateImagesRequest proto.InternalMessageInfo 1721 1722func (m *BatchAnnotateImagesRequest) GetRequests() []*AnnotateImageRequest { 1723 if m != nil { 1724 return m.Requests 1725 } 1726 return nil 1727} 1728 1729// Response to a batch image annotation request. 1730type BatchAnnotateImagesResponse struct { 1731 // Individual responses to image annotation requests within the batch. 1732 Responses []*AnnotateImageResponse `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"` 1733 XXX_NoUnkeyedLiteral struct{} `json:"-"` 1734 XXX_unrecognized []byte `json:"-"` 1735 XXX_sizecache int32 `json:"-"` 1736} 1737 1738func (m *BatchAnnotateImagesResponse) Reset() { *m = BatchAnnotateImagesResponse{} } 1739func (m *BatchAnnotateImagesResponse) String() string { return proto.CompactTextString(m) } 1740func (*BatchAnnotateImagesResponse) ProtoMessage() {} 1741func (*BatchAnnotateImagesResponse) Descriptor() ([]byte, []int) { 1742 return fileDescriptor_1f6928ee25f8ae1f, []int{20} 1743} 1744 1745func (m *BatchAnnotateImagesResponse) XXX_Unmarshal(b []byte) error { 1746 return xxx_messageInfo_BatchAnnotateImagesResponse.Unmarshal(m, b) 1747} 1748func (m *BatchAnnotateImagesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1749 return xxx_messageInfo_BatchAnnotateImagesResponse.Marshal(b, m, deterministic) 1750} 1751func (m *BatchAnnotateImagesResponse) XXX_Merge(src proto.Message) { 1752 xxx_messageInfo_BatchAnnotateImagesResponse.Merge(m, src) 1753} 1754func (m *BatchAnnotateImagesResponse) XXX_Size() int { 1755 return xxx_messageInfo_BatchAnnotateImagesResponse.Size(m) 1756} 1757func (m *BatchAnnotateImagesResponse) XXX_DiscardUnknown() { 1758 xxx_messageInfo_BatchAnnotateImagesResponse.DiscardUnknown(m) 1759} 1760 1761var xxx_messageInfo_BatchAnnotateImagesResponse proto.InternalMessageInfo 1762 1763func (m *BatchAnnotateImagesResponse) GetResponses() []*AnnotateImageResponse { 1764 if m != nil { 1765 return m.Responses 1766 } 1767 return nil 1768} 1769 1770func init() { 1771 proto.RegisterEnum("google.cloud.vision.v1p1beta1.Likelihood", Likelihood_name, Likelihood_value) 1772 proto.RegisterEnum("google.cloud.vision.v1p1beta1.Feature_Type", Feature_Type_name, Feature_Type_value) 1773 proto.RegisterEnum("google.cloud.vision.v1p1beta1.FaceAnnotation_Landmark_Type", FaceAnnotation_Landmark_Type_name, FaceAnnotation_Landmark_Type_value) 1774 proto.RegisterType((*Feature)(nil), "google.cloud.vision.v1p1beta1.Feature") 1775 proto.RegisterType((*ImageSource)(nil), "google.cloud.vision.v1p1beta1.ImageSource") 1776 proto.RegisterType((*Image)(nil), "google.cloud.vision.v1p1beta1.Image") 1777 proto.RegisterType((*FaceAnnotation)(nil), "google.cloud.vision.v1p1beta1.FaceAnnotation") 1778 proto.RegisterType((*FaceAnnotation_Landmark)(nil), "google.cloud.vision.v1p1beta1.FaceAnnotation.Landmark") 1779 proto.RegisterType((*LocationInfo)(nil), "google.cloud.vision.v1p1beta1.LocationInfo") 1780 proto.RegisterType((*Property)(nil), "google.cloud.vision.v1p1beta1.Property") 1781 proto.RegisterType((*EntityAnnotation)(nil), "google.cloud.vision.v1p1beta1.EntityAnnotation") 1782 proto.RegisterType((*SafeSearchAnnotation)(nil), "google.cloud.vision.v1p1beta1.SafeSearchAnnotation") 1783 proto.RegisterType((*LatLongRect)(nil), "google.cloud.vision.v1p1beta1.LatLongRect") 1784 proto.RegisterType((*ColorInfo)(nil), "google.cloud.vision.v1p1beta1.ColorInfo") 1785 proto.RegisterType((*DominantColorsAnnotation)(nil), "google.cloud.vision.v1p1beta1.DominantColorsAnnotation") 1786 proto.RegisterType((*ImageProperties)(nil), "google.cloud.vision.v1p1beta1.ImageProperties") 1787 proto.RegisterType((*CropHint)(nil), "google.cloud.vision.v1p1beta1.CropHint") 1788 proto.RegisterType((*CropHintsAnnotation)(nil), "google.cloud.vision.v1p1beta1.CropHintsAnnotation") 1789 proto.RegisterType((*CropHintsParams)(nil), "google.cloud.vision.v1p1beta1.CropHintsParams") 1790 proto.RegisterType((*WebDetectionParams)(nil), "google.cloud.vision.v1p1beta1.WebDetectionParams") 1791 proto.RegisterType((*ImageContext)(nil), "google.cloud.vision.v1p1beta1.ImageContext") 1792 proto.RegisterType((*AnnotateImageRequest)(nil), "google.cloud.vision.v1p1beta1.AnnotateImageRequest") 1793 proto.RegisterType((*AnnotateImageResponse)(nil), "google.cloud.vision.v1p1beta1.AnnotateImageResponse") 1794 proto.RegisterType((*BatchAnnotateImagesRequest)(nil), "google.cloud.vision.v1p1beta1.BatchAnnotateImagesRequest") 1795 proto.RegisterType((*BatchAnnotateImagesResponse)(nil), "google.cloud.vision.v1p1beta1.BatchAnnotateImagesResponse") 1796} 1797 1798func init() { 1799 proto.RegisterFile("google/cloud/vision/v1p1beta1/image_annotator.proto", fileDescriptor_1f6928ee25f8ae1f) 1800} 1801 1802var fileDescriptor_1f6928ee25f8ae1f = []byte{ 1803 // 2392 bytes of a gzipped FileDescriptorProto 1804 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x59, 0xcd, 0x72, 0xe3, 0xc6, 1805 0xf1, 0x37, 0xa9, 0x2f, 0xb2, 0x49, 0x91, 0xd0, 0x48, 0x2b, 0x73, 0xb5, 0xbb, 0x5e, 0x19, 0xff, 1806 0xbf, 0x13, 0xc5, 0x71, 0xa8, 0x5a, 0xad, 0xe3, 0x54, 0xd6, 0x49, 0x39, 0x24, 0x05, 0x49, 0x2c, 1807 0x73, 0x49, 0xd4, 0x90, 0xb2, 0xbc, 0x5b, 0x4e, 0x21, 0x10, 0x38, 0xe4, 0xc2, 0x06, 0x31, 0x30, 1808 0x00, 0xee, 0x4a, 0x57, 0x5f, 0x73, 0xcc, 0x2d, 0xf7, 0x1c, 0x73, 0x4a, 0x9e, 0xc1, 0x2f, 0x90, 1809 0x43, 0x1e, 0x20, 0x39, 0xe4, 0x09, 0x52, 0xa9, 0x9c, 0x52, 0xf3, 0x01, 0x70, 0xc0, 0xfd, 0xa0, 1810 0xb8, 0xa9, 0x9c, 0x88, 0xe9, 0x9e, 0xdf, 0xaf, 0x67, 0xba, 0xa7, 0x67, 0x7a, 0x86, 0xf0, 0x70, 1811 0x4c, 0xe9, 0xd8, 0x23, 0x87, 0x8e, 0x47, 0xa7, 0xc3, 0xc3, 0xe7, 0x6e, 0xe4, 0x52, 0xff, 0xf0, 1812 0xf9, 0x83, 0xe0, 0xc1, 0x25, 0x89, 0xed, 0x07, 0x87, 0xee, 0xc4, 0x1e, 0x13, 0xcb, 0xf6, 0x7d, 1813 0x1a, 0xdb, 0x31, 0x0d, 0xeb, 0x41, 0x48, 0x63, 0x8a, 0xee, 0x09, 0x50, 0x9d, 0x83, 0xea, 0x02, 1814 0x54, 0x4f, 0x41, 0x7b, 0x77, 0x25, 0xa7, 0x1d, 0xb8, 0x87, 0x12, 0xea, 0x52, 0x3f, 0x12, 0xe0, 1815 0xbd, 0x8f, 0xde, 0x6c, 0x71, 0x4c, 0xe8, 0x84, 0xc4, 0xe1, 0xb5, 0xec, 0xbd, 0x60, 0x7c, 0x31, 1816 0xb9, 0x8a, 0xad, 0x99, 0x0d, 0x09, 0x7a, 0xf0, 0x66, 0xd0, 0x0b, 0x72, 0x69, 0x0d, 0x49, 0x4c, 1817 0x1c, 0x05, 0xf2, 0xae, 0x84, 0x84, 0x81, 0x73, 0x18, 0xc5, 0x76, 0x3c, 0x8d, 0xe6, 0x14, 0xf1, 1818 0x75, 0x40, 0x0e, 0x1d, 0xea, 0x25, 0x4e, 0xd8, 0xab, 0xa9, 0x0a, 0xcf, 0x8e, 0x3d, 0x7f, 0x2c, 1819 0x34, 0xfa, 0xbf, 0xf3, 0xb0, 0x71, 0x42, 0xec, 0x78, 0x1a, 0x12, 0xf4, 0x19, 0xac, 0xb2, 0x0e, 1820 0xb5, 0xdc, 0x7e, 0xee, 0xa0, 0x72, 0xf4, 0xe3, 0xfa, 0x1b, 0x3d, 0x57, 0x97, 0xa8, 0xfa, 0xe0, 1821 0x3a, 0x20, 0x98, 0x03, 0xd1, 0x7d, 0x28, 0x4d, 0xec, 0x2b, 0x2b, 0x24, 0xd1, 0xd4, 0x8b, 0xa3, 1822 0x5a, 0x7e, 0x3f, 0x77, 0xb0, 0x86, 0x61, 0x62, 0x5f, 0x61, 0x21, 0x41, 0x3b, 0xb0, 0x36, 0xa1, 1823 0x43, 0xe2, 0xd5, 0x56, 0xf6, 0x73, 0x07, 0x45, 0x2c, 0x1a, 0xfa, 0x3f, 0x73, 0xb0, 0xca, 0x58, 1824 0xd0, 0x0e, 0x68, 0x83, 0x27, 0xa6, 0x61, 0x9d, 0x77, 0xfb, 0xa6, 0xd1, 0x6a, 0x9f, 0xb4, 0x8d, 1825 0x63, 0xed, 0x1d, 0x84, 0xa0, 0x72, 0xd2, 0x68, 0x19, 0xd6, 0xb1, 0x31, 0x30, 0x5a, 0x83, 0x76, 1826 0xaf, 0xab, 0xe5, 0xd0, 0x2e, 0xa0, 0x4e, 0xa3, 0x7b, 0xfc, 0xb8, 0x81, 0x3f, 0x57, 0xe4, 0x79, 1827 0xd6, 0xb7, 0xd3, 0x3b, 0xed, 0x29, 0xb2, 0x15, 0xb4, 0x0d, 0xd5, 0x4e, 0xa3, 0x69, 0x74, 0x14, 1828 0xe1, 0x2a, 0xeb, 0x38, 0x30, 0xbe, 0x1c, 0x28, 0xb2, 0x35, 0x74, 0x07, 0xde, 0x3d, 0xee, 0xb5, 1829 0xce, 0x1f, 0x1b, 0xdd, 0x81, 0x35, 0xa7, 0x2c, 0xa1, 0xdb, 0x70, 0xab, 0xdf, 0x38, 0x31, 0xac, 1830 0xbe, 0xd1, 0xc0, 0xad, 0x33, 0x45, 0xb5, 0xce, 0x86, 0xdd, 0x7e, 0xdc, 0x38, 0x35, 0x2c, 0x13, 1831 0xf7, 0x4c, 0x03, 0x0f, 0xda, 0x46, 0x5f, 0xdb, 0x40, 0x15, 0x80, 0x16, 0xee, 0x99, 0xd6, 0x59, 1832 0xbb, 0x3b, 0xe8, 0x6b, 0x45, 0xb4, 0x05, 0x9b, 0x17, 0x46, 0x53, 0x01, 0x82, 0xde, 0x85, 0x52, 1833 0x9b, 0x2d, 0xda, 0x3e, 0x9d, 0x86, 0x0e, 0x41, 0x3a, 0x6c, 0x8e, 0x9d, 0xc8, 0x12, 0xeb, 0x78, 1834 0x1a, 0xba, 0x3c, 0x10, 0x45, 0x5c, 0x1a, 0x3b, 0x11, 0xef, 0x76, 0x1e, 0xba, 0xe8, 0x0e, 0x14, 1835 0x67, 0xfa, 0x3c, 0xd7, 0x17, 0x5c, 0xa9, 0xd4, 0x09, 0xac, 0xf1, 0x8e, 0xa8, 0x06, 0x1b, 0x0e, 1836 0xf5, 0x63, 0xe2, 0xc7, 0x9c, 0xa3, 0x8c, 0x93, 0x26, 0x6a, 0xc2, 0x7a, 0xc4, 0xad, 0x71, 0x70, 1837 0xe9, 0xe8, 0xc3, 0x05, 0x51, 0x56, 0xc6, 0x87, 0x25, 0x52, 0xff, 0x83, 0x06, 0x95, 0x13, 0xdb, 1838 0x21, 0x8d, 0x74, 0x2d, 0x23, 0x13, 0x36, 0x2f, 0xe9, 0xd4, 0x1f, 0xba, 0xfe, 0xd8, 0x0a, 0xa8, 1839 0x77, 0xcd, 0xcd, 0x96, 0x16, 0xae, 0xa1, 0xa6, 0xc4, 0x98, 0xd4, 0xbb, 0xc6, 0xe5, 0x4b, 0xa5, 1840 0x85, 0xce, 0x41, 0x1b, 0x0d, 0xad, 0x2c, 0x69, 0x7e, 0x79, 0xd2, 0xca, 0x68, 0xa8, 0xb6, 0xd1, 1841 0x00, 0x8a, 0x9e, 0xed, 0x0f, 0x27, 0x76, 0xf8, 0x4d, 0x54, 0x5b, 0xd9, 0x5f, 0x39, 0x28, 0x1d, 1842 0x7d, 0xb2, 0x68, 0xa1, 0x67, 0xa6, 0x5a, 0xef, 0x48, 0x38, 0x9e, 0x11, 0xa1, 0x7b, 0x00, 0x21, 1843 0xf5, 0x3c, 0xcb, 0xf6, 0xc7, 0x1e, 0xa9, 0xad, 0xee, 0xe7, 0x0e, 0xf2, 0xb8, 0xc8, 0x24, 0x0d, 1844 0x26, 0x60, 0x41, 0x0b, 0x6c, 0x5f, 0x6a, 0xd7, 0xb8, 0xb6, 0x10, 0xd8, 0xbe, 0x50, 0xde, 0x03, 1845 0x88, 0x5d, 0x2f, 0x96, 0xda, 0x75, 0x81, 0x65, 0x12, 0xa1, 0x7e, 0x00, 0x3b, 0x69, 0xfe, 0x5b, 1846 0x0e, 0xf5, 0x47, 0xee, 0x90, 0xf8, 0x0e, 0xa9, 0x6d, 0xf0, 0x8e, 0xdb, 0xa9, 0xae, 0x95, 0xaa, 1847 0xd0, 0x4f, 0x61, 0x37, 0x19, 0x1a, 0x73, 0x9d, 0x02, 0x2a, 0x70, 0xd0, 0x2d, 0x45, 0xab, 0xc0, 1848 0x4c, 0xa8, 0x7c, 0x4d, 0xaf, 0x2d, 0xcf, 0xfd, 0x86, 0x78, 0xee, 0x33, 0x4a, 0x87, 0xb5, 0x22, 1849 0xdf, 0x08, 0x7e, 0xb4, 0xc0, 0x3f, 0x9d, 0x14, 0x80, 0x37, 0xbf, 0xa6, 0xd7, 0xb3, 0x26, 0xfa, 1850 0x02, 0xb6, 0x22, 0x1a, 0x86, 0xf4, 0x85, 0x4a, 0x0a, 0xcb, 0x92, 0x6a, 0x82, 0x43, 0xe1, 0x1d, 1851 0x80, 0x66, 0xfb, 0x63, 0x12, 0xaa, 0xb4, 0xa5, 0x65, 0x69, 0xab, 0x9c, 0x42, 0x61, 0x7d, 0x0a, 1852 0xdb, 0xd1, 0x34, 0x0c, 0x42, 0x37, 0x22, 0x2a, 0x71, 0x79, 0x59, 0x62, 0x94, 0xb0, 0x28, 0xdc, 1853 0x0e, 0xd4, 0xa6, 0xfe, 0x90, 0x84, 0x16, 0xb9, 0x0a, 0x68, 0x44, 0x86, 0xaa, 0x81, 0xcd, 0x65, 1854 0x0d, 0xec, 0x72, 0x2a, 0x43, 0x30, 0x29, 0x46, 0xbe, 0x04, 0x74, 0xe9, 0x4d, 0xc3, 0x30, 0x4b, 1855 0x5f, 0x59, 0x96, 0x7e, 0x4b, 0x92, 0x64, 0x5d, 0xf3, 0x8c, 0xd8, 0xc3, 0x17, 0xc4, 0xce, 0xf8, 1856 0xbc, 0xba, 0xb4, 0x6b, 0x12, 0x96, 0x99, 0x6c, 0xef, 0xaf, 0x1b, 0x50, 0x48, 0x72, 0x0a, 0xf5, 1857 0xe4, 0x11, 0xb4, 0xc2, 0x99, 0x3f, 0x7d, 0xbb, 0xcc, 0x54, 0x8f, 0xa4, 0x16, 0x14, 0x02, 0x1a, 1858 0xb9, 0x4c, 0xcf, 0xf3, 0xb2, 0x74, 0xf4, 0xc3, 0x05, 0xa4, 0xa6, 0xec, 0x8e, 0x53, 0xa0, 0xfe, 1859 0xe7, 0xf5, 0xd9, 0x01, 0x75, 0xde, 0xfd, 0xbc, 0xdb, 0xbb, 0xe8, 0x5a, 0xc9, 0xf1, 0xa3, 0xbd, 1860 0x83, 0xca, 0x50, 0xe8, 0x18, 0x27, 0x03, 0xcb, 0x78, 0x62, 0x68, 0x39, 0xb4, 0x09, 0x45, 0xdc, 1861 0x3e, 0x3d, 0x13, 0xcd, 0x3c, 0xaa, 0xc1, 0x0e, 0x57, 0xf6, 0x4e, 0xac, 0xa4, 0x53, 0x13, 0xf7, 1862 0x2e, 0xb4, 0x15, 0x76, 0xa2, 0x88, 0x8e, 0xf3, 0xaa, 0x55, 0xa6, 0x4a, 0x40, 0x29, 0x17, 0x57, 1863 0xad, 0xa1, 0x3d, 0xd8, 0x4d, 0x51, 0x59, 0xdd, 0x3a, 0x83, 0x3d, 0x6e, 0x1f, 0x9b, 0xbd, 0x76, 1864 0x77, 0x60, 0x35, 0x8d, 0xc1, 0x85, 0x61, 0x74, 0x99, 0x96, 0x9d, 0x46, 0x65, 0x28, 0x74, 0x7b, 1865 0x7d, 0xc3, 0x1a, 0xb4, 0x4d, 0xad, 0xc0, 0xc6, 0x78, 0x6e, 0x9a, 0x06, 0xb6, 0x3a, 0x6d, 0x53, 1866 0x2b, 0xb2, 0x66, 0xa7, 0x77, 0x21, 0x9b, 0xc0, 0x4e, 0xae, 0xc7, 0xbd, 0xf3, 0xc1, 0x19, 0x1f, 1867 0x95, 0x56, 0x42, 0x55, 0x28, 0x89, 0x36, 0xb7, 0xa7, 0x95, 0x91, 0x06, 0x65, 0x21, 0x68, 0x19, 1868 0xdd, 0x81, 0x81, 0xb5, 0x4d, 0x74, 0x0b, 0xb6, 0x38, 0x7d, 0xb3, 0x37, 0x18, 0xf4, 0x1e, 0xcb, 1869 0x8e, 0x15, 0xe6, 0x2f, 0x55, 0xcc, 0xf9, 0xaa, 0xec, 0xf0, 0x56, 0xa5, 0x92, 0x44, 0x4b, 0x67, 1870 0x6d, 0x3c, 0x31, 0xac, 0x41, 0xcf, 0xb4, 0x9a, 0xbd, 0xf3, 0xee, 0x71, 0x03, 0x3f, 0xd1, 0xb6, 1871 0x32, 0x2a, 0x31, 0xeb, 0x56, 0x0f, 0x77, 0x0d, 0xac, 0x21, 0x74, 0x17, 0x6a, 0xa9, 0x4a, 0x32, 1872 0xa6, 0xc0, 0xed, 0xd4, 0xfd, 0x4c, 0xcb, 0x3f, 0x24, 0x6e, 0x67, 0xe6, 0xc8, 0x97, 0xcc, 0xdd, 1873 0xca, 0xea, 0x32, 0xf6, 0x76, 0xd1, 0x3d, 0xb8, 0x3d, 0xd3, 0xcd, 0x1b, 0x7c, 0x77, 0x16, 0xd5, 1874 0x79, 0x8b, 0x35, 0x74, 0x1f, 0xee, 0xa8, 0x71, 0xb6, 0x44, 0x08, 0x92, 0x88, 0x69, 0xb7, 0xd1, 1875 0x3e, 0xdc, 0xcd, 0x84, 0x74, 0xbe, 0xc7, 0x1e, 0x73, 0xa8, 0xa0, 0x68, 0x60, 0x6b, 0x80, 0x1b, 1876 0xa7, 0xac, 0x8e, 0xb8, 0xc3, 0xbc, 0x2f, 0x71, 0x8a, 0xf8, 0x2e, 0x2f, 0x86, 0x92, 0xb9, 0x9b, 1877 0xe7, 0x66, 0xbb, 0xa3, 0xdd, 0x63, 0xc5, 0xd0, 0x6c, 0x78, 0x42, 0xf8, 0x1e, 0xc3, 0x9f, 0xf4, 1878 0xb0, 0x71, 0x66, 0x34, 0x8e, 0xad, 0x53, 0x5e, 0x2b, 0x75, 0x1a, 0xda, 0x7d, 0x56, 0xb1, 0xb4, 1879 0xce, 0xda, 0x5d, 0xeb, 0xb4, 0xdb, 0x18, 0x9c, 0x31, 0xca, 0x7d, 0x66, 0x9f, 0x8b, 0x38, 0xef, 1880 0x69, 0xaf, 0xcb, 0xa4, 0xef, 0x33, 0x3c, 0x97, 0x0a, 0x66, 0x29, 0xd6, 0xf5, 0x5f, 0x40, 0xb9, 1881 0x43, 0x1d, 0x9e, 0x9b, 0x6d, 0x7f, 0x44, 0xd1, 0x47, 0xb0, 0xe1, 0xd9, 0xb1, 0xe5, 0xf9, 0x63, 1882 0x59, 0x1e, 0x6c, 0x27, 0xa9, 0xc8, 0x52, 0xb5, 0xde, 0xb1, 0xe3, 0x8e, 0x3f, 0xc6, 0xeb, 0x1e, 1883 0xff, 0xd5, 0x2f, 0xa0, 0x60, 0x86, 0x34, 0x20, 0x61, 0x7c, 0x8d, 0x10, 0xac, 0xfa, 0xf6, 0x84, 1884 0xc8, 0x82, 0x88, 0x7f, 0xb3, 0x5a, 0xf2, 0xb9, 0xed, 0x4d, 0x89, 0xac, 0x82, 0x44, 0x03, 0xbd, 1885 0x0f, 0xe5, 0xa9, 0xeb, 0xc7, 0x9f, 0x7c, 0x6c, 0x09, 0x25, 0xdb, 0x48, 0x56, 0x71, 0x49, 0xc8, 1886 0xbe, 0x60, 0x22, 0xfd, 0xf7, 0x2b, 0xa0, 0x19, 0x7e, 0xec, 0xc6, 0xd7, 0x4a, 0x01, 0xa3, 0xc1, 1887 0xca, 0xc4, 0x1d, 0x4a, 0x03, 0xec, 0x13, 0xed, 0xc2, 0xba, 0x47, 0x1d, 0xdb, 0x4b, 0x0c, 0xc8, 1888 0x16, 0xda, 0x87, 0xd2, 0x90, 0x44, 0x4e, 0xe8, 0x06, 0x7c, 0x53, 0x11, 0x95, 0xac, 0x2a, 0x62, 1889 0x23, 0x8b, 0x1c, 0x1a, 0x26, 0x85, 0x80, 0x68, 0xa0, 0xf7, 0x00, 0x94, 0x93, 0x58, 0x54, 0x01, 1890 0x8a, 0x84, 0xe9, 0x63, 0x1a, 0xb8, 0x8e, 0xed, 0xb9, 0xf1, 0xb5, 0xac, 0x03, 0x14, 0xc9, 0xcb, 1891 0x25, 0xd6, 0xc6, 0x7f, 0x5b, 0x62, 0xb5, 0xa1, 0xe8, 0xc9, 0xf8, 0x44, 0xb5, 0x02, 0xaf, 0x85, 1892 0x16, 0xb1, 0xa9, 0xf1, 0xc4, 0x33, 0x34, 0x3a, 0x05, 0x08, 0x44, 0xb0, 0x5c, 0x12, 0xd5, 0x8a, 1893 0x9c, 0x6b, 0xe1, 0x46, 0x2b, 0xa3, 0x8b, 0x15, 0xa8, 0xfe, 0xb7, 0x3c, 0xec, 0xf4, 0xed, 0x11, 1894 0xe9, 0x13, 0x3b, 0x74, 0x9e, 0x29, 0x01, 0xfa, 0x0c, 0xd6, 0xec, 0xe1, 0xd4, 0x8b, 0xe5, 0xed, 1895 0x64, 0x89, 0x43, 0x47, 0xe0, 0x18, 0x41, 0x14, 0x50, 0x3a, 0xe2, 0xe1, 0x5c, 0x8e, 0x80, 0xe3, 1896 0x50, 0x0b, 0x36, 0x26, 0x64, 0xc8, 0xc2, 0x21, 0x8f, 0xa7, 0x25, 0x28, 0x12, 0x24, 0x32, 0xa0, 1897 0xf0, 0xdc, 0xa5, 0x1e, 0x5f, 0x03, 0xab, 0xcb, 0xb2, 0xa4, 0x50, 0xf4, 0x4b, 0x58, 0x0d, 0x6d, 1898 0xe7, 0x7a, 0xf9, 0x0a, 0x8d, 0xc3, 0xf4, 0x17, 0x50, 0x62, 0xd9, 0x46, 0xfd, 0x31, 0x26, 0x4e, 1899 0x8c, 0x1e, 0x42, 0x69, 0xe2, 0xfa, 0xd6, 0x0d, 0x92, 0xb3, 0x38, 0x71, 0x7d, 0xf1, 0xc9, 0x41, 1900 0xf6, 0x55, 0x0a, 0xca, 0xbf, 0x09, 0x64, 0x5f, 0x89, 0x4f, 0x3d, 0x84, 0x62, 0x8b, 0xdd, 0x4b, 1901 0xf9, 0x7e, 0x70, 0x00, 0x6b, 0xfc, 0x92, 0x2a, 0x0d, 0xa2, 0x0c, 0x96, 0x77, 0xc3, 0xa2, 0xc3, 1902 0x2c, 0xa3, 0xf2, 0x6a, 0x46, 0x7d, 0x00, 0x95, 0xc0, 0xbd, 0x22, 0x9e, 0x35, 0x0a, 0x6d, 0x27, 1903 0x4d, 0xc6, 0x3c, 0xde, 0xe4, 0xd2, 0x13, 0x29, 0xd4, 0xbf, 0x82, 0xda, 0x31, 0x9d, 0xb8, 0xbe, 1904 0xed, 0xc7, 0x9c, 0x34, 0x52, 0x56, 0xd5, 0xaf, 0x60, 0x9d, 0x5b, 0x88, 0x6a, 0x39, 0xbe, 0x66, 1905 0x0f, 0x16, 0x78, 0x32, 0x1d, 0x3c, 0x96, 0x38, 0x3d, 0x82, 0x2a, 0xbf, 0x23, 0x99, 0xe9, 0x1a, 1906 0x46, 0xbf, 0x81, 0xea, 0x50, 0x1a, 0xb4, 0x52, 0x76, 0x36, 0xc3, 0x9f, 0x2d, 0x60, 0x7f, 0xdd, 1907 0x30, 0x71, 0x65, 0x98, 0xd1, 0xe8, 0x7f, 0xcc, 0x41, 0xa1, 0x15, 0xd2, 0xe0, 0xcc, 0xf5, 0xe3, 1908 0xff, 0xc1, 0xdd, 0x2b, 0xbb, 0x55, 0xe5, 0x5f, 0xda, 0xaa, 0x0e, 0x61, 0xdb, 0x9d, 0x04, 0x34, 1909 0x8c, 0x6d, 0xdf, 0x21, 0xf3, 0xde, 0x47, 0x33, 0x55, 0x1a, 0x82, 0x5f, 0xc3, 0x76, 0x32, 0x5c, 1910 0xd5, 0xfb, 0x27, 0x00, 0x4e, 0x48, 0x03, 0xeb, 0x19, 0x93, 0xcb, 0x08, 0x2c, 0xda, 0x35, 0x12, 1911 0x1e, 0x5c, 0x74, 0x12, 0x46, 0xfd, 0x13, 0xa8, 0xa6, 0xf4, 0xa6, 0x1d, 0xda, 0x93, 0x08, 0xfd, 1912 0x1f, 0x6c, 0xda, 0x51, 0x40, 0x9c, 0xd8, 0x0a, 0x99, 0x2d, 0xc1, 0x9e, 0xc7, 0x65, 0x21, 0xc4, 1913 0x5c, 0xa6, 0x1f, 0x03, 0xba, 0x20, 0x97, 0xc7, 0xc9, 0x15, 0x4a, 0x42, 0xeb, 0xb0, 0xed, 0xfa, 1914 0x8e, 0x37, 0x1d, 0x12, 0x6b, 0x4c, 0x68, 0xe6, 0x35, 0xa3, 0x80, 0xb7, 0xa4, 0xea, 0x94, 0x50, 1915 0xf9, 0xa8, 0xa1, 0x7f, 0x9f, 0x87, 0x32, 0x5f, 0x02, 0x2d, 0x76, 0xc7, 0xbe, 0x8a, 0x51, 0x17, 1916 0x36, 0x79, 0x56, 0x50, 0x7f, 0x6c, 0x85, 0xc4, 0x89, 0x65, 0x40, 0x16, 0x5d, 0xb5, 0x95, 0x8c, 1917 0xc4, 0x25, 0x4f, 0x49, 0xcf, 0x0f, 0xa0, 0xe2, 0xd9, 0xfe, 0x78, 0xca, 0xae, 0xfd, 0xc2, 0x55, 1918 0xf9, 0xfd, 0x95, 0x83, 0x22, 0xde, 0x4c, 0xa4, 0x7c, 0xe2, 0xe8, 0x29, 0x6c, 0xcd, 0xbc, 0x69, 1919 0x05, 0x7c, 0x32, 0xb2, 0xe6, 0xad, 0xdf, 0xd0, 0xa9, 0xd2, 0x7b, 0xb8, 0xea, 0xcc, 0xb9, 0xd3, 1920 0x81, 0x9d, 0xcc, 0x4b, 0x54, 0x42, 0xbf, 0xce, 0xe9, 0x1f, 0x2c, 0xa0, 0x7f, 0xd9, 0xc9, 0x18, 1921 0xbd, 0x78, 0x49, 0xa6, 0xff, 0x23, 0x07, 0x3b, 0x72, 0x75, 0x10, 0xee, 0x50, 0x4c, 0xbe, 0x9d, 1922 0x92, 0x28, 0x46, 0x8f, 0x60, 0x8d, 0xbf, 0x71, 0x48, 0x47, 0xfe, 0xff, 0x4d, 0xde, 0x2c, 0xb0, 1923 0x80, 0xa0, 0x26, 0x14, 0x46, 0xe2, 0xa5, 0x4a, 0xb8, 0xad, 0x74, 0xf4, 0x83, 0x9b, 0x3d, 0x6c, 1924 0xe1, 0x14, 0xc7, 0x32, 0x4c, 0x3c, 0xba, 0x38, 0x22, 0xc2, 0x7c, 0xa5, 0x2f, 0xce, 0x30, 0x75, 1925 0x51, 0xe0, 0xb2, 0xab, 0xb4, 0xf4, 0xdf, 0x16, 0xe0, 0xd6, 0xdc, 0x54, 0xa3, 0x80, 0xfa, 0x11, 1926 0x41, 0x5f, 0x82, 0x36, 0xb2, 0x1d, 0xa2, 0x3c, 0x14, 0x26, 0x99, 0xf1, 0x93, 0xa5, 0x6e, 0x43, 1927 0xb8, 0x3a, 0xca, 0xb4, 0x23, 0x74, 0x09, 0x3b, 0xc9, 0xc5, 0x3f, 0xc3, 0x2e, 0xbc, 0x72, 0xb8, 1928 0x80, 0x7d, 0xbe, 0x62, 0xc2, 0xdb, 0x09, 0x99, 0x6a, 0xe3, 0x29, 0x68, 0x1e, 0x1d, 0xd3, 0x0c, 1929 0xff, 0xca, 0xdb, 0xf1, 0x57, 0x19, 0x91, 0xca, 0xfd, 0x15, 0x6c, 0x79, 0xf6, 0x25, 0xf1, 0x32, 1930 0xe4, 0xab, 0x6f, 0x47, 0xae, 0x71, 0xa6, 0xb9, 0x91, 0xcf, 0x3d, 0xd0, 0x46, 0xb5, 0xb5, 0xb7, 1931 0x1c, 0x39, 0x23, 0x52, 0xb9, 0x2d, 0xd8, 0x19, 0x4d, 0x3d, 0xcf, 0x9a, 0x33, 0xc0, 0x9f, 0x16, 1932 0x16, 0xc7, 0x75, 0x90, 0x61, 0xc3, 0x88, 0x51, 0x65, 0x65, 0xc8, 0x85, 0xdd, 0xc8, 0x1e, 0x11, 1933 0x2b, 0xe2, 0x55, 0x93, 0x6a, 0x42, 0x24, 0xe8, 0xc3, 0x05, 0x26, 0x5e, 0x55, 0x71, 0xe1, 0x9d, 1934 0xe8, 0x55, 0x75, 0x98, 0x0f, 0x77, 0x44, 0x2e, 0xcc, 0x8a, 0x36, 0xd5, 0x5e, 0xe1, 0x46, 0xfb, 1935 0xcd, 0xdc, 0x89, 0x89, 0x6f, 0xbb, 0x59, 0x81, 0x62, 0x6f, 0x04, 0xb7, 0x94, 0x5d, 0x4d, 0xb1, 1936 0x54, 0xe2, 0x96, 0x8e, 0x6e, 0xba, 0xb3, 0xa9, 0x2b, 0xd7, 0x79, 0xc5, 0x59, 0x64, 0xc2, 0x66, 1937 0x66, 0x87, 0xe3, 0xcf, 0x32, 0x8b, 0x73, 0x5c, 0xdd, 0xda, 0x70, 0x59, 0xdd, 0xd4, 0x58, 0x79, 1938 0x43, 0xc2, 0x90, 0x86, 0xbc, 0x48, 0x53, 0xca, 0x9b, 0x30, 0x70, 0xea, 0x7d, 0xfe, 0x6c, 0x8f, 1939 0x45, 0x07, 0x7d, 0x02, 0x7b, 0x4d, 0x3b, 0x4e, 0xdd, 0x2c, 0x76, 0x84, 0x28, 0xd9, 0xfd, 0x7a, 1940 0x50, 0x08, 0xc5, 0x67, 0xb2, 0x13, 0x2c, 0x0a, 0xe7, 0xab, 0x36, 0x51, 0x9c, 0x92, 0xe8, 0xdf, 1941 0xc2, 0x9d, 0x57, 0x9a, 0x93, 0x3b, 0x10, 0x86, 0x62, 0x28, 0xbf, 0x13, 0x83, 0x1f, 0x2f, 0x67, 1942 0x50, 0x80, 0xf1, 0x8c, 0xe6, 0x43, 0x02, 0xa0, 0x3c, 0x27, 0x95, 0x60, 0x43, 0x3e, 0xa3, 0x68, 1943 0xef, 0xb0, 0x5b, 0xe6, 0x17, 0x06, 0x7e, 0x62, 0x9d, 0x77, 0x3b, 0xed, 0xcf, 0x8d, 0xce, 0x13, 1944 0x2d, 0x87, 0xca, 0x50, 0x48, 0x5b, 0x79, 0xd6, 0x32, 0x7b, 0xfd, 0x7e, 0xbb, 0xd9, 0x31, 0xb4, 1945 0x15, 0x04, 0xb0, 0x2e, 0x35, 0xab, 0xa8, 0x0a, 0x25, 0x0e, 0x95, 0x82, 0xb5, 0xa3, 0xef, 0x73, 1946 0x50, 0xe1, 0x63, 0x68, 0x24, 0xff, 0x02, 0xa1, 0x3f, 0xe5, 0x60, 0xfb, 0x15, 0xb3, 0x45, 0x3f, 1947 0x5f, 0x54, 0x1e, 0xbd, 0x36, 0x20, 0x7b, 0x8f, 0xde, 0x06, 0x2a, 0x3c, 0xa1, 0x7f, 0xf0, 0xdd, 1948 0x5f, 0xfe, 0xfe, 0xbb, 0xfc, 0x7d, 0x7d, 0x6f, 0xfe, 0x8f, 0xab, 0xe8, 0x91, 0x5c, 0xdb, 0xe4, 1949 0x51, 0xee, 0xc3, 0xe6, 0x77, 0x39, 0x78, 0xdf, 0xa1, 0x93, 0x37, 0x1b, 0x6a, 0x6e, 0x67, 0xe7, 1950 0x6a, 0x86, 0x34, 0xa6, 0x66, 0xee, 0x69, 0x4b, 0xa2, 0xc6, 0x94, 0x15, 0x08, 0x75, 0x1a, 0x8e, 1951 0x0f, 0xc7, 0xc4, 0xe7, 0xff, 0xf7, 0x1c, 0x0a, 0x95, 0x1d, 0xb8, 0xd1, 0x6b, 0xfe, 0x71, 0xfa, 1952 0x54, 0x08, 0xfe, 0x95, 0xcb, 0x5d, 0xae, 0x73, 0xc8, 0xc3, 0xff, 0x04, 0x00, 0x00, 0xff, 0xff, 1953 0xb8, 0x10, 0xf5, 0x85, 0x78, 0x1b, 0x00, 0x00, 1954} 1955 1956// Reference imports to suppress errors if they are not otherwise used. 1957var _ context.Context 1958var _ grpc.ClientConn 1959 1960// This is a compile-time assertion to ensure that this generated file 1961// is compatible with the grpc package it is being compiled against. 1962const _ = grpc.SupportPackageIsVersion4 1963 1964// ImageAnnotatorClient is the client API for ImageAnnotator service. 1965// 1966// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. 1967type ImageAnnotatorClient interface { 1968 // Run image detection and annotation for a batch of images. 1969 BatchAnnotateImages(ctx context.Context, in *BatchAnnotateImagesRequest, opts ...grpc.CallOption) (*BatchAnnotateImagesResponse, error) 1970} 1971 1972type imageAnnotatorClient struct { 1973 cc *grpc.ClientConn 1974} 1975 1976func NewImageAnnotatorClient(cc *grpc.ClientConn) ImageAnnotatorClient { 1977 return &imageAnnotatorClient{cc} 1978} 1979 1980func (c *imageAnnotatorClient) BatchAnnotateImages(ctx context.Context, in *BatchAnnotateImagesRequest, opts ...grpc.CallOption) (*BatchAnnotateImagesResponse, error) { 1981 out := new(BatchAnnotateImagesResponse) 1982 err := c.cc.Invoke(ctx, "/google.cloud.vision.v1p1beta1.ImageAnnotator/BatchAnnotateImages", in, out, opts...) 1983 if err != nil { 1984 return nil, err 1985 } 1986 return out, nil 1987} 1988 1989// ImageAnnotatorServer is the server API for ImageAnnotator service. 1990type ImageAnnotatorServer interface { 1991 // Run image detection and annotation for a batch of images. 1992 BatchAnnotateImages(context.Context, *BatchAnnotateImagesRequest) (*BatchAnnotateImagesResponse, error) 1993} 1994 1995// UnimplementedImageAnnotatorServer can be embedded to have forward compatible implementations. 1996type UnimplementedImageAnnotatorServer struct { 1997} 1998 1999func (*UnimplementedImageAnnotatorServer) BatchAnnotateImages(ctx context.Context, req *BatchAnnotateImagesRequest) (*BatchAnnotateImagesResponse, error) { 2000 return nil, status1.Errorf(codes.Unimplemented, "method BatchAnnotateImages not implemented") 2001} 2002 2003func RegisterImageAnnotatorServer(s *grpc.Server, srv ImageAnnotatorServer) { 2004 s.RegisterService(&_ImageAnnotator_serviceDesc, srv) 2005} 2006 2007func _ImageAnnotator_BatchAnnotateImages_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 2008 in := new(BatchAnnotateImagesRequest) 2009 if err := dec(in); err != nil { 2010 return nil, err 2011 } 2012 if interceptor == nil { 2013 return srv.(ImageAnnotatorServer).BatchAnnotateImages(ctx, in) 2014 } 2015 info := &grpc.UnaryServerInfo{ 2016 Server: srv, 2017 FullMethod: "/google.cloud.vision.v1p1beta1.ImageAnnotator/BatchAnnotateImages", 2018 } 2019 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 2020 return srv.(ImageAnnotatorServer).BatchAnnotateImages(ctx, req.(*BatchAnnotateImagesRequest)) 2021 } 2022 return interceptor(ctx, in, info, handler) 2023} 2024 2025var _ImageAnnotator_serviceDesc = grpc.ServiceDesc{ 2026 ServiceName: "google.cloud.vision.v1p1beta1.ImageAnnotator", 2027 HandlerType: (*ImageAnnotatorServer)(nil), 2028 Methods: []grpc.MethodDesc{ 2029 { 2030 MethodName: "BatchAnnotateImages", 2031 Handler: _ImageAnnotator_BatchAnnotateImages_Handler, 2032 }, 2033 }, 2034 Streams: []grpc.StreamDesc{}, 2035 Metadata: "google/cloud/vision/v1p1beta1/image_annotator.proto", 2036} 2037