SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

スマホアプリを豊かにする「docomo Developer support」で遊ぼう(AD)

誰でも手軽にNTTドコモのサービスのような機能を持つアプリが作れる ~Androidアプリから画像認識APIを実行する

スマホアプリを豊かにする「docomo Developer support」で遊ぼう(2)

  • このエントリーをはてなブックマークに追加

画像認識APIを利用するには

 では次に、実際のアプリで画像認識APIのSDKを利用してみましょう。

画像認識API

 画像認識APIは、公開されたばかりの最新APIで、画像に写っている物を認識、解析して、その名称などの情報を取得することができます。

 認識できるものは、書籍やDVD、CD、PCソフト、ゲームソフト、食品パッケージといった商品です。現在、500万件以上の市販品情報が登録されていて、その名称や関連情報のWebページURL、認識の確からしさを表すスコアなども取得可能です。

画像認識API
画像認識API

 画像認識では、3つのAPIが利用できます。

画像認識API
API名 処理内容
画像認識 画像に写る商品を認識し、名称を含む商品情報を返却する。
認識結果の候補全体に対するフィードバック 画像認識の結果一覧が妥当だったか否かをフィードバックする。
認識結果の各候補に対するフィードバック 画像認識の個々の結果が妥当だったか否かをフィードバックする。

 なお認識できる画像ファイルは、JPEG、PNG、GIF、BMP、TIFF形式で、サイズの上限は10MBです。推奨画像サイズは、VGA(640×480)相当ということですが、スマートフォンで撮影した画像程度なら、そのまま処理できるようです。

SDK

 画像認識APIのSDKは、APIのページからダウンロードすることができます。

SDKのダウンロードページ
SDKのダウンロードページ

 提供されているファイル(執筆時点では、Image_Recognition_SDK_for_Android_v1.0.0.zip)には、ライブラリ本体に、サンプルアプリ、利用ガイドなどが含まれています。

 利用ガイド(画像認識SDK for Android利用ガイド_v1.0.0.pdf)には、SDKの使い方が詳しく載っていますので、実際のAPI利用の際には、併せて参考にしてください。

ライブラリについて

 SDKで提供されるライブラリファイルは、次のようなファイルで構成されています。

SDKに含まれるライブラリファイル
ファイル名 ライブラリ概要
docomo-common-android-sdk-1.0.1.jar docomo SDK共通ライブラリ
docomo-imagerecognition-android-sdk-1.0.0.jar 画像認識ライブラリ
jackson-annotations-2.2.3.jar Jacksonライブラリ
jackson-core-2.2.3.jar
jackson-databind-2.2.3.jar

 画像認識API用の他に、JSONデータを扱うためのオープンソースライブラリである、Jacksonライブラリが含まれています。

サンプルアプリ

 SDKには、サンプルアプリも含まれています。まずは、このサンプルをビルドしてみましょう。サンプルアプリは、Eclipseのプロジェクトとして提供されています。SDKのsampleフォルダにzipファイルがありますので、解凍して、Eclipseにインポートします。

 プロジェクトのlibsフォルダには、前述のライブラリファイルが含まれています。プロジェクトからSDKのライブラリを使うには、このように、libsフォルダにコピーするだけです。

サンプルアプリの起動画面
サンプルアプリの起動画面

APIキーの設定とAPIの実行手順

 このアプリを実行するには、先ほど取得したAPIキーの設定が必要です。APIキーは、プロジェクトのRecognitionActivity.javaにある、RecognitionActivityクラスのフィールドに設定します。

// API キー
static final String APIKEY = "";

 画像認識APIには3つの処理がありますが、いずれも同様のコードで実行することができます。メインとなる画像認識は、次のようなコードで情報を取得できます。resultDataに、結果のJSONデータが格納されていますので、必要に応じて、そのデータから情報を抽出します。

// 画像認識クラスを作成する
ImageRecognition recognize = new ImageRecognition();

// 画像認識リクエストデータクラスを用いてパラメータを設定する
ImageRecognitionRequestParam requestParam = new ImageRecognitionRequestParam();
requestParam.setRecog(Recog.ALL);
requestParam.setFilePath(画像ファイル名);

// 画像認識クラスにリクエストデータを渡し、レスポンスデータを取得する
ImageRecognitionResultData resultData = recognize.request(requestParam);

次のページ
画像認識APIとカメラ機能を連携する

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
スマホアプリを豊かにする「docomo Developer support」で遊ぼう連載記事一覧

もっと読む

この記事の著者

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

WINGSプロジェクト 高江 賢(タカエ ケン)

WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS Twitter: @yyamada(公式)、@yyamada/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/8299 2014/12/12 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング