Skip to content

jordikroon/Php-Google-Vision-Api

Repository files navigation

Google Vision, PHP Client

Latest Stable Version Build Status Dependency Status License

Instalation

The easiest way to install Google Vision is through Composer.

composer require jordikroon/google-vision

Next is to obtain an API key through the Google Cloud Platform. To get one visit the link below. https://cloud.google.com/vision/docs/quickstart

Requirements

Basic usage

$vision = new \Vision\Vision(
    $apiKey, 
    [
        // See a list of all features in the table below
        // Feature, Limit
        new \Vision\Feature(\Vision\Feature::FACE_DETECTION, 100),
    ]
);

$imagePath = $_FILES['file']['tmp_name'];
$response = $vision->request(
    // See a list of all image loaders in the table below
    new \Vision\Request\Image\LocalImage($imagePath)
);

$faces = $response->getFaceAnnotations();
foreach ($faces as $face) {
    foreach ($face->getBoundingPoly()->getVertices() as $vertex) {
        echo sprintf('Person at position X %f and Y %f', $vertex->getX(), $vertex->getY());
    }
}

Available features

Name Constant
LABEL_DETECTION \Vision\Feature::LABEL_DETECTION        
TEXT_DETECTION \Vision\Feature::TEXT_DETECTION
FACE_DETECTION \Vision\Feature::FACE_DETECTION
LANDMARK_DETECTION \Vision\Feature::LANDMARK_DETECTION
LOGO_DETECTION \Vision\Feature::LOGO_DETECTION
SAFE_SEARCH_DETECTION \Vision\Feature::SAFE_SEARCH_DETECTION
IMAGE_PROPERTIES \Vision\Feature::IMAGE_PROPERTIES
WEB_DETECTION \Vision\Feature::WEB_DETECTION
CROP_HINTS \Vision\Feature::CROP_HINTS
DOCUMENT_TEXT_DETECTION \Vision\Feature::DOCUMENT_TEXT_DETECTION

Available image loaders

Image loader Description
\Vision\Request\Image\Base64Image Loads Base64 encoded images        
\Vision\Request\Image\BinaryImage Loads binary images (file_get_contents or fopen)
\Vision\Request\Image\GoogleCloudImage Loads images from a Google Cloud bucket
\Vision\Request\Image\LocalImage Loads a locally stored image
\Vision\Request\Image\RemoteImage Loads a remote (HTTP/HTTPS) image somewhere from the web

To add a feature, add a new \Vision\Feature instance to features array used as second parameter. See Basic Usage for a full example.

new \Vision\Feature($feature, $maxResults);

Run tests

$ composer install
$ ./vendor/bin/phpunit 

Authors

Jordi Kroon | Github | Twitter | jordikroon.nl