简体   繁体   中英

Google vision API food label detection in android

I am making an in-depth food logging application for android mobile and I would like to add some basic image recognition using the google vision API.

I've been experimenting with the API and using PHP with no success. I've been looking through all the tutorials and always get stuck on some point.

This is the closest I've came so far in php

<?php
# Includes the autoloader for libraries installed with composer
require __DIR__ . '/vendor/autoload.php';

# Imports the Google Cloud client library
use Google\Cloud\Vision\VisionClient;

# Your Google Cloud Platform project ID
$projectId = 'foodlogging-160914';

putenv('GOOGLE_APPLICATION_CREDENTIALS=./FoodLogging-ae7e284eb66e.json');

# Instantiates a client
$vision = new VisionClient([
    'projectId' => $projectId
]);

# The name of the image file to annotate
$fileName = __DIR__ . '/hamburger.jpg';

# Prepare the image to be annotated
$image = $vision->image(fopen($fileName, 'r'), [
    'LABEL_DETECTION'
]);

# Performs label detection on the image file
$labels = $vision->annotate($image)->labels();

echo "Labels:\n";
foreach ($labels as $label) {
    echo $label->description() . "\n";
}
?>

But then I get this error.

Fatal error: Uncaught exception 'Google\Cloud\Exception\ServiceException' with message 'DateTime::__construct(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone.' in /Library/WebServer/Documents/foodLogging/vendor/google/cloud/src/RequestWrapper.php:223 Stack trace: #0 /Library/WebServer/Documents/foodLogging/vendor/google/cloud/src/RequestWrapper.php(136): Google\Cloud\RequestWrapper->convertToGoogleException(Object(Google\Cloud\Exception\ServiceException)) #1 /Library/WebServer/Documents/foodLogging/vendor/google/cloud/src/RestTrait.php(83): Google\Cloud\RequestWrapper->send(Object(GuzzleHttp\Psr7\Request), Array) #2 /Library/WebServer/Documents/foodLogging/vendor/google/cloud/src/Vision/Connecti in /Library/WebServer/Documents/foodLogging/vendor/google/cloud/src/RequestWrapper.php on line 223

I've followed the entire documentation and I have no clue why it has trouble about the datetime because I never even use it.

Does anyone have any experience with the google vision API that can help me out? Preferably with the android part, help me get on my way or help me get started?

Thanks ahead.

在php.ini中设置时区。

➜ ~ cat /etc/php.ini | grep timezone ; Defines the default timezone used by the date functions ; http://php.net/date.timezone date.timezone = America/Sao_Paulo

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM