1Aspect1
@1Aspect1

Как на основе данных с камеры, отправлять их в бд (python)?

Собираюсь реализовать анализ рельс на излом через opencv, нейросети (скормить им фотографии дефектов рельс), камера - анализирует, raspberry pi у себя сохраняет, и в целом запускает код. (кроме малины, если что, нечего использовать). Вопрос в том, как сделать, чтобы, как только камера увидит излом - сразу отправлять фото в бд (хотя бы с этим помочь, геолокацию как-нибудь тоже настроим). Может быть кто-то разбирается в этом
  • Вопрос задан
  • 152 просмотра
Пригласить эксперта
Ответы на вопрос 2
mayton2019
@mayton2019
Bigdata Engineer
Для отправки данных с камеры в базу данных в Python, вы можете использовать следующий подход:
  1. Получите данные с камеры: Используйте библиотеку OpenCV для получения данных с камеры. Вы можете использовать метод cv2.VideoCapture() для получения кадров с камеры.
  2. Подключитесь к базе данных: Используйте библиотеку Python для работы с базами данных, такую как sqlite3 или pymysql. Вы можете использовать метод connect() для подключения к базе данных и создания объекта подключения.
  3. Создайте таблицу в базе данных: Используйте SQL-запросы для создания таблицы в базе данных. Например, если вы используете SQLite, то можете создать таблицу следующим образом
import sqlite3

conn = sqlite3.connect('database.db')
c = conn.cursor()

c.execute('''CREATE TABLE frames
             (frame BLOB)''')

Вставьте данные в таблицу: Используйте SQL-запросы для вставки данных в таблицу. Например, если вы используете SQLite, то можете вставить данные следующим образом:
import sqlite3

conn = sqlite3.connect('database.db')
c = conn.cursor()

frame_data = # полученные данные с камеры
c.execute("INSERT INTO frames VALUES (?)", (frame_data,))

Закройте соединение с базой данных: Используйте метод commit() для сохранения изменений в базе данных, а затем метод close() для закрытия соединения.
import sqlite3

conn = sqlite3.connect('database.db')
c = conn.cursor()

frame_data = # полученные данные с камеры
c.execute("INSERT INTO frames VALUES (?)", (frame_data,))
conn.commit()

conn.close()


Это основной подход к отправке данных с камеры в базу данных в Python. Однако, конечный результат может отличаться в зависимости от ваших требований и используемой базы данных.

Ответ написан
@12rbah
Вопрос в том, как сделать, чтобы, как только камера увидит излом - сразу отправлять фото в бд
В целом хранить картики/файлы в БД обычно не имеет смысла, логичнее помещать картинки на диск а в бд хранить путь/найден ли был дефект/дату и т.д. и потом по запросу можно будет получить выборку почему плохо хранить файлы в бд
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы