Search in sources :

Example 31 with Image

use of com.adobe.cq.wcm.core.components.it.seljup.util.components.image.v2.Image in project java-docs-samples by GoogleCloudPlatform.

the class Detect method detectPropertiesGcs.

/**
 * Detects image properties such as color frequency from the specified remote image on Google
 * Cloud Storage.
 *
 * @param gcsPath The path to the remote file on Google Cloud Storage to detect properties on.
 * @param out A {@link PrintStream} to write
 * @throws Exception on errors while closing the client.
 * @throws IOException on Input/Output errors.
 */
public static void detectPropertiesGcs(String gcsPath, PrintStream out) throws Exception, IOException {
    List<AnnotateImageRequest> requests = new ArrayList<>();
    ImageSource imgSource = ImageSource.newBuilder().setGcsImageUri(gcsPath).build();
    Image img = Image.newBuilder().setSource(imgSource).build();
    Feature feat = Feature.newBuilder().setType(Type.IMAGE_PROPERTIES).build();
    AnnotateImageRequest request = AnnotateImageRequest.newBuilder().addFeatures(feat).setImage(img).build();
    requests.add(request);
    try (ImageAnnotatorClient client = ImageAnnotatorClient.create()) {
        BatchAnnotateImagesResponse response = client.batchAnnotateImages(requests);
        List<AnnotateImageResponse> responses = response.getResponsesList();
        for (AnnotateImageResponse res : responses) {
            if (res.hasError()) {
                out.printf("Error: %s\n", res.getError().getMessage());
                return;
            }
            // For full list of available annotations, see http://g.co/cloud/vision/docs
            DominantColorsAnnotation colors = res.getImagePropertiesAnnotation().getDominantColors();
            for (ColorInfo color : colors.getColorsList()) {
                out.printf("fraction: %f\nr: %f, g: %f, b: %f\n", color.getPixelFraction(), color.getColor().getRed(), color.getColor().getGreen(), color.getColor().getBlue());
            }
        }
    }
}
Also used : AnnotateImageRequest(com.google.cloud.vision.v1.AnnotateImageRequest) ImageAnnotatorClient(com.google.cloud.vision.v1.ImageAnnotatorClient) AnnotateImageResponse(com.google.cloud.vision.v1.AnnotateImageResponse) ArrayList(java.util.ArrayList) ImageSource(com.google.cloud.vision.v1.ImageSource) DominantColorsAnnotation(com.google.cloud.vision.v1.DominantColorsAnnotation) WebImage(com.google.cloud.vision.v1.WebDetection.WebImage) Image(com.google.cloud.vision.v1.Image) Feature(com.google.cloud.vision.v1.Feature) ColorInfo(com.google.cloud.vision.v1.ColorInfo) BatchAnnotateImagesResponse(com.google.cloud.vision.v1.BatchAnnotateImagesResponse)

Example 32 with Image

use of com.adobe.cq.wcm.core.components.it.seljup.util.components.image.v2.Image in project java-docs-samples by GoogleCloudPlatform.

the class Detect method detectLogosGcs.

/**
 * Detects logos in the specified remote image on Google Cloud Storage.
 *
 * @param gcsPath The path to the remote file on Google Cloud Storage to perform logo detection
 *                on.
 * @param out A {@link PrintStream} to write detected logos to.
 * @throws Exception on errors while closing the client.
 * @throws IOException on Input/Output errors.
 */
public static void detectLogosGcs(String gcsPath, PrintStream out) throws Exception, IOException {
    List<AnnotateImageRequest> requests = new ArrayList<>();
    ImageSource imgSource = ImageSource.newBuilder().setGcsImageUri(gcsPath).build();
    Image img = Image.newBuilder().setSource(imgSource).build();
    Feature feat = Feature.newBuilder().setType(Type.LOGO_DETECTION).build();
    AnnotateImageRequest request = AnnotateImageRequest.newBuilder().addFeatures(feat).setImage(img).build();
    requests.add(request);
    try (ImageAnnotatorClient client = ImageAnnotatorClient.create()) {
        BatchAnnotateImagesResponse response = client.batchAnnotateImages(requests);
        List<AnnotateImageResponse> responses = response.getResponsesList();
        for (AnnotateImageResponse res : responses) {
            if (res.hasError()) {
                out.printf("Error: %s\n", res.getError().getMessage());
                return;
            }
            // For full list of available annotations, see http://g.co/cloud/vision/docs
            for (EntityAnnotation annotation : res.getLogoAnnotationsList()) {
                out.println(annotation.getDescription());
            }
        }
    }
}
Also used : AnnotateImageRequest(com.google.cloud.vision.v1.AnnotateImageRequest) ImageAnnotatorClient(com.google.cloud.vision.v1.ImageAnnotatorClient) AnnotateImageResponse(com.google.cloud.vision.v1.AnnotateImageResponse) ArrayList(java.util.ArrayList) ImageSource(com.google.cloud.vision.v1.ImageSource) WebImage(com.google.cloud.vision.v1.WebDetection.WebImage) Image(com.google.cloud.vision.v1.Image) EntityAnnotation(com.google.cloud.vision.v1.EntityAnnotation) Feature(com.google.cloud.vision.v1.Feature) BatchAnnotateImagesResponse(com.google.cloud.vision.v1.BatchAnnotateImagesResponse)

