# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: google/cloud/vision_v1/proto/image_annotator.proto

import sys
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
from google.protobuf.internal import enum_type_wrapper
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
from google.protobuf import descriptor_pb2
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
from google.cloud.vision_v1.proto import geometry_pb2 as google_dot_cloud_dot_vision__v1_dot_proto_dot_geometry__pb2
from google.cloud.vision_v1.proto import text_annotation_pb2 as google_dot_cloud_dot_vision__v1_dot_proto_dot_text__annotation__pb2
from google.cloud.vision_v1.proto import web_detection_pb2 as google_dot_cloud_dot_vision__v1_dot_proto_dot_web__detection__pb2
from google.rpc import status_pb2 as google_dot_rpc_dot_status__pb2
from google.type import color_pb2 as google_dot_type_dot_color__pb2
from google.type import latlng_pb2 as google_dot_type_dot_latlng__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
  name='google/cloud/vision_v1/proto/image_annotator.proto',
  package='google.cloud.vision.v1',
  syntax='proto3',
  serialized_pb=_b('\n2google/cloud/vision_v1/proto/image_annotator.proto\x12\x16google.cloud.vision.v1\x1a\x1cgoogle/api/annotations.proto\x1a+google/cloud/vision_v1/proto/geometry.proto\x1a\x32google/cloud/vision_v1/proto/text_annotation.proto\x1a\x30google/cloud/vision_v1/proto/web_detection.proto\x1a\x17google/rpc/status.proto\x1a\x17google/type/color.proto\x1a\x18google/type/latlng.proto\"\xda\x02\n\x07\x46\x65\x61ture\x12\x32\n\x04type\x18\x01 \x01(\x0e\x32$.google.cloud.vision.v1.Feature.Type\x12\x13\n\x0bmax_results\x18\x02 \x01(\x05\x12\r\n\x05model\x18\x03 \x01(\t\"\xf6\x01\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\x12\n\x0e\x46\x41\x43\x45_DETECTION\x10\x01\x12\x16\n\x12LANDMARK_DETECTION\x10\x02\x12\x12\n\x0eLOGO_DETECTION\x10\x03\x12\x13\n\x0fLABEL_DETECTION\x10\x04\x12\x12\n\x0eTEXT_DETECTION\x10\x05\x12\x1b\n\x17\x44OCUMENT_TEXT_DETECTION\x10\x0b\x12\x19\n\x15SAFE_SEARCH_DETECTION\x10\x06\x12\x14\n\x10IMAGE_PROPERTIES\x10\x07\x12\x0e\n\nCROP_HINTS\x10\t\x12\x11\n\rWEB_DETECTION\x10\n\"7\n\x0bImageSource\x12\x15\n\rgcs_image_uri\x18\x01 \x01(\t\x12\x11\n\timage_uri\x18\x02 \x01(\t\"M\n\x05Image\x12\x0f\n\x07\x63ontent\x18\x01 \x01(\x0c\x12\x33\n\x06source\x18\x02 \x01(\x0b\x32#.google.cloud.vision.v1.ImageSource\"\xc7\r\n\x0e\x46\x61\x63\x65\x41nnotation\x12;\n\rbounding_poly\x18\x01 \x01(\x0b\x32$.google.cloud.vision.v1.BoundingPoly\x12>\n\x10\x66\x64_bounding_poly\x18\x02 \x01(\x0b\x32$.google.cloud.vision.v1.BoundingPoly\x12\x42\n\tlandmarks\x18\x03 \x03(\x0b\x32/.google.cloud.vision.v1.FaceAnnotation.Landmark\x12\x12\n\nroll_angle\x18\x04 \x01(\x02\x12\x11\n\tpan_angle\x18\x05 \x01(\x02\x12\x12\n\ntilt_angle\x18\x06 \x01(\x02\x12\x1c\n\x14\x64\x65tection_confidence\x18\x07 \x01(\x02\x12\x1e\n\x16landmarking_confidence\x18\x08 \x01(\x02\x12:\n\x0ejoy_likelihood\x18\t \x01(\x0e\x32\".google.cloud.vision.v1.Likelihood\x12=\n\x11sorrow_likelihood\x18\n \x01(\x0e\x32\".google.cloud.vision.v1.Likelihood\x12<\n\x10\x61nger_likelihood\x18\x0b \x01(\x0e\x32\".google.cloud.vision.v1.Likelihood\x12?\n\x13surprise_likelihood\x18\x0c \x01(\x0e\x32\".google.cloud.vision.v1.Likelihood\x12\x44\n\x18under_exposed_likelihood\x18\r \x01(\x0e\x32\".google.cloud.vision.v1.Likelihood\x12>\n\x12\x62lurred_likelihood\x18\x0e \x01(\x0e\x32\".google.cloud.vision.v1.Likelihood\x12?\n\x13headwear_likelihood\x18\x0f \x01(\x0e\x32\".google.cloud.vision.v1.Likelihood\x1a\xb9\x07\n\x08Landmark\x12\x42\n\x04type\x18\x03 \x01(\x0e\x32\x34.google.cloud.vision.v1.FaceAnnotation.Landmark.Type\x12\x32\n\x08position\x18\x04 \x01(\x0b\x32 .google.cloud.vision.v1.Position\"\xb4\x06\n\x04Type\x12\x14\n\x10UNKNOWN_LANDMARK\x10\x00\x12\x0c\n\x08LEFT_EYE\x10\x01\x12\r\n\tRIGHT_EYE\x10\x02\x12\x18\n\x14LEFT_OF_LEFT_EYEBROW\x10\x03\x12\x19\n\x15RIGHT_OF_LEFT_EYEBROW\x10\x04\x12\x19\n\x15LEFT_OF_RIGHT_EYEBROW\x10\x05\x12\x1a\n\x16RIGHT_OF_RIGHT_EYEBROW\x10\x06\x12\x19\n\x15MIDPOINT_BETWEEN_EYES\x10\x07\x12\x0c\n\x08NOSE_TIP\x10\x08\x12\r\n\tUPPER_LIP\x10\t\x12\r\n\tLOWER_LIP\x10\n\x12\x0e\n\nMOUTH_LEFT\x10\x0b\x12\x0f\n\x0bMOUTH_RIGHT\x10\x0c\x12\x10\n\x0cMOUTH_CENTER\x10\r\x12\x15\n\x11NOSE_BOTTOM_RIGHT\x10\x0e\x12\x14\n\x10NOSE_BOTTOM_LEFT\x10\x0f\x12\x16\n\x12NOSE_BOTTOM_CENTER\x10\x10\x12\x19\n\x15LEFT_EYE_TOP_BOUNDARY\x10\x11\x12\x19\n\x15LEFT_EYE_RIGHT_CORNER\x10\x12\x12\x1c\n\x18LEFT_EYE_BOTTOM_BOUNDARY\x10\x13\x12\x18\n\x14LEFT_EYE_LEFT_CORNER\x10\x14\x12\x1a\n\x16RIGHT_EYE_TOP_BOUNDARY\x10\x15\x12\x1a\n\x16RIGHT_EYE_RIGHT_CORNER\x10\x16\x12\x1d\n\x19RIGHT_EYE_BOTTOM_BOUNDARY\x10\x17\x12\x19\n\x15RIGHT_EYE_LEFT_CORNER\x10\x18\x12\x1f\n\x1bLEFT_EYEBROW_UPPER_MIDPOINT\x10\x19\x12 \n\x1cRIGHT_EYEBROW_UPPER_MIDPOINT\x10\x1a\x12\x14\n\x10LEFT_EAR_TRAGION\x10\x1b\x12\x15\n\x11RIGHT_EAR_TRAGION\x10\x1c\x12\x12\n\x0eLEFT_EYE_PUPIL\x10\x1d\x12\x13\n\x0fRIGHT_EYE_PUPIL\x10\x1e\x12\x15\n\x11\x46OREHEAD_GLABELLA\x10\x1f\x12\x11\n\rCHIN_GNATHION\x10 \x12\x14\n\x10\x43HIN_LEFT_GONION\x10!\x12\x15\n\x11\x43HIN_RIGHT_GONION\x10\"\"4\n\x0cLocationInfo\x12$\n\x07lat_lng\x18\x01 \x01(\x0b\x32\x13.google.type.LatLng\"=\n\x08Property\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\x12\x14\n\x0cuint64_value\x18\x03 \x01(\x04\"\xa7\x02\n\x10\x45ntityAnnotation\x12\x0b\n\x03mid\x18\x01 \x01(\t\x12\x0e\n\x06locale\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\r\n\x05score\x18\x04 \x01(\x02\x12\x12\n\nconfidence\x18\x05 \x01(\x02\x12\x12\n\ntopicality\x18\x06 \x01(\x02\x12;\n\rbounding_poly\x18\x07 \x01(\x0b\x32$.google.cloud.vision.v1.BoundingPoly\x12\x37\n\tlocations\x18\x08 \x03(\x0b\x32$.google.cloud.vision.v1.LocationInfo\x12\x34\n\nproperties\x18\t \x03(\x0b\x32 .google.cloud.vision.v1.Property\"\x99\x02\n\x14SafeSearchAnnotation\x12\x31\n\x05\x61\x64ult\x18\x01 \x01(\x0e\x32\".google.cloud.vision.v1.Likelihood\x12\x31\n\x05spoof\x18\x02 \x01(\x0e\x32\".google.cloud.vision.v1.Likelihood\x12\x33\n\x07medical\x18\x03 \x01(\x0e\x32\".google.cloud.vision.v1.Likelihood\x12\x34\n\x08violence\x18\x04 \x01(\x0e\x32\".google.cloud.vision.v1.Likelihood\x12\x30\n\x04racy\x18\t \x01(\x0e\x32\".google.cloud.vision.v1.Likelihood\"a\n\x0bLatLongRect\x12(\n\x0bmin_lat_lng\x18\x01 \x01(\x0b\x32\x13.google.type.LatLng\x12(\n\x0bmax_lat_lng\x18\x02 \x01(\x0b\x32\x13.google.type.LatLng\"U\n\tColorInfo\x12!\n\x05\x63olor\x18\x01 \x01(\x0b\x32\x12.google.type.Color\x12\r\n\x05score\x18\x02 \x01(\x02\x12\x16\n\x0epixel_fraction\x18\x03 \x01(\x02\"M\n\x18\x44ominantColorsAnnotation\x12\x31\n\x06\x63olors\x18\x01 \x03(\x0b\x32!.google.cloud.vision.v1.ColorInfo\"\\\n\x0fImageProperties\x12I\n\x0f\x64ominant_colors\x18\x01 \x01(\x0b\x32\x30.google.cloud.vision.v1.DominantColorsAnnotation\"x\n\x08\x43ropHint\x12;\n\rbounding_poly\x18\x01 \x01(\x0b\x32$.google.cloud.vision.v1.BoundingPoly\x12\x12\n\nconfidence\x18\x02 \x01(\x02\x12\x1b\n\x13importance_fraction\x18\x03 \x01(\x02\"K\n\x13\x43ropHintsAnnotation\x12\x34\n\ncrop_hints\x18\x01 \x03(\x0b\x32 .google.cloud.vision.v1.CropHint\"(\n\x0f\x43ropHintsParams\x12\x15\n\raspect_ratios\x18\x01 \x03(\x02\"1\n\x12WebDetectionParams\x12\x1b\n\x13include_geo_results\x18\x02 \x01(\x08\"\xf0\x01\n\x0cImageContext\x12:\n\rlat_long_rect\x18\x01 \x01(\x0b\x32#.google.cloud.vision.v1.LatLongRect\x12\x16\n\x0elanguage_hints\x18\x02 \x03(\t\x12\x42\n\x11\x63rop_hints_params\x18\x04 \x01(\x0b\x32\'.google.cloud.vision.v1.CropHintsParams\x12H\n\x14web_detection_params\x18\x06 \x01(\x0b\x32*.google.cloud.vision.v1.WebDetectionParams\"\xb4\x01\n\x14\x41nnotateImageRequest\x12,\n\x05image\x18\x01 \x01(\x0b\x32\x1d.google.cloud.vision.v1.Image\x12\x31\n\x08\x66\x65\x61tures\x18\x02 \x03(\x0b\x32\x1f.google.cloud.vision.v1.Feature\x12;\n\rimage_context\x18\x03 \x01(\x0b\x32$.google.cloud.vision.v1.ImageContext\"\xfc\x05\n\x15\x41nnotateImageResponse\x12@\n\x10\x66\x61\x63\x65_annotations\x18\x01 \x03(\x0b\x32&.google.cloud.vision.v1.FaceAnnotation\x12\x46\n\x14landmark_annotations\x18\x02 \x03(\x0b\x32(.google.cloud.vision.v1.EntityAnnotation\x12\x42\n\x10logo_annotations\x18\x03 \x03(\x0b\x32(.google.cloud.vision.v1.EntityAnnotation\x12\x43\n\x11label_annotations\x18\x04 \x03(\x0b\x32(.google.cloud.vision.v1.EntityAnnotation\x12\x42\n\x10text_annotations\x18\x05 \x03(\x0b\x32(.google.cloud.vision.v1.EntityAnnotation\x12\x44\n\x14\x66ull_text_annotation\x18\x0c \x01(\x0b\x32&.google.cloud.vision.v1.TextAnnotation\x12L\n\x16safe_search_annotation\x18\x06 \x01(\x0b\x32,.google.cloud.vision.v1.SafeSearchAnnotation\x12L\n\x1bimage_properties_annotation\x18\x08 \x01(\x0b\x32\'.google.cloud.vision.v1.ImageProperties\x12J\n\x15\x63rop_hints_annotation\x18\x0b \x01(\x0b\x32+.google.cloud.vision.v1.CropHintsAnnotation\x12;\n\rweb_detection\x18\r \x01(\x0b\x32$.google.cloud.vision.v1.WebDetection\x12!\n\x05\x65rror\x18\t \x01(\x0b\x32\x12.google.rpc.Status\"\\\n\x1a\x42\x61tchAnnotateImagesRequest\x12>\n\x08requests\x18\x01 \x03(\x0b\x32,.google.cloud.vision.v1.AnnotateImageRequest\"_\n\x1b\x42\x61tchAnnotateImagesResponse\x12@\n\tresponses\x18\x01 \x03(\x0b\x32-.google.cloud.vision.v1.AnnotateImageResponse*e\n\nLikelihood\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x11\n\rVERY_UNLIKELY\x10\x01\x12\x0c\n\x08UNLIKELY\x10\x02\x12\x0c\n\x08POSSIBLE\x10\x03\x12\n\n\x06LIKELY\x10\x04\x12\x0f\n\x0bVERY_LIKELY\x10\x05\x32\xb1\x01\n\x0eImageAnnotator\x12\x9e\x01\n\x13\x42\x61tchAnnotateImages\x12\x32.google.cloud.vision.v1.BatchAnnotateImagesRequest\x1a\x33.google.cloud.vision.v1.BatchAnnotateImagesResponse\"\x1e\x82\xd3\xe4\x93\x02\x18\"\x13/v1/images:annotate:\x01*Bt\n\x1a\x63om.google.cloud.vision.v1B\x13ImageAnnotatorProtoP\x01Z<google.golang.org/genproto/googleapis/cloud/vision/v1;vision\xf8\x01\x01\x62\x06proto3')
  ,
  dependencies=[google_dot_api_dot_annotations__pb2.DESCRIPTOR,google_dot_cloud_dot_vision__v1_dot_proto_dot_geometry__pb2.DESCRIPTOR,google_dot_cloud_dot_vision__v1_dot_proto_dot_text__annotation__pb2.DESCRIPTOR,google_dot_cloud_dot_vision__v1_dot_proto_dot_web__detection__pb2.DESCRIPTOR,google_dot_rpc_dot_status__pb2.DESCRIPTOR,google_dot_type_dot_color__pb2.DESCRIPTOR,google_dot_type_dot_latlng__pb2.DESCRIPTOR,])
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

