Вызов Google Cloud Vision API по матрицам - PullRequest
0 голосов
/ 18 мая 2018

Я использую API обнаружения Google Text для распознавания изображений.

Я обнаружил, что мои результаты распознавания намного лучше, когда я выполняю некоторую предварительную обработку изображений с использованием opencv.

Мой вопрос - как я могу назвать API Google Cloud Vision для изображений, которые у меня в памяти, как массивы Numpy?Официальные документы Google показывают только видение API, принимающего изображение на диске в качестве входных данных.

Я хочу избежать ненужных операций записи на диск.

Ответы [ 2 ]

0 голосов
/ 27 мая 2018

Одним из способов предоставления изображения в Google Cloud Vison API является строка в кодировке base64. пример быстрого запуска использует клиентский API Python , который принимает поток байтов для содержимого изображения.

Вместо записи в файл вы можете кодировать свое изображение OpenCV img в байтовую строку вы можете напрямую передать в Cloud Vision API:

image = vision_client.image(content=cv2.imencode('.jpg', img)[1].tostring())
0 голосов
/ 20 мая 2018

Поддерживаемый в настоящее время механизм позволяет использовать:

  • Файл Google Cloud Storage (GCS), который может содержать данные изображения
  • Локальный файл, содержащий данные изображения

В качестве альтернативы, вы можете использовать REST API напрямую для base64-кодирования данных изображения и создания запроса REST, как показано ниже:

Создание запроса API Vision

...