Example 33 with Image

use of com.adobe.cq.wcm.core.components.it.seljup.util.components.image.v2.Image in project java-docs-samples by GoogleCloudPlatform.

the class QuickstartSample method main.

public static void main(String... args) throws Exception {
    // Instantiates a client
    try (ImageAnnotatorClient vision = ImageAnnotatorClient.create()) {
        // The path to the image file to annotate
        String fileName = "./resources/wakeupcat.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()) {
                annotation.getAllFields().forEach((k, v) -> System.out.printf("%s : %s\n", k, v.toString()));
            }
        }
    }
}
Also used : Path(java.nio.file.Path) ByteString(com.google.protobuf.ByteString) ImageAnnotatorClient(com.google.cloud.vision.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) AnnotateImageRequest(com.google.cloud.vision.v1.AnnotateImageRequest) AnnotateImageResponse(com.google.cloud.vision.v1.AnnotateImageResponse) EntityAnnotation(com.google.cloud.vision.v1.EntityAnnotation) BatchAnnotateImagesResponse(com.google.cloud.vision.v1.BatchAnnotateImagesResponse)

Example 34 with Image

use of com.adobe.cq.wcm.core.components.it.seljup.util.components.image.v2.Image in project openstack4j by ContainX.

the class ImageV2Tests method testCreateImage.

public void testCreateImage() throws IOException {
    respondWith(IMAGE_JSON);
    String id = "8a2ea42d-06b5-42c2-a54d-97105420f2bb";
    String name = "amphora-x64-haproxy";
    ContainerFormat cf = ContainerFormat.BARE;
    DiskFormat df = DiskFormat.QCOW2;
    Long mindisk = 0L;
    Long minram = 0L;
    Image.ImageVisibility vis = Image.ImageVisibility.PUBLIC;
    String key1 = "test-key1";
    String key2 = "test-key2";
    String key3 = "id";
    String value1 = "test-value1";
    String value2 = "test-value2";
    String value3 = "test-value3";
    Image im = Builders.imageV2().id(id).name(name).containerFormat(cf).diskFormat(df).minDisk(mindisk).minRam(minram).visibility(vis).additionalProperty(key1, value1).additionalProperty(key2, value2).additionalProperty(key3, value3).build();
    Image image = osv3().imagesV2().create(im);
    assertNotNull(image);
    assertEquals(image.getId(), id);
    assertEquals(image.getName(), name);
    assertEquals(image.getContainerFormat(), cf);
    assertEquals(image.getDiskFormat(), df);
    assertEquals(image.getVisibility(), vis);
    assertEquals(image.getMinDisk(), mindisk);
    assertEquals(image.getMinRam(), minram);
    assertEquals(image.getAdditionalPropertyValue(key1), value1);
    assertEquals(image.getAdditionalPropertyValue(key2), value2);
    assertNull(image.getAdditionalPropertyValue(key3));
}
Also used : ContainerFormat(org.openstack4j.model.image.v2.ContainerFormat) Image(org.openstack4j.model.image.v2.Image) DiskFormat(org.openstack4j.model.image.v2.DiskFormat)

Example 35 with Image

use of com.adobe.cq.wcm.core.components.it.seljup.util.components.image.v2.Image in project openstack4j by ContainX.

the class ImageV2Tests method testGetImageWithLocations.

public void testGetImageWithLocations() throws IOException {
    respondWith(IMAGE_WIHT_LOCATION_JSON);
    String id = "c73056d6-c583-4d6c-9f70-04f3bfd8dff4";
    Image image = osv3().imagesV2().get(id);
    assertNotNull(image);
    assertNotNull(image.getId());
    assertEquals(image.getId(), id);
    assertEquals(2, image.getLocations().size());
}
Also used : Image(org.openstack4j.model.image.v2.Image)

Aggregations

AnnotateImageRequest (com.google.cloud.vision.v1.AnnotateImageRequest)29 AnnotateImageResponse (com.google.cloud.vision.v1.AnnotateImageResponse)29 BatchAnnotateImagesResponse (com.google.cloud.vision.v1.BatchAnnotateImagesResponse)29 Feature (com.google.cloud.vision.v1.Feature)29 Image (com.google.cloud.vision.v1.Image)29 ImageAnnotatorClient (com.google.cloud.vision.v1.ImageAnnotatorClient)28 ArrayList (java.util.ArrayList)27 WebImage (com.google.cloud.vision.v1.WebDetection.WebImage)25 ByteString (com.google.protobuf.ByteString)18 EntityAnnotation (com.google.cloud.vision.v1.EntityAnnotation)16 ImageSource (com.google.cloud.vision.v1.ImageSource)15 FileInputStream (java.io.FileInputStream)14 WebPage (com.google.cloud.vision.v1.WebDetection.WebPage)8 Block (com.google.cloud.vision.v1.Block)6 ColorInfo (com.google.cloud.vision.v1.ColorInfo)6 CropHint (com.google.cloud.vision.v1.CropHint)6 CropHintsAnnotation (com.google.cloud.vision.v1.CropHintsAnnotation)6 DominantColorsAnnotation (com.google.cloud.vision.v1.DominantColorsAnnotation)6 FaceAnnotation (com.google.cloud.vision.v1.FaceAnnotation)6 LocationInfo (com.google.cloud.vision.v1.LocationInfo)6