_LIKELIHOOD = _descriptor.EnumDescriptor(
  name='Likelihood',
  full_name='google.cloud.vision.v1.Likelihood',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='UNKNOWN', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='VERY_UNLIKELY', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='UNLIKELY', index=2, number=2,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='POSSIBLE', index=3, number=3,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='LIKELY', index=4, number=4,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='VERY_LIKELY', index=5, number=5,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=5288,
  serialized_end=5389,
)
_sym_db.RegisterEnumDescriptor(_LIKELIHOOD)

Likelihood = enum_type_wrapper.EnumTypeWrapper(_LIKELIHOOD)
UNKNOWN = 0
VERY_UNLIKELY = 1
UNLIKELY = 2
POSSIBLE = 3
LIKELY = 4
VERY_LIKELY = 5


_FEATURE_TYPE = _descriptor.EnumDescriptor(
  name='Type',
  full_name='google.cloud.vision.v1.Feature.Type',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='TYPE_UNSPECIFIED', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='FACE_DETECTION', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='LANDMARK_DETECTION', index=2, number=2,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='LOGO_DETECTION', index=3, number=3,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='LABEL_DETECTION', index=4, number=4,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TEXT_DETECTION', index=5, number=5,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='DOCUMENT_TEXT_DETECTION', index=6, number=11,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SAFE_SEARCH_DETECTION', index=7, number=6,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='IMAGE_PROPERTIES', index=8, number=7,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CROP_HINTS', index=9, number=9,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='WEB_DETECTION', index=10, number=10,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=432,
  serialized_end=678,
)
_sym_db.RegisterEnumDescriptor(_FEATURE_TYPE)

_FACEANNOTATION_LANDMARK_TYPE = _descriptor.EnumDescriptor(
  name='Type',
  full_name='google.cloud.vision.v1.FaceAnnotation.Landmark.Type',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='UNKNOWN_LANDMARK', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='LEFT_EYE', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='RIGHT_EYE', index=2, number=2,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='LEFT_OF_LEFT_EYEBROW', index=3, number=3,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='RIGHT_OF_LEFT_EYEBROW', index=4, number=4,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='LEFT_OF_RIGHT_EYEBROW', index=5, number=5,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='RIGHT_OF_RIGHT_EYEBROW', index=6, number=6,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MIDPOINT_BETWEEN_EYES', index=7, number=7,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='NOSE_TIP', index=8, number=8,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='UPPER_LIP', index=9, number=9,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='LOWER_LIP', index=10, number=10,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MOUTH_LEFT', index=11, number=11,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MOUTH_RIGHT', index=12, number=12,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MOUTH_CENTER', index=13, number=13,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='NOSE_BOTTOM_RIGHT', index=14, number=14,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='NOSE_BOTTOM_LEFT', index=15, number=15,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='NOSE_BOTTOM_CENTER', index=16, number=16,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='LEFT_EYE_TOP_BOUNDARY', index=17, number=17,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='LEFT_EYE_RIGHT_CORNER', index=18, number=18,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='LEFT_EYE_BOTTOM_BOUNDARY', index=19, number=19,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='LEFT_EYE_LEFT_CORNER', index=20, number=20,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='RIGHT_EYE_TOP_BOUNDARY', index=21, number=21,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='RIGHT_EYE_RIGHT_CORNER', index=22, number=22,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='RIGHT_EYE_BOTTOM_BOUNDARY', index=23, number=23,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='RIGHT_EYE_LEFT_CORNER', index=24, number=24,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='LEFT_EYEBROW_UPPER_MIDPOINT', index=25, number=25,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='RIGHT_EYEBROW_UPPER_MIDPOINT', index=26, number=26,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='LEFT_EAR_TRAGION', index=27, number=27,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='RIGHT_EAR_TRAGION', index=28, number=28,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='LEFT_EYE_PUPIL', index=29, number=29,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='RIGHT_EYE_PUPIL', index=30, number=30,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='FOREHEAD_GLABELLA', index=31, number=31,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CHIN_GNATHION', index=32, number=32,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CHIN_LEFT_GONION', index=33, number=33,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CHIN_RIGHT_GONION', index=34, number=34,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=1732,
  serialized_end=2552,
)
_sym_db.RegisterEnumDescriptor(_FACEANNOTATION_LANDMARK_TYPE)


_FEATURE = _descriptor.Descriptor(
  name='Feature',
  full_name='google.cloud.vision.v1.Feature',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='type', full_name='google.cloud.vision.v1.Feature.type', index=0,
      number=1, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='max_results', full_name='google.cloud.vision.v1.Feature.max_results', index=1,
      number=2, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='model', full_name='google.cloud.vision.v1.Feature.model', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _FEATURE_TYPE,
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=332,
  serialized_end=678,
)


_IMAGESOURCE = _descriptor.Descriptor(
  name='ImageSource',
  full_name='google.cloud.vision.v1.ImageSource',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='gcs_image_uri', full_name='google.cloud.vision.v1.ImageSource.gcs_image_uri', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='image_uri', full_name='google.cloud.vision.v1.ImageSource.image_uri', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=680,
  serialized_end=735,
)


_IMAGE = _descriptor.Descriptor(
  name='Image',
  full_name='google.cloud.vision.v1.Image',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='content', full_name='google.cloud.vision.v1.Image.content', index=0,
      number=1, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='source', full_name='google.cloud.vision.v1.Image.source', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=737,
  serialized_end=814,
)


_FACEANNOTATION_LANDMARK = _descriptor.Descriptor(
  name='Landmark',
  full_name='google.cloud.vision.v1.FaceAnnotation.Landmark',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='type', full_name='google.cloud.vision.v1.FaceAnnotation.Landmark.type', index=0,
      number=3, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='position', full_name='google.cloud.vision.v1.FaceAnnotation.Landmark.position', index=1,
      number=4, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _FACEANNOTATION_LANDMARK_TYPE,
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1599,
  serialized_end=2552,
)

_FACEANNOTATION = _descriptor.Descriptor(
  name='FaceAnnotation',
  full_name='google.cloud.vision.v1.FaceAnnotation',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='bounding_poly', full_name='google.cloud.vision.v1.FaceAnnotation.bounding_poly', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='fd_bounding_poly', full_name='google.cloud.vision.v1.FaceAnnotation.fd_bounding_poly', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='landmarks', full_name='google.cloud.vision.v1.FaceAnnotation.landmarks', index=2,
      number=3, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='roll_angle', full_name='google.cloud.vision.v1.FaceAnnotation.roll_angle', index=3,
      number=4, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='pan_angle', full_name='google.cloud.vision.v1.FaceAnnotation.pan_angle', index=4,
      number=5, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='tilt_angle', full_name='google.cloud.vision.v1.FaceAnnotation.tilt_angle', index=5,
      number=6, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='detection_confidence', full_name='google.cloud.vision.v1.FaceAnnotation.detection_confidence', index=6,
      number=7, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='landmarking_confidence', full_name='google.cloud.vision.v1.FaceAnnotation.landmarking_confidence', index=7,
      number=8, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='joy_likelihood', full_name='google.cloud.vision.v1.FaceAnnotation.joy_likelihood', index=8,
      number=9, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='sorrow_likelihood', full_name='google.cloud.vision.v1.FaceAnnotation.sorrow_likelihood', index=9,
      number=10, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='anger_likelihood', full_name='google.cloud.vision.v1.FaceAnnotation.anger_likelihood', index=10,
      number=11, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='surprise_likelihood', full_name='google.cloud.vision.v1.FaceAnnotation.surprise_likelihood', index=11,
      number=12, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='under_exposed_likelihood', full_name='google.cloud.vision.v1.FaceAnnotation.under_exposed_likelihood', index=12,
      number=13, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='blurred_likelihood', full_name='google.cloud.vision.v1.FaceAnnotation.blurred_likelihood', index=13,
      number=14, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='headwear_likelihood', full_name='google.cloud.vision.v1.FaceAnnotation.headwear_likelihood', index=14,
      number=15, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[_FACEANNOTATION_LANDMARK, ],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=817,
  serialized_end=2552,
)


_LOCATIONINFO = _descriptor.Descriptor(
  name='LocationInfo',
  full_name='google.cloud.vision.v1.LocationInfo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='lat_lng', full_name='google.cloud.vision.v1.LocationInfo.lat_lng', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2554,
  serialized_end=2606,
)


_PROPERTY = _descriptor.Descriptor(
  name='Property',
  full_name='google.cloud.vision.v1.Property',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='name', full_name='google.cloud.vision.v1.Property.name', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='value', full_name='google.cloud.vision.v1.Property.value', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='uint64_value', full_name='google.cloud.vision.v1.Property.uint64_value', index=2,
      number=3, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2608,
  serialized_end=2669,
)


_ENTITYANNOTATION = _descriptor.Descriptor(
  name='EntityAnnotation',
  full_name='google.cloud.vision.v1.EntityAnnotation',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='mid', full_name='google.cloud.vision.v1.EntityAnnotation.mid', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='locale', full_name='google.cloud.vision.v1.EntityAnnotation.locale', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='description', full_name='google.cloud.vision.v1.EntityAnnotation.description', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='score', full_name='google.cloud.vision.v1.EntityAnnotation.score', index=3,
      number=4, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='confidence', full_name='google.cloud.vision.v1.EntityAnnotation.confidence', index=4,
      number=5, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='topicality', full_name='google.cloud.vision.v1.EntityAnnotation.topicality', index=5,
      number=6, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='bounding_poly', full_name='google.cloud.vision.v1.EntityAnnotation.bounding_poly', index=6,
      number=7, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='locations', full_name='google.cloud.vision.v1.EntityAnnotation.locations', index=7,
      number=8, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='properties', full_name='google.cloud.vision.v1.EntityAnnotation.properties', index=8,
      number=9, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2672,
  serialized_end=2967,
)


