inquid/laravel-azure-face-api

Laravel 扩展包,用于访问 Azure 认知面部 API 并进行面部识别

dev-master 2023-10-28 15:15 UTC

This package is auto-updated.

Last update: 2024-08-28 17:08:22 UTC


README

安装库

使用 composer

composer require inquid/laravel-azure-face-api

运行 composer update 以更新或安装库。

设置环境变量

# Azure Cognitive Services
AZURE_COGNITIVE_API_KEY_FACE={your_api_key}
AZURE_COGNITIVE_ENDPOINT_FACE=https://yourdomain.cognitiveservices.azure.com/

更新服务提供者

更新 config/app.php 文件,在 providers 数组中添加以下行

AzureFace\AzureFaceServiceProvider::class,

并在 aliases 数组中添加以下行

'AzureFace' => AzureFace\Facades\AzureFace::class,

测试库

为了快速检查,您可以在控制器中使用以下代码

$face = AzureFace::detectFacesFromUrl('https://upload.wikimedia.org/wikipedia/commons/thumb/d/d2/Donald_Trump_August_19%2C_2015_%28cropped%29.jpg/245px-Donald_Trump_August_19%2C_2015_%28cropped%29.jpg', [
    'recognitionModel' => 'recognition_02',
    'detectionModel' => 'detection_01',
    'returnFaceId' => 'true',
    'returnFaceLandmarks' => 'true',
    'returnFaceAttributes' => 'age,gender,glasses,smile,noise,hair,accessories,emotion,makeup,headPose,facialHair,occlusion,blur,exposure',
]);

dd($face);

示例

使用 URL 检测面部

$face = AzureFace::detectFacesFromUrl('https://upload.wikimedia.org/wikipedia/commons/thumb/d/d2/Donald_Trump_August_19%2C_2015_%28cropped%29.jpg/245px-Donald_Trump_August_19%2C_2015_%28cropped%29.jpg', [
    'recognitionModel' => 'recognition_02',
    'detectionModel' => 'detection_01',
    'returnFaceId' => 'true',
    'returnFaceLandmarks' => 'true',
    'returnFaceAttributes' => 'age,gender,glasses,smile,noise,hair,accessories,emotion,makeup,headPose,facialHair,occlusion,blur,exposure',
]);

使用文件(以二进制形式上传)检测面部

$face = AzureFace::detectFacesFromFile(file_get_contents(public_path('IMG.jpg')), [
    'recognitionModel' => 'recognition_02',
    'detectionModel' => 'detection_01',
    'returnFaceId' => 'true',
    'returnFaceLandmarks' => 'true',
    'returnFaceAttributes' => 'age,gender,glasses,smile,noise,hair,accessories,emotion,makeup,headPose,facialHair,occlusion,blur,exposure',
]);