Search in sources :

Example 1 with Feature

use of com.google.cloud.videointelligence.v1beta1.Feature in project google-cloud-java by GoogleCloudPlatform.

the class AnnotateImage method main.

public static void main(String... args) throws Exception {
    // Instantiates a client
    ImageAnnotatorClient vision = ImageAnnotatorClient.create();
    // The path to the image file to annotate
    // for example "./resources/wakeupcat.jpg";
    String fileName = "your/image/path.jpg";
    // Reads the image file into memory
    Path path = Paths.get(fileName);
    byte[] data = Files.readAllBytes(path);
    ByteString imgBytes = ByteString.copyFrom(data);
    // Builds the image annotation request
    List<AnnotateImageRequest> requests = new ArrayList<>();
    Image img = Image.newBuilder().setContent(imgBytes).build();
    Feature feat = Feature.newBuilder().setType(Type.LABEL_DETECTION).build();
    AnnotateImageRequest request = AnnotateImageRequest.newBuilder().addFeatures(feat).setImage(img).build();
    requests.add(request);
    // Performs label detection on the image file
    BatchAnnotateImagesResponse response = vision.batchAnnotateImages(requests);
    List<AnnotateImageResponse> responses = response.getResponsesList();
    for (AnnotateImageResponse res : responses) {
        if (res.hasError()) {
            System.out.printf("Error: %s\n", res.getError().getMessage());
            return;
        }
        for (EntityAnnotation annotation : res.getLabelAnnotationsList()) {
            for (Map.Entry<FieldDescriptor, Object> entry : annotation.getAllFields().entrySet()) {
                System.out.printf("%s : %s\n", entry.getKey(), entry.getValue());
            }
        }
    }
}
Also used : Path(java.nio.file.Path) ByteString(com.google.protobuf.ByteString) ImageAnnotatorClient(com.google.cloud.vision.spi.v1.ImageAnnotatorClient) ArrayList(java.util.ArrayList) ByteString(com.google.protobuf.ByteString) Image(com.google.cloud.vision.v1.Image) Feature(com.google.cloud.vision.v1.Feature) FieldDescriptor(com.google.protobuf.Descriptors.FieldDescriptor) AnnotateImageRequest(com.google.cloud.vision.v1.AnnotateImageRequest) AnnotateImageResponse(com.google.cloud.vision.v1.AnnotateImageResponse) EntityAnnotation(com.google.cloud.vision.v1.EntityAnnotation) Map(java.util.Map) BatchAnnotateImagesResponse(com.google.cloud.vision.v1.BatchAnnotateImagesResponse)

Example 2 with Feature

use of com.google.cloud.videointelligence.v1beta1.Feature in project google-cloud-java by GoogleCloudPlatform.

the class VideoIntelligenceServiceClientTest method annotateVideoExceptionTest.

@Test
@SuppressWarnings("all")
public void annotateVideoExceptionTest() throws Exception {
    StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT);
    mockVideoIntelligenceService.addException(exception);
    try {
        String inputUri = "inputUri1707300727";
        List<Feature> features = new ArrayList<>();
        VideoContext videoContext = VideoContext.newBuilder().build();
        String outputUri = "outputUri-1273518802";
        String locationId = "locationId552319461";
        client.annotateVideoAsync(inputUri, features, videoContext, outputUri, locationId).get();
        Assert.fail("No exception raised");
    } catch (ExecutionException e) {
        Assert.assertEquals(ApiException.class, e.getCause().getClass());
        ApiException apiException = (ApiException) e.getCause();
        Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), apiException.getStatusCode());
    }
}
Also used : StatusRuntimeException(io.grpc.StatusRuntimeException) ArrayList(java.util.ArrayList) VideoContext(com.google.cloud.videointelligence.v1beta1.VideoContext) ExecutionException(java.util.concurrent.ExecutionException) Feature(com.google.cloud.videointelligence.v1beta1.Feature) ApiException(com.google.api.gax.grpc.ApiException) Test(org.junit.Test)

Example 3 with Feature

use of com.google.cloud.videointelligence.v1beta1.Feature in project google-cloud-java by GoogleCloudPlatform.

the class VideoIntelligenceServiceClientTest method annotateVideoTest.

@Test
@SuppressWarnings("all")
public void annotateVideoTest() throws Exception {
    AnnotateVideoResponse expectedResponse = AnnotateVideoResponse.newBuilder().build();
    Operation resultOperation = Operation.newBuilder().setName("annotateVideoTest").setDone(true).setResponse(Any.pack(expectedResponse)).build();
    mockVideoIntelligenceService.addResponse(resultOperation);
    String inputUri = "inputUri1707300727";
    List<Feature> features = new ArrayList<>();
    VideoContext videoContext = VideoContext.newBuilder().build();
    String outputUri = "outputUri-1273518802";
    String locationId = "locationId552319461";
    AnnotateVideoResponse actualResponse = client.annotateVideoAsync(inputUri, features, videoContext, outputUri, locationId).get();
    Assert.assertEquals(expectedResponse, actualResponse);
    List<GeneratedMessageV3> actualRequests = mockVideoIntelligenceService.getRequests();
    Assert.assertEquals(1, actualRequests.size());
    AnnotateVideoRequest actualRequest = (AnnotateVideoRequest) actualRequests.get(0);
    Assert.assertEquals(inputUri, actualRequest.getInputUri());
    Assert.assertEquals(features, actualRequest.getFeaturesList());
    Assert.assertEquals(videoContext, actualRequest.getVideoContext());
    Assert.assertEquals(outputUri, actualRequest.getOutputUri());
    Assert.assertEquals(locationId, actualRequest.getLocationId());
}
Also used : AnnotateVideoRequest(com.google.cloud.videointelligence.v1beta1.AnnotateVideoRequest) ArrayList(java.util.ArrayList) VideoContext(com.google.cloud.videointelligence.v1beta1.VideoContext) Operation(com.google.longrunning.Operation) Feature(com.google.cloud.videointelligence.v1beta1.Feature) GeneratedMessageV3(com.google.protobuf.GeneratedMessageV3) AnnotateVideoResponse(com.google.cloud.videointelligence.v1beta1.AnnotateVideoResponse) Test(org.junit.Test)

Aggregations

ArrayList (java.util.ArrayList)3 Feature (com.google.cloud.videointelligence.v1beta1.Feature)2 VideoContext (com.google.cloud.videointelligence.v1beta1.VideoContext)2 Test (org.junit.Test)2 ApiException (com.google.api.gax.grpc.ApiException)1 AnnotateVideoRequest (com.google.cloud.videointelligence.v1beta1.AnnotateVideoRequest)1 AnnotateVideoResponse (com.google.cloud.videointelligence.v1beta1.AnnotateVideoResponse)1 ImageAnnotatorClient (com.google.cloud.vision.spi.v1.ImageAnnotatorClient)1 AnnotateImageRequest (com.google.cloud.vision.v1.AnnotateImageRequest)1 AnnotateImageResponse (com.google.cloud.vision.v1.AnnotateImageResponse)1 BatchAnnotateImagesResponse (com.google.cloud.vision.v1.BatchAnnotateImagesResponse)1 EntityAnnotation (com.google.cloud.vision.v1.EntityAnnotation)1 Feature (com.google.cloud.vision.v1.Feature)1 Image (com.google.cloud.vision.v1.Image)1 Operation (com.google.longrunning.Operation)1 ByteString (com.google.protobuf.ByteString)1 FieldDescriptor (com.google.protobuf.Descriptors.FieldDescriptor)1 GeneratedMessageV3 (com.google.protobuf.GeneratedMessageV3)1 StatusRuntimeException (io.grpc.StatusRuntimeException)1 Path (java.nio.file.Path)1