Как прочитать картинку с ESP32 в cv2 питон?
Я хочу получать картинку с камеры esp32 через питон. Я нашёл куда она выводится http://мой-айпи/stream. Сам в браузере проверил что всё работает, на всякий вышел с сайта, с питона получаю от туда инфу этим кодом -
import cv2 capture = cv2.VideoCapture('http://мой-айпи/stream') print(capture.read()) while True: ret, frame = capture.read() cv2.imshow("Camera", frame) if cv2.waitKey(1) & 0xFF == ord('q'): break capture.release() cv2.destroyAllWindows() |
import cv2 capture = cv2.VideoCapture('http://мой-айпи/stream') print(capture.read()) while True: ret, frame = capture.read() cv2.imshow("Camera", frame) if cv2.waitKey(1) & 0xFF == ord('q'): break capture.release() cv2.destroyAllWindows()
Но он просто бесконечно грузит...
PS F:VSCpj> & c:/Users/Лев/AppData/Local/Programs/Python/Python311/python.exe f:/VSCpj/rabota.py |
PS F:VSCpj> & c:/Users/Лев/AppData/Local/Programs/Python/Python311/python.exe f:/VSCpj/rabota.py
https://i.stack.imgur.com/hI96x.png
Сайт с выводом картинки:
https://i.stack.imgur.com/kJjMB.png
Дополнительно:
Ответы:
А точно по адресу http://мой-айпи/stream лежит картинка? По адресу больше похоже на видеопоток, тогда естественно, что питон загрузить не может, поток ведь не кончается.
Лев,
1)очень плохо иметь в путях не латинские буковки, от этого некоторые программы корёжит.
2) переустанови пайтон в корень диска в отдельную папку и положи туда, файлы из папки "OpenCV3dpatryffmpeg*"
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для того чтобы прочитать картинку с ESP32 в OpenCV (cv2) в Python, необходимо использовать библиотеку MicroPython и настроить ESP32 для передачи изображения на компьютер. Вот примерный алгоритм действий:
1. Установите MicroPython на ваш ESP32 и настройте его для передачи изображения по Wi-Fi или другому способу связи.
2. На компьютере, используя Python, установите библиотеку OpenCV (cv2) для обработки изображений.
3. Напишите скрипт на Python, который будет принимать изображение с ESP32 и использовать OpenCV для его обработки.
Пример кода на Python для чтения изображения с ESP32 в OpenCV:
import cv2 import numpy as np import urllib.request # Загрузка изображения с ESP32 url = 'http://ip_address/image.jpg' # замените ip_address на актуальный IP адрес ESP32 resp = urllib.request.urlopen(url) image = np.asarray(bytearray(resp.read()), dtype="uint8") image = cv2.imdecode(image, cv2.IMREAD_COLOR) # Обработка изображения с OpenCV gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) cv2.imshow('Gray Image', gray_image) cv2.waitKey(0) cv2.destroyAllWindows()
Не забудьте заменить 'http://ip_address/image.jpg' на актуальный URL изображения с ESP32. Также убедитесь, что ESP32 настроен на передачу изображения в нужном формате. В данном примере мы используем цветное изображение, его можно преобразовать в черно-белое с помощью OpenCV.
Это лишь общий пример кода, который можно доработать и улучшить под свои нужды. Надеюсь, это поможет вам решить проблему с чтением изображения с ESP32 в OpenCV.