Задать вопрос
@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])
  • Вопрос задан
  • 1436 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillbox
    Профессия Python-разработчик + ИИ
    10 месяцев
    Далее
Решения вопроса 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. Далеко тебе до "искать похожие", если ты такие элементарные вещи не понимаешь
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Краснодар
от 220 000 до 300 000 ₽
ITK academy Краснодар
от 75 000 ₽
DimaTech Ltd Краснодар
от 140 000 до 140 000 ₽