Как перенести фотографии из Telegram в opencv?Python

Программы на Python
Ответить
Anonymous
 Как перенести фотографии из Telegram в opencv?

Сообщение Anonymous »


Я работаю над ботом для Telegram, который получает фотографию со штрих-кодом. Я взаимодействую с Telegram API через модуль Telebot Фотография обрабатывается, штрих-код распознается и сохраняется в базе данных. Застрял в одном месте. Фотографии из телеграмма скачиваются в байтовом формате. Эту фотографию можно сохранить в формате png, а затем обработать и распознать по штрих-коду с помощью модуля opencv. Но модуль openCV уже работает со СКАЧАННЫМ образом. Как передать байтовый тип данных в модуль openCV БЕЗ СОХРАНЕНИЯ изображения?

Я отформатировал байт-код в массив numpy. Но тогда opencv не сможет увидеть и распознать штрих-код. Я сохранил изображение. Потом я открыл его через openCV и штрих-код распознался. Но я хочу перенести изображение БЕЗ СОХРАНЕНИЯ.

ваш текст
импортировать телебота как tb из токена импорта конфигурации импортный сканер импортировать cv2 импортировать numpy как np декодирование импорта из pyzbar.pyzbar импортировать базу64 импортировать PIL.Image как изображение импорт ио бот = tb.TeleBot(токен) bot.set_my_commands([ tb.types.BotCommand("/start", "Start")]) @bot.message_handler(commands=['start']) защита start_bot (сообщение): bot.send_message(message.chat.id, 'Запустить бота') @bot.message_handler(func=lambda m: True, content_types=['photo']) защита get_broadcast_picture (сообщение): путь_файла = bot.get_file(message.photo[1].file_id).путь_файла файл = bot.download_file(путь_файла) result_code = Scanner_bar_cv2 (файл) bot.send_message(message.chat.id, result_code) def Scanner_bar_cv2 (имя_файла: байты): nparr = np.fromstring(имя_файла, np.uint8) r = cv2.imdecode(nparr, cv2.IMREAD_UNCHANGED) # img = cv2.imread(путь) bd = cv2.barcode.BarcodeDetector() img = bd.detectAndDecode(r) если __name__ == "__main__": bot.polling(non_stop=True, timeout=123)
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»