Я использую облачный API для определения лица следующим образом:
require 'cloudinary/Cloudinary.php';
require 'cloudinary/Uploader.php';
require 'cloudinary/Api.php';
\Cloudinary::config(array(
"cloud_name" => "xxxxxxxxxxxx",
"api_key" => "9999999999999",
"api_secret" => "xxxxxxxxxxxxx"));
$img = 'guy.jpg';
$imgid = time() . 'guy';
\Cloudinary\Uploader::upload($img, array("public_id" => $imgid));
$url = 'http://res.cloudinary.com/xxxxxx/image/upload/c_fill,g_face,h_500,w_375/' . $imgid . '.jpg';
file_put_contents('cropped' . $img, file_get_contents($url));
Но то, что мне также нужно, это:
\Cloudinary\Uploader::upload($img, array("public_id" => $imgid));
// what I need >>>
if('face_count != 1')
{
exit;
}
// <<< what I need
$url = 'http://res.cloudinary.com/xxxxxx/image/upload/c_fill,g_face,h_500,w_375/' . $imgid . '.jpg';
file_put_contents('cropped' . $img, file_get_contents($url));
Я не понимаю, как использовать face_count из документа: http://cloudinary.com/documentation/image_transformations#specifying_conditions
Спасибо за ответ Надав, я решил это так:
$url = 'http://res.cloudinary.com/xxxxxxx/image/upload/if_fc_eq_1,c_fill,g_face,h_500,w_375/' . $bildnamecloud . '.jpg';
file_put_contents('cropped' . $bildname, file_get_contents($url));
\Cloudinary\Uploader::destroy($bildnamecloud);list($width, $height) = getimagesize('cropped' . $bildname);
if($width == 375 AND $height == 500)
{
}
else
{
}
Других решений пока нет …