@4elive8
Positive

Как открыть изображение из таблицы Postgresql?

Добрый день! Я люблю изучать что нибудь на практике(учу postgresql) и придумал задачку. Суть скрипта таков, что он фотографирует тебя и ищет похожие снимки из таблицы в БД, и показать рядом в отдельном окне снимок и фото из БД. Застрял в одном месте, где нужно отобразить фото из БД, там какие то двоичные данные(формат bytea). Суть вопроса как вместо этих символов вывести саму картинку! Спасибо заранее!
Ps: Может ошибка в коде, приложу внизу.
db = postgresql.open('pq://postgres:postgres@localhost:5432/mydb')
db.execute("CREATE TABLE faces (id SERIAL PRIMARY KEY, " "name VARCHAR(50), " "face BYTEA)")
face_descriptors = db.query("SELECT name, face FROM faces")

# Здесь он выводит имя
print("It is ", face_descriptors[i][0])
  • Вопрос задан
  • 1141 просмотр
Решения вопроса 1
igorzakhar
@igorzakhar
Библиотека Pillow тебе в помощь:
$ pip install Pillow

from PIL import Image
import io

image_data = ... # байты картинки
image = Image.open(io.BytesIO(image_data))
image.show()
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
@pfg21
ex-турист
1. получить поток байтов из ячейки постгре
2. скормить онный поток байтов декодеру картинки.
3. отобразить картинку

практически также как отображение картинки из файла, акромя первого пункта :)
Ответ написан
Комментировать
Kwisatz
@Kwisatz
Больше web-приложений, хороших и разных
Для какой цели вы пытаетесь переложить задачи ФС на БД?
Ответ написан
Комментировать
@deliro
1. Разберись, что такое байты
2. Не храни фотографии в БД. Потому что
3. Далеко тебе до "искать похожие", если ты такие элементарные вещи не понимаешь
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
17 апр. 2024, в 00:48
35000 руб./за проект
17 апр. 2024, в 00:13
800 руб./за проект
17 апр. 2024, в 00:06
240000 руб./за проект