_SAFESEARCHANNOTATION = _descriptor.Descriptor(
  name='SafeSearchAnnotation',
  full_name='google.cloud.vision.v1.SafeSearchAnnotation',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='adult', full_name='google.cloud.vision.v1.SafeSearchAnnotation.adult', index=0,
      number=1, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='spoof', full_name='google.cloud.vision.v1.SafeSearchAnnotation.spoof', index=1,
      number=2, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='medical', full_name='google.cloud.vision.v1.SafeSearchAnnotation.medical', index=2,
      number=3, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='violence', full_name='google.cloud.vision.v1.SafeSearchAnnotation.violence', index=3,
      number=4, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='racy', full_name='google.cloud.vision.v1.SafeSearchAnnotation.racy', index=4,
      number=9, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2970,
  serialized_end=3251,
)


_LATLONGRECT = _descriptor.Descriptor(
  name='LatLongRect',
  full_name='google.cloud.vision.v1.LatLongRect',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='min_lat_lng', full_name='google.cloud.vision.v1.LatLongRect.min_lat_lng', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='max_lat_lng', full_name='google.cloud.vision.v1.LatLongRect.max_lat_lng', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3253,
  serialized_end=3350,
)


_COLORINFO = _descriptor.Descriptor(
  name='ColorInfo',
  full_name='google.cloud.vision.v1.ColorInfo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='color', full_name='google.cloud.vision.v1.ColorInfo.color', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='score', full_name='google.cloud.vision.v1.ColorInfo.score', index=1,
      number=2, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='pixel_fraction', full_name='google.cloud.vision.v1.ColorInfo.pixel_fraction', index=2,
      number=3, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3352,
  serialized_end=3437,
)


_DOMINANTCOLORSANNOTATION = _descriptor.Descriptor(
  name='DominantColorsAnnotation',
  full_name='google.cloud.vision.v1.DominantColorsAnnotation',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='colors', full_name='google.cloud.vision.v1.DominantColorsAnnotation.colors', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3439,
  serialized_end=3516,
)


_IMAGEPROPERTIES = _descriptor.Descriptor(
  name='ImageProperties',
  full_name='google.cloud.vision.v1.ImageProperties',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='dominant_colors', full_name='google.cloud.vision.v1.ImageProperties.dominant_colors', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3518,
  serialized_end=3610,
)


_CROPHINT = _descriptor.Descriptor(
  name='CropHint',
  full_name='google.cloud.vision.v1.CropHint',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='bounding_poly', full_name='google.cloud.vision.v1.CropHint.bounding_poly', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='confidence', full_name='google.cloud.vision.v1.CropHint.confidence', index=1,
      number=2, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='importance_fraction', full_name='google.cloud.vision.v1.CropHint.importance_fraction', index=2,
      number=3, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3612,
  serialized_end=3732,
)


_CROPHINTSANNOTATION = _descriptor.Descriptor(
  name='CropHintsAnnotation',
  full_name='google.cloud.vision.v1.CropHintsAnnotation',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='crop_hints', full_name='google.cloud.vision.v1.CropHintsAnnotation.crop_hints', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3734,
  serialized_end=3809,
)


_CROPHINTSPARAMS = _descriptor.Descriptor(
  name='CropHintsParams',
  full_name='google.cloud.vision.v1.CropHintsParams',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='aspect_ratios', full_name='google.cloud.vision.v1.CropHintsParams.aspect_ratios', index=0,
      number=1, type=2, cpp_type=6, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3811,
  serialized_end=3851,
)


_WEBDETECTIONPARAMS = _descriptor.Descriptor(
  name='WebDetectionParams',
  full_name='google.cloud.vision.v1.WebDetectionParams',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='include_geo_results', full_name='google.cloud.vision.v1.WebDetectionParams.include_geo_results', index=0,
      number=2, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3853,
  serialized_end=3902,
)


_IMAGECONTEXT = _descriptor.Descriptor(
  name='ImageContext',
  full_name='google.cloud.vision.v1.ImageContext',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='lat_long_rect', full_name='google.cloud.vision.v1.ImageContext.lat_long_rect', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='language_hints', full_name='google.cloud.vision.v1.ImageContext.language_hints', index=1,
      number=2, type=9, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='crop_hints_params', full_name='google.cloud.vision.v1.ImageContext.crop_hints_params', index=2,
      number=4, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='web_detection_params', full_name='google.cloud.vision.v1.ImageContext.web_detection_params', index=3,
      number=6, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3905,
  serialized_end=4145,
)


_ANNOTATEIMAGEREQUEST = _descriptor.Descriptor(
  name='AnnotateImageRequest',
  full_name='google.cloud.vision.v1.AnnotateImageRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='image', full_name='google.cloud.vision.v1.AnnotateImageRequest.image', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='features', full_name='google.cloud.vision.v1.AnnotateImageRequest.features', index=1,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='image_context', full_name='google.cloud.vision.v1.AnnotateImageRequest.image_context', index=2,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4148,
  serialized_end=4328,
)


_ANNOTATEIMAGERESPONSE = _descriptor.Descriptor(
  name='AnnotateImageResponse',
  full_name='google.cloud.vision.v1.AnnotateImageResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='face_annotations', full_name='google.cloud.vision.v1.AnnotateImageResponse.face_annotations', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='landmark_annotations', full_name='google.cloud.vision.v1.AnnotateImageResponse.landmark_annotations', index=1,
      number=2, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='logo_annotations', full_name='google.cloud.vision.v1.AnnotateImageResponse.logo_annotations', index=2,
      number=3, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='label_annotations', full_name='google.cloud.vision.v1.AnnotateImageResponse.label_annotations', index=3,
      number=4, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='text_annotations', full_name='google.cloud.vision.v1.AnnotateImageResponse.text_annotations', index=4,
      number=5, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='full_text_annotation', full_name='google.cloud.vision.v1.AnnotateImageResponse.full_text_annotation', index=5,
      number=12, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='safe_search_annotation', full_name='google.cloud.vision.v1.AnnotateImageResponse.safe_search_annotation', index=6,
      number=6, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='image_properties_annotation', full_name='google.cloud.vision.v1.AnnotateImageResponse.image_properties_annotation', index=7,
      number=8, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='crop_hints_annotation', full_name='google.cloud.vision.v1.AnnotateImageResponse.crop_hints_annotation', index=8,
      number=11, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='web_detection', full_name='google.cloud.vision.v1.AnnotateImageResponse.web_detection', index=9,
      number=13, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='error', full_name='google.cloud.vision.v1.AnnotateImageResponse.error', index=10,
      number=9, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4331,
  serialized_end=5095,
)


_BATCHANNOTATEIMAGESREQUEST = _descriptor.Descriptor(
  name='BatchAnnotateImagesRequest',
  full_name='google.cloud.vision.v1.BatchAnnotateImagesRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='requests', full_name='google.cloud.vision.v1.BatchAnnotateImagesRequest.requests', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5097,
  serialized_end=5189,
)


_BATCHANNOTATEIMAGESRESPONSE = _descriptor.Descriptor(
  name='BatchAnnotateImagesResponse',
  full_name='google.cloud.vision.v1.BatchAnnotateImagesResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='responses', full_name='google.cloud.vision.v1.BatchAnnotateImagesResponse.responses', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5191,
  serialized_end=5286,
)

