Easy way to analyze images with Laravel and Google Cloud Vision. Check their demo to see what it can do.
Convert an image or PDF document to text
$path = $request->file('file')->getRealPath();
$text = Vision::getFullText($path);
Get annotations of your image for one or more Vision features.
Make sure you extract the same type of annotations from the response as the feature you requested. (eg: Type::FACE_DETECTION
-> $response->getFaceAnnotations()
)
use Google\Cloud\Vision\V1\Feature\Type;
$path = $request->file('file')->getRealPath();
$features = [Type::FACE_DETECTION];
$response = Vision::annotateImage($path, $features);
$faces = $response->getFaceAnnotations();
This package can be installed through Composer.
composer require jonasva/laravel-vision
Publish config
php artisan vendor:publish --provider="Jonasva\Vision\VisionServiceProvider"
In order to use the Google Cloud Vision API, you'll need to setup a couple of things in Google Cloud Console.
-
Go to Cloud Console and select a project (or create a new one).
-
Add your project ID to your env file under
GOOGLE_CLOUD_PROJECT
-
Go to the API library and find "Cloud Vision API". Click "Enable"
-
Create a service account + credentials file for Cloud Vision API. Place the credentials file in your project, and add the path (relative to your project root) to it in your env file under
GOOGLE_APPLICATION_CREDENTIALS
. (seeconfig/vision.php
file for more details.) -
Setup a Google Cloud Storage bucket and make sure your newly created Cloud Vision service account user has read/write permissions to it. This bucket will be used to process PDF and TIFF type files.
-
Add the bucket name in your env under
GOOGLE_CLOUD_BUCKET
-
I suggest setting up a lifecycle rule for your bucket to automatically remove files older than 1 day.
Make sure you take a look at Cloud Vision API's pricing, as it's not an entirely free service.