clickandmortar / rekognition-php
Simple to use PHP library for AWS Rekognition
Requires
- php: ^7.1
- aws/aws-sdk-php: ^3.82
Requires (Dev)
- phpunit/phpunit: ^7.5
This package is auto-updated.
Last update: 2024-11-08 06:57:52 UTC
README
Rekognition PHP - C&M
Simple to use PHP library for AWS Rekognition.
Rekognition PHP
allows to detect in images:
- Labels (using DetectLabels)
Detects instances of real-world entities within an image (JPEG or PNG) provided as input. This includes objects like flower, tree, and table; events like wedding, graduation, and birthday party; and concepts like landscape, evening, and nature.
- Text (using DetectText)
Detects text in the input image and converts it into machine-readable text.
Installation
composer require clickandmortar/rekognition-php
Configuration
Configure credentials
Before using rekognition-php
, set credentials to make requests to Amazon Web Services.
Usage
The following code will allow to retrieve the output from previous picture:
<?php use ClickAndMortar\Rekognition\Service\DetectService; require 'vendor/autoload.php'; $detectService = new DetectService(); $url = 'https://raw.githubusercontent.com/ClickAndMortar/rekognition-php/master/img/tshirt.png'; $rekognitionImage = $detectService->detectFromUrl($url); $minimumConfidence = 80; print 'Labels:' . PHP_EOL; foreach ($rekognitionImage->getLabels($minimumConfidence) as $label) { print $label; } print 'Texts:' . PHP_EOL; foreach ($rekognitionImage->getTexts($minimumConfidence) as $text) { print $text; }
Output will be the same if:
$url = 'https://raw.githubusercontent.com/ClickAndMortar/rekognition-php/master/img/tshirt.png'; $rekognitionImage = $detectService->detectFromUrl($url);
is replaced with:
$filename = 'img/tshirt.png'; $handle = fopen($filename, 'r'); $image = fread($handle, filesize($filename)); fclose($handle); $rekognitionImage = $detectService->detect($image);
or
$filename = 'img/tshirt.png'; $handle = fopen($filename, 'r'); $image = fread($handle, filesize($filename)); fclose($handle); $base64image = base64_encode($image); $rekognitionImage = $detectService->detectFromBase64($base64image);
Advanced configuration (Optional)
Configure Rekognition client options
Configuring Rekognition client options is optional as default values will be used if none are set with the following methods.
region
and version
are configurable using environment variables AWS_REGION
and
AWS_REKOGNITION_VERSION
.
It is also possible to pass this options to DetectService
constructor:
$detectService = new DetectService([ 'region' => 'eu-west-1', 'version' => '2016-06-27', ]);
Tests
Run tests
vendor/bin/phpunit
Docker
Installation
docker run --rm -it -v $PWD:/app composer install
Run
Create main.php
with code from Usage.
docker run --rm -it -e AWS_ACCESS_KEY_ID="$AWS_ACCESS_KEY_ID" -e AWS_SECRET_ACCESS_KEY="$AWS_SECRET_ACCESS_KEY" -v "$PWD":/app -w /app php:7.1-cli php main.php
Run tests
docker run --rm -it -e AWS_ACCESS_KEY_ID="$AWS_ACCESS_KEY_ID" -e AWS_SECRET_ACCESS_KEY="$AWS_SECRET_ACCESS_KEY" -v "$PWD":/app -w /app php:7.1-cli vendor/bin/phpunit