_FEATURE.fields_by_name['type'].enum_type = _FEATURE_TYPE
_FEATURE_TYPE.containing_type = _FEATURE
_IMAGE.fields_by_name['source'].message_type = _IMAGESOURCE
_FACEANNOTATION_LANDMARK.fields_by_name['type'].enum_type = _FACEANNOTATION_LANDMARK_TYPE
_FACEANNOTATION_LANDMARK.fields_by_name['position'].message_type = google_dot_cloud_dot_vision__v1_dot_proto_dot_geometry__pb2._POSITION
_FACEANNOTATION_LANDMARK.containing_type = _FACEANNOTATION
_FACEANNOTATION_LANDMARK_TYPE.containing_type = _FACEANNOTATION_LANDMARK
_FACEANNOTATION.fields_by_name['bounding_poly'].message_type = google_dot_cloud_dot_vision__v1_dot_proto_dot_geometry__pb2._BOUNDINGPOLY
_FACEANNOTATION.fields_by_name['fd_bounding_poly'].message_type = google_dot_cloud_dot_vision__v1_dot_proto_dot_geometry__pb2._BOUNDINGPOLY
_FACEANNOTATION.fields_by_name['landmarks'].message_type = _FACEANNOTATION_LANDMARK
_FACEANNOTATION.fields_by_name['joy_likelihood'].enum_type = _LIKELIHOOD
_FACEANNOTATION.fields_by_name['sorrow_likelihood'].enum_type = _LIKELIHOOD
_FACEANNOTATION.fields_by_name['anger_likelihood'].enum_type = _LIKELIHOOD
_FACEANNOTATION.fields_by_name['surprise_likelihood'].enum_type = _LIKELIHOOD
_FACEANNOTATION.fields_by_name['under_exposed_likelihood'].enum_type = _LIKELIHOOD
_FACEANNOTATION.fields_by_name['blurred_likelihood'].enum_type = _LIKELIHOOD
_FACEANNOTATION.fields_by_name['headwear_likelihood'].enum_type = _LIKELIHOOD
_LOCATIONINFO.fields_by_name['lat_lng'].message_type = google_dot_type_dot_latlng__pb2._LATLNG
_ENTITYANNOTATION.fields_by_name['bounding_poly'].message_type = google_dot_cloud_dot_vision__v1_dot_proto_dot_geometry__pb2._BOUNDINGPOLY
_ENTITYANNOTATION.fields_by_name['locations'].message_type = _LOCATIONINFO
_ENTITYANNOTATION.fields_by_name['properties'].message_type = _PROPERTY
_SAFESEARCHANNOTATION.fields_by_name['adult'].enum_type = _LIKELIHOOD
_SAFESEARCHANNOTATION.fields_by_name['spoof'].enum_type = _LIKELIHOOD
_SAFESEARCHANNOTATION.fields_by_name['medical'].enum_type = _LIKELIHOOD
_SAFESEARCHANNOTATION.fields_by_name['violence'].enum_type = _LIKELIHOOD
_SAFESEARCHANNOTATION.fields_by_name['racy'].enum_type = _LIKELIHOOD
_LATLONGRECT.fields_by_name['min_lat_lng'].message_type = google_dot_type_dot_latlng__pb2._LATLNG
_LATLONGRECT.fields_by_name['max_lat_lng'].message_type = google_dot_type_dot_latlng__pb2._LATLNG
_COLORINFO.fields_by_name['color'].message_type = google_dot_type_dot_color__pb2._COLOR
_DOMINANTCOLORSANNOTATION.fields_by_name['colors'].message_type = _COLORINFO
_IMAGEPROPERTIES.fields_by_name['dominant_colors'].message_type = _DOMINANTCOLORSANNOTATION
_CROPHINT.fields_by_name['bounding_poly'].message_type = google_dot_cloud_dot_vision__v1_dot_proto_dot_geometry__pb2._BOUNDINGPOLY
_CROPHINTSANNOTATION.fields_by_name['crop_hints'].message_type = _CROPHINT
_IMAGECONTEXT.fields_by_name['lat_long_rect'].message_type = _LATLONGRECT
_IMAGECONTEXT.fields_by_name['crop_hints_params'].message_type = _CROPHINTSPARAMS
_IMAGECONTEXT.fields_by_name['web_detection_params'].message_type = _WEBDETECTIONPARAMS
_ANNOTATEIMAGEREQUEST.fields_by_name['image'].message_type = _IMAGE
_ANNOTATEIMAGEREQUEST.fields_by_name['features'].message_type = _FEATURE
_ANNOTATEIMAGEREQUEST.fields_by_name['image_context'].message_type = _IMAGECONTEXT
_ANNOTATEIMAGERESPONSE.fields_by_name['face_annotations'].message_type = _FACEANNOTATION
_ANNOTATEIMAGERESPONSE.fields_by_name['landmark_annotations'].message_type = _ENTITYANNOTATION
_ANNOTATEIMAGERESPONSE.fields_by_name['logo_annotations'].message_type = _ENTITYANNOTATION
_ANNOTATEIMAGERESPONSE.fields_by_name['label_annotations'].message_type = _ENTITYANNOTATION
_ANNOTATEIMAGERESPONSE.fields_by_name['text_annotations'].message_type = _ENTITYANNOTATION
_ANNOTATEIMAGERESPONSE.fields_by_name['full_text_annotation'].message_type = google_dot_cloud_dot_vision__v1_dot_proto_dot_text__annotation__pb2._TEXTANNOTATION
_ANNOTATEIMAGERESPONSE.fields_by_name['safe_search_annotation'].message_type = _SAFESEARCHANNOTATION
_ANNOTATEIMAGERESPONSE.fields_by_name['image_properties_annotation'].message_type = _IMAGEPROPERTIES
_ANNOTATEIMAGERESPONSE.fields_by_name['crop_hints_annotation'].message_type = _CROPHINTSANNOTATION
_ANNOTATEIMAGERESPONSE.fields_by_name['web_detection'].message_type = google_dot_cloud_dot_vision__v1_dot_proto_dot_web__detection__pb2._WEBDETECTION
_ANNOTATEIMAGERESPONSE.fields_by_name['error'].message_type = google_dot_rpc_dot_status__pb2._STATUS
_BATCHANNOTATEIMAGESREQUEST.fields_by_name['requests'].message_type = _ANNOTATEIMAGEREQUEST
_BATCHANNOTATEIMAGESRESPONSE.fields_by_name['responses'].message_type = _ANNOTATEIMAGERESPONSE
DESCRIPTOR.message_types_by_name['Feature'] = _FEATURE
DESCRIPTOR.message_types_by_name['ImageSource'] = _IMAGESOURCE
DESCRIPTOR.message_types_by_name['Image'] = _IMAGE
DESCRIPTOR.message_types_by_name['FaceAnnotation'] = _FACEANNOTATION
DESCRIPTOR.message_types_by_name['LocationInfo'] = _LOCATIONINFO
DESCRIPTOR.message_types_by_name['Property'] = _PROPERTY
DESCRIPTOR.message_types_by_name['EntityAnnotation'] = _ENTITYANNOTATION
DESCRIPTOR.message_types_by_name['SafeSearchAnnotation'] = _SAFESEARCHANNOTATION
DESCRIPTOR.message_types_by_name['LatLongRect'] = _LATLONGRECT
DESCRIPTOR.message_types_by_name['ColorInfo'] = _COLORINFO
DESCRIPTOR.message_types_by_name['DominantColorsAnnotation'] = _DOMINANTCOLORSANNOTATION
DESCRIPTOR.message_types_by_name['ImageProperties'] = _IMAGEPROPERTIES
DESCRIPTOR.message_types_by_name['CropHint'] = _CROPHINT
DESCRIPTOR.message_types_by_name['CropHintsAnnotation'] = _CROPHINTSANNOTATION
DESCRIPTOR.message_types_by_name['CropHintsParams'] = _CROPHINTSPARAMS
DESCRIPTOR.message_types_by_name['WebDetectionParams'] = _WEBDETECTIONPARAMS
DESCRIPTOR.message_types_by_name['ImageContext'] = _IMAGECONTEXT
DESCRIPTOR.message_types_by_name['AnnotateImageRequest'] = _ANNOTATEIMAGEREQUEST
DESCRIPTOR.message_types_by_name['AnnotateImageResponse'] = _ANNOTATEIMAGERESPONSE
DESCRIPTOR.message_types_by_name['BatchAnnotateImagesRequest'] = _BATCHANNOTATEIMAGESREQUEST
DESCRIPTOR.message_types_by_name['BatchAnnotateImagesResponse'] = _BATCHANNOTATEIMAGESRESPONSE
DESCRIPTOR.enum_types_by_name['Likelihood'] = _LIKELIHOOD

Feature = _reflection.GeneratedProtocolMessageType('Feature', (_message.Message,), dict(
  DESCRIPTOR = _FEATURE,
  __module__ = 'google.cloud.vision_v1.proto.image_annotator_pb2'
  ,
  __doc__ = """The type of Google Cloud Vision API detection to perform, and the
  maximum number of results to return for that type. Multiple ``Feature``
  objects can be specified in the ``features`` list.
  
  
  Attributes:
      type:
          The feature type.
      max_results:
          Maximum number of results of this type. Does not apply to
          ``TEXT_DETECTION``, ``DOCUMENT_TEXT_DETECTION``, or
          ``CROP_HINTS``.
      model:
          Model to use for the feature. Supported values:
          "builtin/stable" (the default if unset) and "builtin/latest".
  """,
  # @@protoc_insertion_point(class_scope:google.cloud.vision.v1.Feature)
  ))
_sym_db.RegisterMessage(Feature)

