Помогите передать изображение в tesseract без сохранения файла на сервер
Суть вопроса такова. Имеется картинка закодированная в base64. Я получаю её с удаленного сервера. Необходимо декодировать эту картинку из base 64 и без сохранения на сервер передать в Teseract. Прикладываю код.
$img= base64_decode("любая картинка в формате base64");
require_once ('C:\OpenServer\vendor\autoload.php');
use thiagoalessio\TesseractOCR\TesseractOCR;
echo (new TesseractOCR('img.jpeg')) // Тут необходимо передавать картинку не из файла на сервере, а из переменной $img
->lang('eng')
->run();
Помогите пожалуйста кто может.
Ответы (1 шт):
Автор решения: SoulOFTrue
→ Ссылка
В официальной документации есть пример с Imagick, если адаптировать под Вас.
$img= base64_decode("любая картинка в формате base64");
require_once ('C:\OpenServer\vendor\autoload.php');
use thiagoalessio\TesseractOCR\TesseractOCR;
$data = $img->getImageBlob();
$size = $img->getImageLength();
//Using GD
ob_start();
// Note that you can use any format supported by tesseract
imagepng($img, null, 0);
$size = ob_get_length();
$data = ob_get_clean();
$ocr = new TesseractOCR();
$ocr->imageData($data, $size);
$ocr->lang('eng');
$ocr->run();