diff --git a/google/cloud/vision/v1/geometry.proto b/google/cloud/vision/v1/geometry.proto new file mode 100644 index 00000000..82c02092 --- /dev/null +++ b/google/cloud/vision/v1/geometry.proto @@ -0,0 +1,53 @@ +// Copyright 2016 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.cloud.vision.v1; + +option cc_enable_arenas = true; +option java_multiple_files = true; +option java_outer_classname = "GeometryProto"; +option java_package = "com.google.cloud.vision.v1"; + + +// A vertex represents a 2D point in the image. +// NOTE: the vertex coordinates are in the same scale as the original image. +message Vertex { + // X coordinate. + int32 x = 1; + + // Y coordinate. + int32 y = 2; +} + +// A bounding polygon for the detected image annotation. +message BoundingPoly { + // The bounding polygon vertices. + repeated Vertex vertices = 1; +} + +// A 3D position in the image, used primarily for Face detection landmarks. +// A valid Position must have both x and y coordinates. +// The position coordinates are in the same scale as the original image. +message Position { + // X coordinate. + float x = 1; + + // Y coordinate. + float y = 2; + + // Z coordinate (or depth). + float z = 3; +} diff --git a/google/cloud/vision/v1/image_annotator.proto b/google/cloud/vision/v1/image_annotator.proto index ba825fcd..a25ac57b 100644 --- a/google/cloud/vision/v1/image_annotator.proto +++ b/google/cloud/vision/v1/image_annotator.proto @@ -18,8 +18,6 @@ package google.cloud.vision.v1; import "google/api/annotations.proto"; import "google/cloud/vision/v1/geometry.proto"; -import "google/cloud/vision/v1/image_context_search_extension.proto"; -import "google/cloud/vision/v1/query_annotation.proto"; import "google/rpc/status.proto"; import "google/type/color.proto"; import "google/type/latlng.proto"; @@ -223,7 +221,7 @@ message FaceAnnotation { Type type = 3; // Face landmark position. - google.cloud.vision.v1.Position position = 4; + Position position = 4; } // The bounding polygon around the face. The coordinates of the bounding box @@ -233,7 +231,7 @@ message FaceAnnotation { // 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. - google.cloud.vision.v1.BoundingPoly bounding_poly = 1; + BoundingPoly bounding_poly = 1; // This bounding polygon is tighter than the previous // boundingPoly, and @@ -242,7 +240,7 @@ message FaceAnnotation { // "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. - google.cloud.vision.v1.BoundingPoly fd_bounding_poly = 2; + BoundingPoly fd_bounding_poly = 2; // Detected face landmarks. repeated Landmark landmarks = 3; @@ -339,7 +337,7 @@ message EntityAnnotation { // for `LABEL_DETECTION` features. For `TEXT_DETECTION` (OCR), `boundingPoly`s // are produced for the entire text detected in an image region, followed by // `boundingPoly`s for each word within the detected text. - google.cloud.vision.v1.BoundingPoly bounding_poly = 7; + BoundingPoly bounding_poly = 7; // The location information for the detected entity. Multiple // LocationInfo elements can be present since one location may