ImageSource = _reflection.GeneratedProtocolMessageType('ImageSource', (_message.Message,), dict(
  DESCRIPTOR = _IMAGESOURCE,
  __module__ = 'google.cloud.vision_v1.proto.image_annotator_pb2'
  ,
  __doc__ = """External image source (Google Cloud Storage or web URL image location).
  
  
  Attributes:
      gcs_image_uri:
          **Use ``image_uri`` instead.**  The Google Cloud Storage URI
          of the form ``gs://bucket_name/object_name``. Object
          versioning is not supported. See `Google Cloud Storage Request
          URIs <https://cloud.google.com/storage/docs/reference-uris>`__
          for more info.
      image_uri:
          The URI of the source image. Can be either:  1. A Google Cloud
          Storage URI of the form    ``gs://bucket_name/object_name``.
          Object versioning is not supported.    See `Google Cloud
          Storage Request    URIs
          <https://cloud.google.com/storage/docs/reference-uris>`__ for
          more info.  2. A publicly-accessible image HTTP/HTTPS URL.
          When fetching images from    HTTP/HTTPS URLs, Google cannot
          guarantee that the request will be    completed. Your request
          may fail if the specified host denies the    request (e.g. due
          to request throttling or DOS prevention), or if    Google
          throttles requests to the site for abuse prevention. You
          should not depend on externally-hosted images for production
          applications.  When both ``gcs_image_uri`` and ``image_uri``
          are specified, ``image_uri`` takes precedence.
  """,
  # @@protoc_insertion_point(class_scope:google.cloud.vision.v1.ImageSource)
  ))
_sym_db.RegisterMessage(ImageSource)

Image = _reflection.GeneratedProtocolMessageType('Image', (_message.Message,), dict(
  DESCRIPTOR = _IMAGE,
  __module__ = 'google.cloud.vision_v1.proto.image_annotator_pb2'
  ,
  __doc__ = """Client image to perform Google Cloud Vision API tasks over.
  
  
  Attributes:
      content:
          Image content, represented as a stream of bytes. Note: As with
          all ``bytes`` fields, protobuffers use a pure binary
          representation, whereas JSON representations use base64.
      source:
          Google Cloud Storage image location, or publicly-accessible
          image URL. If both ``content`` and ``source`` are provided for
          an image, ``content`` takes precedence and is used to perform
          the image annotation request.
  """,
  # @@protoc_insertion_point(class_scope:google.cloud.vision.v1.Image)
  ))
_sym_db.RegisterMessage(Image)

FaceAnnotation = _reflection.GeneratedProtocolMessageType('FaceAnnotation', (_message.Message,), dict(

  Landmark = _reflection.GeneratedProtocolMessageType('Landmark', (_message.Message,), dict(
    DESCRIPTOR = _FACEANNOTATION_LANDMARK,
    __module__ = 'google.cloud.vision_v1.proto.image_annotator_pb2'
    ,
    __doc__ = """A face-specific landmark (for example, a face feature).
    
    
    Attributes:
        type:
            Face landmark type.
        position:
            Face landmark position.
    """,
    # @@protoc_insertion_point(class_scope:google.cloud.vision.v1.FaceAnnotation.Landmark)
    ))
  ,
  DESCRIPTOR = _FACEANNOTATION,
  __module__ = 'google.cloud.vision_v1.proto.image_annotator_pb2'
  ,
  __doc__ = """A face annotation object contains the results of face detection.
  
  
  Attributes:
      bounding_poly:
          The bounding polygon around the face. The coordinates of the
          bounding box are in the original image's scale, as returned in
          ``ImageParams``. The bounding box is computed to "frame" the
          face in accordance with human expectations. It is based on the
          landmarker results. Note that one or more x and/or y
          coordinates may not be generated in the ``BoundingPoly`` (the
          polygon will be unbounded) if only a partial face appears in
          the image to be annotated.
      fd_bounding_poly:
          The ``fd_bounding_poly`` bounding polygon is tighter than the
          ``boundingPoly``, and encloses only the skin part of the face.
          Typically, it is used to eliminate the face from any image
          analysis that detects the "amount of skin" visible in an
          image. It is not based on the landmarker results, only on the
          initial face detection, hence the fd (face detection) prefix.
      landmarks:
          Detected face landmarks.
      roll_angle:
          Roll angle, which indicates the amount of clockwise/anti-
          clockwise rotation of the face relative to the image vertical
          about the axis perpendicular to the face. Range [-180,180].
      pan_angle:
          Yaw angle, which indicates the leftward/rightward angle that
          the face is pointing relative to the vertical plane
          perpendicular to the image. Range [-180,180].
      tilt_angle:
          Pitch angle, which indicates the upwards/downwards angle that
          the face is pointing relative to the image's horizontal plane.
          Range [-180,180].
      detection_confidence:
          Detection confidence. Range [0, 1].
      landmarking_confidence:
          Face landmarking confidence. Range [0, 1].
      joy_likelihood:
          Joy likelihood.
      sorrow_likelihood:
          Sorrow likelihood.
      anger_likelihood:
          Anger likelihood.
      surprise_likelihood:
          Surprise likelihood.
      under_exposed_likelihood:
          Under-exposed likelihood.
      blurred_likelihood:
          Blurred likelihood.
      headwear_likelihood:
          Headwear likelihood.
  """,
  # @@protoc_insertion_point(class_scope:google.cloud.vision.v1.FaceAnnotation)
  ))
_sym_db.RegisterMessage(FaceAnnotation)
_sym_db.RegisterMessage(FaceAnnotation.Landmark)

LocationInfo = _reflection.GeneratedProtocolMessageType('LocationInfo', (_message.Message,), dict(
  DESCRIPTOR = _LOCATIONINFO,
  __module__ = 'google.cloud.vision_v1.proto.image_annotator_pb2'
  ,
  __doc__ = """Detected entity location information.
  
  
  Attributes:
      lat_lng:
          lat/long location coordinates.
  """,
  # @@protoc_insertion_point(class_scope:google.cloud.vision.v1.LocationInfo)
  ))
_sym_db.RegisterMessage(LocationInfo)

Property = _reflection.GeneratedProtocolMessageType('Property', (_message.Message,), dict(
  DESCRIPTOR = _PROPERTY,
  __module__ = 'google.cloud.vision_v1.proto.image_annotator_pb2'
  ,
  __doc__ = """A ``Property`` consists of a user-supplied name/value pair.
  
  
  Attributes:
      name:
          Name of the property.
      value:
          Value of the property.
      uint64_value:
          Value of numeric properties.
  """,
  # @@protoc_insertion_point(class_scope:google.cloud.vision.v1.Property)
  ))
_sym_db.RegisterMessage(Property)

EntityAnnotation = _reflection.GeneratedProtocolMessageType('EntityAnnotation', (_message.Message,), dict(
  DESCRIPTOR = _ENTITYANNOTATION,
  __module__ = 'google.cloud.vision_v1.proto.image_annotator_pb2'
  ,
  __doc__ = """Set of detected entity features.
  
  
  Attributes:
      mid:
          Opaque entity ID. Some IDs may be available in `Google
          Knowledge Graph Search API
          <https://developers.google.com/knowledge-graph/>`__.
      locale:
          The language code for the locale in which the entity textual
          ``description`` is expressed.
      description:
          Entity textual description, expressed in its ``locale``
          language.
      score:
          Overall score of the result. Range [0, 1].
      confidence:
          **Deprecated. Use ``score`` instead.** The accuracy of the
          entity detection in an image. For example, for an image in
          which the "Eiffel Tower" entity is detected, this field
          represents the confidence that there is a tower in the query
          image. Range [0, 1].
      topicality:
          The relevancy of the ICA (Image Content Annotation) label to
          the image. For example, the relevancy of "tower" is likely
          higher to an image containing the detected "Eiffel Tower" than
          to an image containing a detected distant towering building,
          even though the confidence that there is a tower in each image
          may be the same. Range [0, 1].
      bounding_poly:
          Image region to which this entity belongs. Not produced for
          ``LABEL_DETECTION`` features.
      locations:
          The location information for the detected entity. Multiple
          ``LocationInfo`` elements can be present because one location
          may indicate the location of the scene in the image, and
          another location may indicate the location of the place where
          the image was taken. Location information is usually present
          for landmarks.
      properties:
          Some entities may have optional user-supplied ``Property``
          (name/value) fields, such a score or string that qualifies the
          entity.
  """,
  # @@protoc_insertion_point(class_scope:google.cloud.vision.v1.EntityAnnotation)
  ))
_sym_db.RegisterMessage(EntityAnnotation)

SafeSearchAnnotation = _reflection.GeneratedProtocolMessageType('SafeSearchAnnotation', (_message.Message,), dict(
  DESCRIPTOR = _SAFESEARCHANNOTATION,
  __module__ = 'google.cloud.vision_v1.proto.image_annotator_pb2'
  ,
  __doc__ = """Set of features pertaining to the image, computed by computer vision
  methods over safe-search verticals (for example, adult, spoof, medical,
  violence).
  
  
  Attributes:
      adult:
          Represents the adult content likelihood for the image. Adult
          content may contain elements such as nudity, pornographic
          images or cartoons, or sexual activities.
      spoof:
          Spoof likelihood. The likelihood that an modification was made
          to the image's canonical version to make it appear funny or
          offensive.
      medical:
          Likelihood that this is a medical image.
      violence:
          Likelihood that this image contains violent content.
      racy:
          Likelihood that the request image contains racy content. Racy
          content may include (but is not limited to) skimpy or sheer
          clothing, strategically covered nudity, lewd or provocative
          poses, or close-ups of sensitive body areas.
  """,
  # @@protoc_insertion_point(class_scope:google.cloud.vision.v1.SafeSearchAnnotation)
  ))
_sym_db.RegisterMessage(SafeSearchAnnotation)

LatLongRect = _reflection.GeneratedProtocolMessageType('LatLongRect', (_message.Message,), dict(
  DESCRIPTOR = _LATLONGRECT,
  __module__ = 'google.cloud.vision_v1.proto.image_annotator_pb2'
  ,
  __doc__ = """Rectangle determined by min and max ``LatLng`` pairs.
  
  
  Attributes:
      min_lat_lng:
          Min lat/long pair.
      max_lat_lng:
          Max lat/long pair.
  """,
  # @@protoc_insertion_point(class_scope:google.cloud.vision.v1.LatLongRect)
  ))
_sym_db.RegisterMessage(LatLongRect)

ColorInfo = _reflection.GeneratedProtocolMessageType('ColorInfo', (_message.Message,), dict(
  DESCRIPTOR = _COLORINFO,
  __module__ = 'google.cloud.vision_v1.proto.image_annotator_pb2'
  ,
  __doc__ = """Color information consists of RGB channels, score, and the fraction of
  the image that the color occupies in the image.
  
  
  Attributes:
      color:
          RGB components of the color.
      score:
          Image-specific score for this color. Value in range [0, 1].
      pixel_fraction:
          The fraction of pixels the color occupies in the image. Value
          in range [0, 1].
  """,
  # @@protoc_insertion_point(class_scope:google.cloud.vision.v1.ColorInfo)
  ))
_sym_db.RegisterMessage(ColorInfo)

DominantColorsAnnotation = _reflection.GeneratedProtocolMessageType('DominantColorsAnnotation', (_message.Message,), dict(
  DESCRIPTOR = _DOMINANTCOLORSANNOTATION,
  __module__ = 'google.cloud.vision_v1.proto.image_annotator_pb2'
  ,
  __doc__ = """Set of dominant colors and their corresponding scores.
  
  
  Attributes:
      colors:
          RGB color values with their score and pixel fraction.
  """,
  # @@protoc_insertion_point(class_scope:google.cloud.vision.v1.DominantColorsAnnotation)
  ))
_sym_db.RegisterMessage(DominantColorsAnnotation)

ImageProperties = _reflection.GeneratedProtocolMessageType('ImageProperties', (_message.Message,), dict(
  DESCRIPTOR = _IMAGEPROPERTIES,
  __module__ = 'google.cloud.vision_v1.proto.image_annotator_pb2'
  ,
  __doc__ = """Stores image properties, such as dominant colors.
  
  
  Attributes:
      dominant_colors:
          If present, dominant colors completed successfully.
  """,
  # @@protoc_insertion_point(class_scope:google.cloud.vision.v1.ImageProperties)
  ))
_sym_db.RegisterMessage(ImageProperties)

CropHint = _reflection.GeneratedProtocolMessageType('CropHint', (_message.Message,), dict(
  DESCRIPTOR = _CROPHINT,
  __module__ = 'google.cloud.vision_v1.proto.image_annotator_pb2'
  ,
  __doc__ = """Single crop hint that is used to generate a new crop when serving an
  image.
  
  
  Attributes:
      bounding_poly:
          The bounding polygon for the crop region. The coordinates of
          the bounding box are in the original image's scale, as
          returned in ``ImageParams``.
      confidence:
          Confidence of this being a salient region. Range [0, 1].
      importance_fraction:
          Fraction of importance of this salient region with respect to
          the original image.
  """,
  # @@protoc_insertion_point(class_scope:google.cloud.vision.v1.CropHint)
  ))
_sym_db.RegisterMessage(CropHint)

CropHintsAnnotation = _reflection.GeneratedProtocolMessageType('CropHintsAnnotation', (_message.Message,), dict(
  DESCRIPTOR = _CROPHINTSANNOTATION,
  __module__ = 'google.cloud.vision_v1.proto.image_annotator_pb2'
  ,
  __doc__ = """Set of crop hints that are used to generate new crops when serving
  images.
  
  
  Attributes:
      crop_hints:
          Crop hint results.
  """,
  # @@protoc_insertion_point(class_scope:google.cloud.vision.v1.CropHintsAnnotation)
  ))
_sym_db.RegisterMessage(CropHintsAnnotation)

CropHintsParams = _reflection.GeneratedProtocolMessageType('CropHintsParams', (_message.Message,), dict(
  DESCRIPTOR = _CROPHINTSPARAMS,
  __module__ = 'google.cloud.vision_v1.proto.image_annotator_pb2'
  ,
  __doc__ = """Parameters for crop hints annotation request.
  
  
  Attributes:
      aspect_ratios:
          Aspect ratios in floats, representing the ratio of the width
          to the height of the image. For example, if the desired aspect
          ratio is 4/3, the corresponding float value should be 1.33333.
          If not specified, the best possible crop is returned. The
          number of provided aspect ratios is limited to a maximum of
          16; any aspect ratios provided after the 16th are ignored.
  """,
  # @@protoc_insertion_point(class_scope:google.cloud.vision.v1.CropHintsParams)
  ))
_sym_db.RegisterMessage(CropHintsParams)

WebDetectionParams = _reflection.GeneratedProtocolMessageType('WebDetectionParams', (_message.Message,), dict(
  DESCRIPTOR = _WEBDETECTIONPARAMS,
  __module__ = 'google.cloud.vision_v1.proto.image_annotator_pb2'
  ,
  __doc__ = """Parameters for web detection request.
  
  
  Attributes:
      include_geo_results:
          Whether to include results derived from the geo information in
          the image.
  """,
  # @@protoc_insertion_point(class_scope:google.cloud.vision.v1.WebDetectionParams)
  ))
_sym_db.RegisterMessage(WebDetectionParams)

ImageContext = _reflection.GeneratedProtocolMessageType('ImageContext', (_message.Message,), dict(
  DESCRIPTOR = _IMAGECONTEXT,
  __module__ = 'google.cloud.vision_v1.proto.image_annotator_pb2'
  ,
  __doc__ = """Image context and/or feature-specific parameters.
  
  
  Attributes:
      lat_long_rect:
          lat/long rectangle that specifies the location of the image.
      language_hints:
          List of languages to use for TEXT\_DETECTION. In most cases,
          an empty value yields the best results since it enables
          automatic language detection. For languages based on the Latin
          alphabet, setting ``language_hints`` is not needed. In rare
          cases, when the language of the text in the image is known,
          setting a hint will help get better results (although it will
          be a significant hindrance if the hint is wrong). Text
          detection returns an error if one or more of the specified
          languages is not one of the `supported languages
          </vision/docs/languages>`__.
      crop_hints_params:
          Parameters for crop hints annotation request.
      web_detection_params:
          Parameters for web detection.
  """,
  # @@protoc_insertion_point(class_scope:google.cloud.vision.v1.ImageContext)
  ))
_sym_db.RegisterMessage(ImageContext)

AnnotateImageRequest = _reflection.GeneratedProtocolMessageType('AnnotateImageRequest', (_message.Message,), dict(
  DESCRIPTOR = _ANNOTATEIMAGEREQUEST,
  __module__ = 'google.cloud.vision_v1.proto.image_annotator_pb2'
  ,
  __doc__ = """Request for performing Google Cloud Vision API tasks over a
  user-provided image, with user-requested features.
  
  
  Attributes:
      image:
          The image to be processed.
      features:
          Requested features.
      image_context:
          Additional context that may accompany the image.
  """,
  # @@protoc_insertion_point(class_scope:google.cloud.vision.v1.AnnotateImageRequest)
  ))
