Я новичок в Google Vision API Client Lib
Я использую Vision API Client Lib для PHP для обнаружения текста в изображениях, это мой код:
<?php
require 'vendor/autoload.php';
use Google\Cloud\Vision\VisionClient;
function object_to_array($object) {
return (array) $object;
}
$vision = new VisionClient(
['keyFile' => json_decode(file_get_contents("smartcity-credentials.json"), true)]
);
$img = file_get_contents('img2.jpg');
$image=$vision->image($img,['DOCUMENT_TEXT_DETECTION']);
$result=$vision->annotate($image);
$res=object_to_array($result);
var_dump($res);
?>
Все, что мне нужно, это использовать ответ в качестве массива для обработки, но $ result возвращает что-то вроде массива объекта / объекта (извините, потому что я не очень разбираюсь в OOP / Object)
Хотя я конвертирую $ result в массив $ res, но если я использую цикл foreach
foreach ($res as $key=>$value){
echo $value;
echo '<br>';
}
Я понял
Исправляемая фатальная ошибка: объект класса Google \ Cloud \ Vision \ Annotation \ Document не может быть преобразован в строку
Как мы можем получить значение (текст обнаружен) в ответе выше для использования?
Вы должны использовать методы fullText () и text () для доступа к обнаруженному тексту, что-то вроде этого:
$document = $annotation->fullText();
$text = $document->text();
Смотрите спецификацию этих классов аннотирование а также Документ.
вы не можете использовать $value
типа Document
как строка с echo
,
использование print_r($annotation);
чтобы увидеть, что вы даже получите обратно.
этот пример определения текста документа выглядит довольно похоже, обратите внимание на вложенные foreach
петли там. также увидеть документация:
use Google\Cloud\Vision\VisionClient;
$vision = new VisionClient();
$imageResource = fopen(__DIR__.'/assets/the-constitution.jpg', 'r');
$image = $vision->image($imageResource, ['DOCUMENT_TEXT_DETECTION']);
$annotation = $vision->annotate($image);
$document = $annotation->fullText();
$info = $document->info();
$pages = $document->pages();
$text = $document->text();
вот еще немного Примеры; в частности detect_document_text.php.