誰でも手軽にNTTドコモのサービスのような機能を持つアプリが作れる ~Androidアプリから画像認識APIを実行する
スマホアプリを豊かにする「docomo Developer support」で遊ぼう(2)
ダウンロード サンプルファイル (4.0 MB)
画像認識APIを利用するには
では次に、実際のアプリで画像認識APIのSDKを利用してみましょう。
画像認識API
画像認識APIは、公開されたばかりの最新APIで、画像に写っている物を認識、解析して、その名称などの情報を取得することができます。
認識できるものは、書籍やDVD、CD、PCソフト、ゲームソフト、食品パッケージといった商品です。現在、500万件以上の市販品情報が登録されていて、その名称や関連情報のWebページURL、認識の確からしさを表すスコアなども取得可能です。
画像認識では、3つのAPIが利用できます。
| API名 | 処理内容 |
|---|---|
| 画像認識 | 画像に写る商品を認識し、名称を含む商品情報を返却する。 |
| 認識結果の候補全体に対するフィードバック | 画像認識の結果一覧が妥当だったか否かをフィードバックする。 |
| 認識結果の各候補に対するフィードバック | 画像認識の個々の結果が妥当だったか否かをフィードバックする。 |
なお認識できる画像ファイルは、JPEG、PNG、GIF、BMP、TIFF形式で、サイズの上限は10MBです。推奨画像サイズは、VGA(640×480)相当ということですが、スマートフォンで撮影した画像程度なら、そのまま処理できるようです。
SDK
画像認識APIのSDKは、APIのページからダウンロードすることができます。
提供されているファイル(執筆時点では、Image_Recognition_SDK_for_Android_v1.0.0.zip)には、ライブラリ本体に、サンプルアプリ、利用ガイドなどが含まれています。
利用ガイド(画像認識SDK for Android利用ガイド_v1.0.0.pdf)には、SDKの使い方が詳しく載っていますので、実際のAPI利用の際には、併せて参考にしてください。
ライブラリについて
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);
この記事は参考になりましたか?
- スマホアプリを豊かにする「docomo Developer support」で遊ぼう連載記事一覧
-
- 誰でも手軽にNTTドコモのサービスのような機能を持つアプリが作れる ~ぼっちでも雑談を楽し...
- 誰でも手軽にNTTドコモのサービスのような機能を持つアプリが作れる ~顔検出APIでモザイ...
- 誰でも手軽にNTTドコモのサービスのような機能を持つアプリが作れる ~Androidアプリ...
- この記事の著者
-
山田 祥寛(ヤマダ ヨシヒロ)
静岡県榛原町生まれ。一橋大学経済学部卒業後、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本格入門」「これからはじめるLaravel実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
WINGSプロジェクト 高江 賢(タカエ ケン)
<WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。 2026年時点での登録メンバは約50名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書、記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社
この記事は参考になりましたか?
この記事をシェア



