summaryrefslogtreecommitdiff
path: root/third_party/googleapis/google/chromeos/uidetection/v1/ui_detection.proto
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/googleapis/google/chromeos/uidetection/v1/ui_detection.proto')
-rw-r--r--third_party/googleapis/google/chromeos/uidetection/v1/ui_detection.proto132
1 files changed, 132 insertions, 0 deletions
diff --git a/third_party/googleapis/google/chromeos/uidetection/v1/ui_detection.proto b/third_party/googleapis/google/chromeos/uidetection/v1/ui_detection.proto
new file mode 100644
index 0000000..e1f593f
--- /dev/null
+++ b/third_party/googleapis/google/chromeos/uidetection/v1/ui_detection.proto
@@ -0,0 +1,132 @@
+// Copyright 2022 Google LLC
+//
+// 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.chromeos.uidetection.v1;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/chromeos/uidetection/v1;uidetection";
+option java_multiple_files = true;
+option java_outer_classname = "UiDetectionProto";
+option java_package = "com.google.chromeos.uidetection.v1";
+
+// Provides image-based UI detection service.
+service UiDetectionService {
+ option (google.api.default_host) = "chromeosuidetection.googleapis.com";
+
+ // Runs the detection.
+ rpc ExecuteDetection(UiDetectionRequest) returns (UiDetectionResponse) {
+ option (google.api.http) = {
+ get: "/v1/executeDetection:execute"
+ };
+ }
+}
+
+// Request message for UI detection.
+message UiDetectionRequest {
+ // Required. Required field that represents a PNG image.
+ bytes image_png = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Required field that indicates the detection type.
+ DetectionRequest request = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Detection type specifies what to detect in the image.
+message DetectionRequest {
+ oneof detection_request_type {
+ // Detection type for word detection.
+ WordDetectionRequest word_detection_request = 1;
+
+ // Detection type for text block detection.
+ TextBlockDetectionRequest text_block_detection_request = 2;
+
+ // Detection type for custom icon detection.
+ CustomIconDetectionRequest custom_icon_detection_request = 3;
+ }
+}
+
+// Detection type for word detection.
+message WordDetectionRequest {
+ // Required. The word to locate in the image.
+ string word = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Indicating whether the query string is a regex or not.
+ bool regex_mode = 2;
+
+ // Indicating whether the detection is an approximate match.
+ bool disable_approx_match = 3;
+
+ // Levenshtein distance threshold.
+ // Applicable only if regex_mode is False.
+ optional int32 max_edit_distance = 4;
+}
+
+// Detection type for text block detection.
+message TextBlockDetectionRequest {
+ // Required. The text block consisting a list of words to locate in the image.
+ repeated string words = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Indicating whether the query string is a regex or not.
+ bool regex_mode = 2;
+
+ // Indicating whether the detection is an approximate match.
+ bool disable_approx_match = 3;
+
+ // Levenshtein distance threshold.
+ // Applicable only if regex_mode is False.
+ optional int32 max_edit_distance = 4;
+}
+
+// Detection type for custom icon detection.
+message CustomIconDetectionRequest {
+ // Required. Required field that represents an icon in PNG format.
+ bytes icon_png = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Set match_count to -1 to not limit the number of matches.
+ int32 match_count = 2;
+
+ // Confidence threshold in the range [0.0, 1.0] below which the matches will
+ // be considered as non-existent.
+ double min_confidence_threshold = 3;
+}
+
+// Response message for UI detection.
+message UiDetectionResponse {
+ // Locations of matching UI elements.
+ repeated BoundingBox bounding_boxes = 1;
+}
+
+// The location of a UI element.
+// A bounding box is reprensented by its top-left point [left, top]
+// and its bottom-right point [right, bottom].
+message BoundingBox {
+ // The text found in the bounding box.
+ string text = 1;
+
+ // The y-coordinate of the top-left point.
+ int32 top = 2;
+
+ // The x-coordinate of the top-left point.
+ int32 left = 3;
+
+ // The y-coordinate of the bottom-right point.
+ int32 bottom = 4;
+
+ // The x-coordinate of the bottom-right point.
+ int32 right = 5;
+}