bobbyshaw / ibm-watson-visual-recognition
A PHP library to provide API calls & handle authentication with the IBM Watson Visual Recognition
Requires
- php: >=5.5.0
- guzzlehttp/guzzle: 6.1.*
- psr/http-message: 1.0.*
- symfony/console: 2.6.*
- symfony/http-foundation: ~2.1
Requires (Dev)
- fabpot/php-cs-fixer: ^1.11
- phpdocumentor/phpdocumentor: 2.*
- phpro/grumphp: ^0.7.0
- phpunit/phpunit: 4.0.*
- roave/security-advisories: dev-master
- squizlabs/php_codesniffer: ^2.5
This package is not auto-updated.
Last update: 2024-04-13 17:08:07 UTC
README
This PHP library provides integration with the IBM Watson Visual Recognition service.
See API documentation.
Usage
The structure of this library was inspired by the Omnipay suite of packages.
One of the things that this means is the library doesn't hide away that fact that API requests are being made. For each API request, the request should be created with parameters passed in, sent and then response reviewed.
All requests are available via the Client.
use Bobbyshaw\WatsonVisualRecognition\Client;
use Bobbyshaw\WatsonVisualRecognition\Classifier;
$client = new Client();
The client should then be initialized with parameters, e.g. username and password (your IBM Watson Service credentials).
$client->initialize(['username' => 'abcdef', 'password' => '12356])
The following can be used find default parameters
$client->getDefaultParameters();
Each method matches an API request and returns a request object ready to be sent. Most of the time you'll want to send the request straight away.
$request = $client->getClassifiers();
$response = $request->send();
Each response has a class which helps to manage the response, e.g with the Classifier and Image classes.
/** @var Classifier[] $classifiers */
$classifiers = $response->getClassifiers();
Commands
The library also comes with a set of commands to use on the command line
Get Classifiers
php app/console classifiers:get [-d|--version-date="..."] username password
Classify Image(s)
php app/console classifiers:classify [-c|--classifiers="..."] [-d|--version-date="..."] username password images
Get Classifier Info
php app/console classifier:get [-d|--version-date="..."] username password classifier_id
Create/Train Classifier
php app/console classifier:create [-d|--version-date="..."] username password positive_examples negative_examples name
Delete Classifier
php app/console classifier:delete [-d|--version-date="..."] username password classifier_id
Testing
Run phpunit tests with:
vendor/bin/phpunit
This is also using grumphp to automatically check for PSR style formatting as well.
Test images are provided by Pixabay.
Documentation
PHPDocumentor is being used for creating library documentation. So make sure to add function comments
vendor/bin/
You may need to install graphViz on your machine if you don't already have it. This can be done on mac with homebrew
brew install graphviz