Client
in package
Amazon Rekognition API client wrapper.
Provides simplified interface for AWS Rekognition face detection and comparison. Supports face collections, face matching, and face detection operations.
Usage:
$client = new Client([
'key' => 'AWS_ACCESS_KEY',
'secret' => 'AWS_SECRET_KEY',
'region' => 'ap-northeast-1'
]);
// Add face to collection
$faceId = $client->addFaceToCollection('my-collection', $imageDataUrl);
// Search for similar faces
$match = $client->getFaceFromCollectionByImage('my-collection', $searchImage);
Table of Contents
Properties
Methods
- __construct() : mixed
- Initialize Amazon Rekognition API client.
- addCollection() : void
- Create a face collection.
- addFaceToCollection() : string
- Add a face to a collection.
- compareFaces() : float
- Compare two face images for similarity.
- deleteCollection() : void
- Delete a face collection.
- deleteFaceFromCollection() : void
- Delete faces from a collection.
- detectionFaces() : array<string|int, array<string|int, mixed>>
- Detect faces in an image.
- existsCollection() : bool
- Check if a face collection exists.
- existsFaceFromCollection() : bool
- Check if a matching face exists in a collection.
- generateCollectionId() : string
- Generate a unique collection ID.
- getAllCollections() : array<string|int, string>
- List all face collection IDs.
- getAllFacesFromCollection() : array<string|int, array<string|int, mixed>>
- List all faces in a collection.
- getCollection() : array<string|int, mixed>|null
- Describe a face collection.
- getFaceFromCollectionByImage() : array{faceId: string, similarity: float}|null
- Search for the most similar face in a collection.
- getMultipleFacesFromCollectionByImage() : array<string|int, array{faceId: string, similarity: float}>
- Search for all similar faces in a collection.
- getNumberOfFaces() : int
- Count the number of faces detected in an image.
Properties
$client
RekognitionClient instance.
private
RekognitionClient
$client
$debug
Debug mode.
private
bool
$debug
Methods
__construct()
Initialize Amazon Rekognition API client.
public
__construct(array{region?: string, key: string, secret: string, connect_timeout?: int, debug?: bool} $options) : mixed
Parameters
- $options : array{region?: string, key: string, secret: string, connect_timeout?: int, debug?: bool}
-
Configuration options:
-
region: AWS region to connect to. Default is "ap-northeast-1". -
key: (required) AWS access key ID. -
secret: (required) AWS secret access key. -
connect_timeout: Connection timeout in seconds. Default is 5. -
debug: Output Rekognition responses to debug log. Default is false.
-
Tags
addCollection()
Create a face collection.
public
addCollection(string $collectionId) : void
If the collection already exists, this method does nothing.
Parameters
- $collectionId : string
-
Collection ID.
Tags
addFaceToCollection()
Add a face to a collection.
public
addFaceToCollection(string $collectionId, string $faceImage) : string
The image must contain exactly one face.
Parameters
- $collectionId : string
-
Collection ID.
- $faceImage : string
-
Face image as Data URL, binary blob, or file path.
Tags
Return values
string —Unique face ID assigned by Rekognition.
compareFaces()
Compare two face images for similarity.
public
compareFaces(string $faceImage1, string $faceImage2) : float
Returns 0.0 if no face is detected in either image.
Parameters
- $faceImage1 : string
-
Source face image as Data URL, binary blob, or file path.
- $faceImage2 : string
-
Target face image as Data URL, binary blob, or file path.
Tags
Return values
float —Similarity percentage (0.0 to 100.0) between the two faces.
deleteCollection()
Delete a face collection.
public
deleteCollection(string $collectionId) : void
If the collection does not exist, this method does nothing.
Parameters
- $collectionId : string
-
Collection ID.
Tags
deleteFaceFromCollection()
Delete faces from a collection.
public
deleteFaceFromCollection(string $collectionId, array<string|int, string> $faceIds) : void
Parameters
- $collectionId : string
-
Collection ID.
- $faceIds : array<string|int, string>
-
Array of face IDs to delete.
Tags
detectionFaces()
Detect faces in an image.
public
detectionFaces(string $faceImage[, int $threshold = 90 ][, "DEFAULT"|"ALL" $attributes = 'DEFAULT' ]) : array<string|int, array<string|int, mixed>>
Parameters
- $faceImage : string
-
Face image as Data URL, binary blob, or file path.
- $threshold : int = 90
-
Minimum confidence percentage for face detection. Default is 90.
- $attributes : "DEFAULT"|"ALL" = 'DEFAULT'
-
Detail level. "ALL" returns full facial analysis. Default is "DEFAULT".
Tags
Return values
array<string|int, array<string|int, mixed>> —Array of detected face details above the confidence threshold.
existsCollection()
Check if a face collection exists.
public
existsCollection(string $collectionId) : bool
Parameters
- $collectionId : string
-
Collection ID.
Return values
bool —True if the collection exists.
existsFaceFromCollection()
Check if a matching face exists in a collection.
public
existsFaceFromCollection(string $collectionId, string $faceImage[, int $threshold = 80 ]) : bool
Parameters
- $collectionId : string
-
Collection ID.
- $faceImage : string
-
Face image as Data URL, binary blob, or file path.
- $threshold : int = 80
-
Minimum similarity percentage. Default is 80.
Return values
bool —True if a matching face is found.
generateCollectionId()
Generate a unique collection ID.
public
generateCollectionId() : string
Return values
string —Randomly generated collection ID.
getAllCollections()
List all face collection IDs.
public
getAllCollections() : array<string|int, string>
Tags
Return values
array<string|int, string> —Array of collection IDs.
getAllFacesFromCollection()
List all faces in a collection.
public
getAllFacesFromCollection(string $collectionId[, int $maxResults = 4096 ]) : array<string|int, array<string|int, mixed>>
Parameters
- $collectionId : string
-
Collection ID.
- $maxResults : int = 4096
-
Maximum number of faces to retrieve. Default is 4096.
Tags
Return values
array<string|int, array<string|int, mixed>> —Array of face metadata from the collection.
getCollection()
Describe a face collection.
public
getCollection(string $collectionId) : array<string|int, mixed>|null
Parameters
- $collectionId : string
-
Collection ID.
Tags
Return values
array<string|int, mixed>|null —Collection metadata, or null if not found.
getFaceFromCollectionByImage()
Search for the most similar face in a collection.
public
getFaceFromCollectionByImage(string $collectionId, string $faceImage[, int $threshold = 80 ]) : array{faceId: string, similarity: float}|null
Returns the single best match above the similarity threshold.
Parameters
- $collectionId : string
-
Collection ID.
- $faceImage : string
-
Face image as Data URL, binary blob, or file path.
- $threshold : int = 80
-
Minimum similarity percentage. Default is 80.
Return values
array{faceId: string, similarity: float}|null —Best match, or null if no match found.
getMultipleFacesFromCollectionByImage()
Search for all similar faces in a collection.
public
getMultipleFacesFromCollectionByImage(string $collectionId, string $faceImage[, int $threshold = 80 ][, int $maxFaces = 4096 ]) : array<string|int, array{faceId: string, similarity: float}>
Returns all faces matching above the similarity threshold.
Parameters
- $collectionId : string
-
Collection ID.
- $faceImage : string
-
Face image as Data URL, binary blob, or file path.
- $threshold : int = 80
-
Minimum similarity percentage. Default is 80.
- $maxFaces : int = 4096
-
Maximum number of matches to return. Default is 4096.
Tags
Return values
array<string|int, array{faceId: string, similarity: float}> —Array of matching faces with similarity scores.
getNumberOfFaces()
Count the number of faces detected in an image.
public
getNumberOfFaces(string $faceImage[, int $threshold = 90 ]) : int
Parameters
- $faceImage : string
-
Face image as Data URL, binary blob, or file path.
- $threshold : int = 90
-
Minimum confidence percentage for face detection. Default is 90.
Return values
int —Number of faces detected above the confidence threshold.