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