Проблемно
У меня есть изображение PIL, и я хочу преобразовать его в массив байтов. Я не могу сохранить изображение на жестком диске, поэтому не могу использовать функцию open(file_path, 'rb')
по умолчанию.
Что я пробовал
Чтобы решить эту проблему, я пытаюсь использовать библиотеку io
, делая это:
buf = io.BytesIO()
image.save(buf, format='JPEG')
b_image = buf.getvalue()
Рассмотрение изображения как функционального изображения PIL.
b_image будет использоваться в качестве аргумента для функции когнитивных служб Microsoft Azure read_in_stream()
Если мы посмотрим на документацию, мы увидим, что этот аргумент изображения функции должен быть:
ссылка на изображение: Генератор
Необходимый
Поток изображений.
Документация доступна здесь < / а>
Проблема
Когда я его выполняю, я получаю ошибку:
Файл C: ... \ envs \ trainer \ lib \ site-packages \ msrest \ service_client.py, строка 137, в блоке stream_upload = data.read (self.config.connection.data_block_size)
AttributeError: объект 'bytes' не имеет атрибута 'read'
Нет ошибки в аутентификации клиента или в другой момент, потому что, когда я даю в качестве параметра изображение, импортированное с помощью этой строки:
image = open("./1.jpg", 'rb')
Все работает правильно ..
Источники
Я также видел этот пост, в котором подробно объясняется, что я хочу делать, но в моем случае это не работает. Любая идея будет оценена по достоинству.