Table of Contents

認識ターゲットを検索 | POST /v2/search

画像ターゲットを検索する、画像による画像検索の認識インターフェースです。

Action

POST /v2/search

認証

必要

Http Header

Content-Type : multipart/form-data

Authorization(API Key Token 方式認証を使用する場合のみ)

リクエストパラメータ

Field Type Required Description
image Multipart Yes 画像内容の base64 encoding 文字列。JPG および PNG 形式の画像をサポートします。
notracking String No "false" は trackingImage トラッキング画像を返すことを示します。"true" は検出された targetId プロパティのみを返し、トラッキング画像を返さないことを示します。WebAR ではリクエスト遅延を下げるため、デフォルトで付けることを推奨します。

Token 認証のリクエスト例

curl -X POST -H "Authorization:xxx"  --form "image=@trackingImage.jpg;type=image/jpg"  --form appId=YOUR-APPID 
          https://<your-domain>-cn1.crs.easyar.com:8443/v2/search

署名認証リクエスト例

curl -X POST --form "image=@trackingImage;type=image/jpg" 
              --form apiKey=YOUR-APIKEY  --form appId=YOUR-APPID 
              --form timestamp=1514736000000 
              --form signature=xxx 
          https://<your-domain>-cn1.crs.easyar.com:8443/v2/search
重要
  • 必ず Client-end-URL を認識入口として使用してください。https は 8443 ポートです。
  • http header に Connection: Keep-Alive を設定し、繰り返し接続のオーバーヘッドを最適化してください。

戻りフィールド

Field Description
statusCode Status code 0 は認証が正しいことを示します。詳細は status code を参照してください
result エラーメッセージ、またはターゲット画像情報
timestamp response 返却時のサーバー側時刻。Unix timestamp 形式を使用し、単位はミリ秒です
result.targetId ターゲット画像の一意の ID
result.trackingImage トラッキング画像の base64 encoding 文字列
result.name ターゲット名
result.size 認識画像の幅(単位 cm)。認識画像の高さは、アップロードした画像に基づいてシステムが自動計算します。認識画像のサイズは、重ね合わせる仮想コンテンツのサイズに対応します
result.meta base64 エンコードされた追加情報。たとえば json 文字列を base64 エンコードして生成した文字列
result.type 固定で ImageTarget
result.active "1" は有効、"0" は無効

主な戻りコード

Response HTTPCODE Status Result
OK 200 0 result: { imageBody }
NO_RESULT 404 17 result: { message: "No result: there is no matching." }
NO_TARGET 500 18 result: { message: "Target not found: there is a matching but no target, please report this issue: IMAGE-UUID" }
TIMEOUT 408 19 result: { message: "Request timeout." }
OUT_OF_LIMIT 402 21 result: { message: "You have exceeded the limit of daily scanning." }
OUT_OF_QPS 200 21 result: { message: "Exceed your QPS limitation." }
RPC_ERROR 500 20 result: { message: "Error retrieving results." }
OTHER_ERROR 501 30 result: { message: "Other error occur: details" }

エラーコード

ステータスコードおよびエラーコード一覧を参照してください。

リクエスト例

POST /search/ HTTP/1.1
Host:
Date: Mon, 1 Jan 2018 00:00:00 GMT
Content-Type: application/json
{
    "image":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgM...",
    "timestamp": 1514736000000,
    "appKey": "test_app_key",
    "signature": "89985e2420899196db5bdf16b3c2ed0922c0c221"
}

レスポンス例

  • 認識がヒットした場合、戻り構造は次のとおりです。

    HTTP/1.1 200 OK
    Content-Type: application/json
    {
        "statusCode": 0,
        "result": {
          "target": {
            "targetId":"e61db301-e80f-4025-b822-9a00eb48d8d2",
            "trackingImage":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgM...",
            "name": "easyar",
            "size": "5",
            "meta": "496fbbabc2b38ecs3460a...",
            "type": "ImageTarget",
            "modified":1514735000000
            "active":"1",
            "trackableRate": 0,
            "detectableRate": 0,
            "detectableDistinctiveness":0,
            "detectableFeatureCount": 0,
            "trackableDistinctiveness": 0,
            "trackableFeatureCount": 0,
            "trackableFeatureDistribution": 0,
            "trackablePatchContrast": 0,
            "trackablePatchAmbiguity": 0
          }
        },
        "timestamp": 1514736000000
    }

  • 一致するターゲット画像がない場合、戻り例は次のとおりです。

    HTTP/1.1 404 NOT FOUND
    Content-Type: application/json
    {
      "statusCode": 17,
      "result": {
        "message": "No result: there is no matching."
      }
    }