Как прочитать картинку с ESP32 в cv2 питон?

Ссылка скопирована
1 ответ

Я хочу получать картинку с камеры 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*"

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Никита Орлов Ответ

Для того чтобы прочитать картинку с 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()

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.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно