Интеграция распознавания изображений Clarifai cURL

Я пытаюсь получить теги от распознавания изображений Clarifai, используя cURL и PHP.

На их сайте есть это руководство пользователя: https://developer.clarifai.com/guide/#authentication


ОБНОВЛЕНИЕ ВОПРОСА

Мне удалось получить действительный ответ, и он выглядит так:

    {
  "status": {
    "code": 10000,
    "description": "Ok"
  },
  "outputs": [
    {
      "id": "ea68cac87c304b28a8046557062f34a0",
      "status": {
        "code": 10000,
        "description": "Ok"
      },
      "created_at": "2016-11-22T16:50:25Z",
      "model": {
        "name": "general-v1.3",
        "id": "aaa03c23b3724a16a56b629203edc62c",
        "created_at": "2017-08-09T17:11:39Z",
        "app_id": null,
        "output_info": {
          "message": "Show output_info with: GET /models/{model_id}/output_info",
          "type": "concept"
        },
        "model_version": {
          "id": "aa9ca48295b37401f8af92ad1af0d91d",
          "created_at": "2016-07-13T01:19:12Z",
          "status": {
            "code": 21100,
            "description": "Model trained successfully"
          }
        }
      },
      "input": {
        "id": "ea68cac87c304b28a8046557062f34a0",
        "data": {
          "image": {
            "url": "https://samples.clarifai.com/metro-north.jpg"
          }
        }
      },
      "data": {
        "concepts": [
          {
            "id": "ai_HLmqFqBf",
            "name": "train",
            "app_id": null,
            "value": 0.9989112
          },
          {
            "id": "ai_fvlBqXZR",
            "name": "railway",
            "app_id": null,
            "value": 0.9975532
          },
          {
            "id": "ai_VSVscs9k",
            "name": "terminal",
            "app_id": null,
            "value": 0.9230834
          }
        ]
      }
    }
  ]
}

Теперь я попытался использовать теги foreach:

     $response = curl_exec($curl);

     $header_size = curl_getinfo($curl, CURLINFO_HEADER_SIZE);
     $body = substr($response, $header_size);
     $header = substr($response, 0, $header_size);
     $rows = explode("\n", $header);

     $err = curl_error($curl);

     curl_close($curl);
     $resp = json_decode( $body, true );

     if ($err) {echo $err; } else {
         // foreach thought tags, and if tag value is above 93, than show/echo it
     }

Но у меня возникли проблемы с тегами foreach, я не могу отобразить какой-либо тег, и я хотел бы показать только имя тега со значением выше, например, 93.


person Advanced SEO    schedule 04.08.2017    source источник
comment
похоже, что ваш запрос недействителен. есть идеи, почему это может быть так? это не служба отладки. показать некоторые собственные усилия   -  person Piglet    schedule 05.08.2017
comment
Я понятия не имею, почему запрос недействителен, я пытаюсь два дня с большими усилиями. Спасибо.   -  person Advanced SEO    schedule 05.08.2017


Ответы (1)


пытаться:

CURLOPT_CUSTOMREQUEST => "POST"
Авторизация: Ключ f26b16808e2a440abb5f28b1c00b6nnn (без скобок)

А потом

CURLOPT_POSTFIELDS => "{ \"входы\": [ { \"данные\": { \"изображение\": { \"url\": \"https://samples.clarifai.com/metro-north.jpg\" } } } ] }

По сути, он должен соответствовать формату столбца cURL, расположенного здесь: https://developer.clarifai.com/guide/predict#predict

person Jared    schedule 06.08.2017
comment
Большое спасибо за ответ. Мне удалось получить действительный ответ, я обновил свой вопрос, не могли бы вы взглянуть на него еще раз, может быть, вы можете помочь мне еще больше. Еще раз спасибо. - person Advanced SEO; 09.08.2017
comment
Извините за задержку здесь - уже ответили на форуме сообщества Clarifai, но вот ответ, чтобы его увидел SO: $response = json_decode($body, TRUE); for($i=0; $i < count($response['outputs'][0]['data']['concepts']); $i++) { if($response['outputs'][0]['data']['concepts'][$i]['value'] > 0.90) { echo "Tag: " . $response['outputs'][0]['data']['concepts'][$i]['name'] . ", Value: " . $response['outputs'][0]['data']['concepts'][$i]['value'] . "\n"; } } - person Jared; 11.08.2017