0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Android で CloudVision API を使って、リモート画像を指定して ラベル検出する

Posted at

Android で CloudVision API を使ってラベル検出する
の続きです。

前回の記事では、画像をアップロードして、ラベル検出を行った。
今回は、リモート画像のURLを指定して、ラベル検出を行う。

画像の指定

画像を指定するには次の 3 つの方法がある。

(1) 画像をbase64 エンコードの画像文字列として CloudVision にアップロードする。

(2) Gogle Cloud Storage の URI を指定する。

(3) HTTPでアクセス可能な公開 URLを指定する。

docs Vision API リクエストを作成する

// Convert the bitmap to a JPEG
            byte[] imageBytes = convJpegByteArray(bitmap);

            // create the image
            Image image = new Image();

            // Base64 encode the JPEG
            image.encodeContent(imageBytes);

            annotateImageRequest.setImage(image);

private byte[] convJpegByteArray(Bitmap bitmap) {
            ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
            // Convert the bitmap to a JPEG
            bitmap.compress(Bitmap.CompressFormat.JPEG, JPEG_QUALITY, byteArrayOutputStream);
            byte[] imageBytes = byteArrayOutputStream.toByteArray();
            return imageBytes;
}

画像のURLを指定する場合は、
下記のように annotateImageRequest を生成する

         // create ImageSource
        ImageSource source = new ImageSource();
        source.setImageUri(imageUrl);

        // create the Image
        Image image = new Image();
        image.setSource(source);

    AnnotateImageRequest annotateImageRequest = new AnnotateImageRequest();
    annotateImageRequest.setImage(image);

api AnnotateImageRequest

api ImageSource

api Image

実行例

スクリーンショット
cloud_vision3_result.png

ラベルとスコア

Dog (犬): 0.995
Mamma (l哺乳類): 0.989
Vertebrate (脊椎動物): 0.985
Canidae (イヌ科) : 0.981
Cocker spaniel (コッカースパニエル): 0.901
Dog breed 9犬の品種): 0.895
Carnivore (肉食動物): 0.855
Sporting Group (スポーツ犬): 0.833
Grass (草): 0.822
Companion dog (愛玩犬): 0.816

哺乳類の犬で犬種はコッカースパニエルと判定された。

サンプルコードをgithub に公開した。
https://github.com/ohwada/Android_Samples/tree/master/CloudVision3

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?