_sym_db.RegisterMessage(AnnotateImageRequest)

AnnotateImageResponse = _reflection.GeneratedProtocolMessageType('AnnotateImageResponse', (_message.Message,), dict(
  DESCRIPTOR = _ANNOTATEIMAGERESPONSE,
  __module__ = 'google.cloud.vision_v1.proto.image_annotator_pb2'
  ,
  __doc__ = """Response to an image annotation request.
  
  
  Attributes:
      face_annotations:
          If present, face detection has completed successfully.
      landmark_annotations:
          If present, landmark detection has completed successfully.
      logo_annotations:
          If present, logo detection has completed successfully.
      label_annotations:
          If present, label detection has completed successfully.
      text_annotations:
          If present, text (OCR) detection has completed successfully.
      full_text_annotation:
          If present, text (OCR) detection or document (OCR) text
          detection has completed successfully. This annotation provides
          the structural hierarchy for the OCR detected text.
      safe_search_annotation:
          If present, safe-search annotation has completed successfully.
      image_properties_annotation:
          If present, image properties were extracted successfully.
      crop_hints_annotation:
          If present, crop hints have completed successfully.
      web_detection:
          If present, web detection has completed successfully.
      error:
          If set, represents the error message for the operation. Note
          that filled-in image annotations are guaranteed to be correct,
          even when ``error`` is set.
  """,
  # @@protoc_insertion_point(class_scope:google.cloud.vision.v1.AnnotateImageResponse)
  ))
_sym_db.RegisterMessage(AnnotateImageResponse)

BatchAnnotateImagesRequest = _reflection.GeneratedProtocolMessageType('BatchAnnotateImagesRequest', (_message.Message,), dict(
  DESCRIPTOR = _BATCHANNOTATEIMAGESREQUEST,
  __module__ = 'google.cloud.vision_v1.proto.image_annotator_pb2'
  ,
  __doc__ = """Multiple image annotation requests are batched into a single service
  call.
  
  
  Attributes:
      requests:
          Individual image annotation requests for this batch.
  """,
  # @@protoc_insertion_point(class_scope:google.cloud.vision.v1.BatchAnnotateImagesRequest)
  ))
_sym_db.RegisterMessage(BatchAnnotateImagesRequest)

BatchAnnotateImagesResponse = _reflection.GeneratedProtocolMessageType('BatchAnnotateImagesResponse', (_message.Message,), dict(
  DESCRIPTOR = _BATCHANNOTATEIMAGESRESPONSE,
  __module__ = 'google.cloud.vision_v1.proto.image_annotator_pb2'
  ,
  __doc__ = """Response to a batch image annotation request.
  
  
  Attributes:
      responses:
          Individual responses to image annotation requests within the
          batch.
  """,
  # @@protoc_insertion_point(class_scope:google.cloud.vision.v1.BatchAnnotateImagesResponse)
  ))
_sym_db.RegisterMessage(BatchAnnotateImagesResponse)


DESCRIPTOR.has_options = True
DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\032com.google.cloud.vision.v1B\023ImageAnnotatorProtoP\001Z<google.golang.org/genproto/googleapis/cloud/vision/v1;vision\370\001\001'))
try:
  # THESE ELEMENTS WILL BE DEPRECATED.
  # Please use the generated *_pb2_grpc.py files instead.
  import grpc
  from grpc.beta import implementations as beta_implementations
  from grpc.beta import interfaces as beta_interfaces
  from grpc.framework.common import cardinality
  from grpc.framework.interfaces.face import utilities as face_utilities


  class ImageAnnotatorStub(object):
    """Service that performs Google Cloud Vision API detection tasks over client
    images, such as face, landmark, logo, label, and text detection. The
    ImageAnnotator service returns detected entities from the images.
    """

    def __init__(self, channel):
      """Constructor.

      Args:
        channel: A grpc.Channel.
      """
      self.BatchAnnotateImages = channel.unary_unary(
          '/google.cloud.vision.v1.ImageAnnotator/BatchAnnotateImages',
          request_serializer=BatchAnnotateImagesRequest.SerializeToString,
          response_deserializer=BatchAnnotateImagesResponse.FromString,
          )


  class ImageAnnotatorServicer(object):
    """Service that performs Google Cloud Vision API detection tasks over client
    images, such as face, landmark, logo, label, and text detection. The
    ImageAnnotator service returns detected entities from the images.
    """

    def BatchAnnotateImages(self, request, context):
      """Run image detection and annotation for a batch of images.
      """
      context.set_code(grpc.StatusCode.UNIMPLEMENTED)
      context.set_details('Method not implemented!')
      raise NotImplementedError('Method not implemented!')


  def add_ImageAnnotatorServicer_to_server(servicer, server):
    rpc_method_handlers = {
        'BatchAnnotateImages': grpc.unary_unary_rpc_method_handler(
            servicer.BatchAnnotateImages,
            request_deserializer=BatchAnnotateImagesRequest.FromString,
            response_serializer=BatchAnnotateImagesResponse.SerializeToString,
        ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
        'google.cloud.vision.v1.ImageAnnotator', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


  class BetaImageAnnotatorServicer(object):
    """The Beta API is deprecated for 0.15.0 and later.

    It is recommended to use the GA API (classes and functions in this
    file not marked beta) for all further purposes. This class was generated
    only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0."""
    """Service that performs Google Cloud Vision API detection tasks over client
    images, such as face, landmark, logo, label, and text detection. The
    ImageAnnotator service returns detected entities from the images.
    """
    def BatchAnnotateImages(self, request, context):
      """Run image detection and annotation for a batch of images.
      """
      context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)


  class BetaImageAnnotatorStub(object):
    """The Beta API is deprecated for 0.15.0 and later.

    It is recommended to use the GA API (classes and functions in this
    file not marked beta) for all further purposes. This class was generated
    only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0."""
    """Service that performs Google Cloud Vision API detection tasks over client
    images, such as face, landmark, logo, label, and text detection. The
    ImageAnnotator service returns detected entities from the images.
    """
    def BatchAnnotateImages(self, request, timeout, metadata=None, with_call=False, protocol_options=None):
      """Run image detection and annotation for a batch of images.
      """
      raise NotImplementedError()
    BatchAnnotateImages.future = None


  def beta_create_ImageAnnotator_server(servicer, pool=None, pool_size=None, default_timeout=None, maximum_timeout=None):
    """The Beta API is deprecated for 0.15.0 and later.

    It is recommended to use the GA API (classes and functions in this
    file not marked beta) for all further purposes. This function was
    generated only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0"""
    request_deserializers = {
      ('google.cloud.vision.v1.ImageAnnotator', 'BatchAnnotateImages'): BatchAnnotateImagesRequest.FromString,
    }
    response_serializers = {
      ('google.cloud.vision.v1.ImageAnnotator', 'BatchAnnotateImages'): BatchAnnotateImagesResponse.SerializeToString,
    }
    method_implementations = {
      ('google.cloud.vision.v1.ImageAnnotator', 'BatchAnnotateImages'): face_utilities.unary_unary_inline(servicer.BatchAnnotateImages),
    }
    server_options = beta_implementations.server_options(request_deserializers=request_deserializers, response_serializers=response_serializers, thread_pool=pool, thread_pool_size=pool_size, default_timeout=default_timeout, maximum_timeout=maximum_timeout)
    return beta_implementations.server(method_implementations, options=server_options)


  def beta_create_ImageAnnotator_stub(channel, host=None, metadata_transformer=None, pool=None, pool_size=None):
    """The Beta API is deprecated for 0.15.0 and later.

    It is recommended to use the GA API (classes and functions in this
    file not marked beta) for all further purposes. This function was
    generated only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0"""
    request_serializers = {
      ('google.cloud.vision.v1.ImageAnnotator', 'BatchAnnotateImages'): BatchAnnotateImagesRequest.SerializeToString,
    }
    response_deserializers = {
      ('google.cloud.vision.v1.ImageAnnotator', 'BatchAnnotateImages'): BatchAnnotateImagesResponse.FromString,
    }
    cardinalities = {
      'BatchAnnotateImages': cardinality.Cardinality.UNARY_UNARY,
    }
    stub_options = beta_implementations.stub_options(host=host, metadata_transformer=metadata_transformer, request_serializers=request_serializers, response_deserializers=response_deserializers, thread_pool=pool, thread_pool_size=pool_size)
    return beta_implementations.dynamic_stub(channel, 'google.cloud.vision.v1.ImageAnnotator', cardinalities, options=stub_options)
except ImportError:
  pass
# @@protoc_insertion_point(module_scope)
