Используйте Google Cloud Vision в Codeigniter, не удается найти класс ImageAnnotatorClient - PullRequest
0 голосов
/ 01 апреля 2019

Я хочу реализовать textDetection в облачном видении Google с помощью облачного видения Google.

Я установил композитор из облачного видения Google стороннему поставщику в codeignier.

Что моя установка в конструкции:

include APPPATH . 'third_party/vendor/autoload.php';
        require_once APPPATH.'third_party/vendor/google/cloud-vision/src/V1/ImageAnnotatorClient.php';          

и моя функция для вызова OCR:

function upload_ocr_image()
    {               
        if (count($_FILES) === 0) { echo 'no image received from unity'; }

        $phone_code = $this->input->post('phone_code', true);
        $phone_number = $this->input->post('phone_number', true);

        $allowedType = array(IMAGETYPE_GIF,IMAGETYPE_JPEG,IMAGETYPE_PNG);       
        $imgType = exif_imagetype($_FILES['ocr_image']['tmp_name']);

        if(!in_array($imgType,$allowedType))
        {
            echo "Images Type Error. Images Type Only : GIF , JPEG, PNG";
            exit;
        }
        else
        {

            //upload original size front end slider
            $config['upload_path'] = './assets/ocr_image/';
            $config['allowed_types'] = '*';
            $config['file_name'] = $phone_code.$phone_number.".jpg";
            $config['overwrite'] = TRUE;
            $config['max_size'] = '8096';
            $config['max_width']  = '8000';
            $config['max_height']  = '8000';


            $this->load->library('upload', $config);

            $this->upload->initialize($config);
            if(!$this->upload->do_upload("ocr_image"))
            {
                echo "Maximum File Size Only 2 Mb Or Max Width = 2000 , Height = 2000";
                exit;
            }
            else
            {
                $img_data = $this->upload->data();

                // Authenticating with a keyfile path.

                $imageAnnotator = new ImageAnnotatorClient([
                    'credentials' => base_url().'assets/google_cloud_vision/keyfile.json'
                ]);

                # annotate the image
                $response = $imageAnnotator->textDetection($img_data['full_path']);
                $texts = $response->getTextAnnotations();

                printf('%d texts found:' . PHP_EOL, count($texts));
                foreach ($texts as $text) {
                    print($text->getDescription() . PHP_EOL);

                    # get bounds
                    $vertices = $text->getBoundingPoly()->getVertices();
                    $bounds = [];
                    foreach ($vertices as $vertex) {
                        $bounds[] = sprintf('(%d,%d)', $vertex->getX(), $vertex->getY());
                    }
                    print('Bounds: ' . join(', ',$bounds) . PHP_EOL);
                }

                $imageAnnotator->close();

            }
        }
    }

Но перед обработкой обнаружения текста у меня возникла ошибка:

Неустранимая ошибка : класс 'ImageAnnotatorClient' не найден

Что это за строка:

$ imageAnnotator = new ImageAnnotatorClient ([

Что может вызвать ошибку? Из приведенной выше конструкции я уже включил или require_once Путь к классу.

Я что-то упустил здесь?

Спасибо

1 Ответ

0 голосов
/ 02 апреля 2019

Это ответ.

Проверьте это сообщение: Пространство имен в PHP CodeIgniter Framework

Просто добавьте код для определения пространства имен внизу config.php

...