Захват изображения в оттенках серого с помощью камеры ESP32

esp

Для одного из моих проектов я хотел бы передать изображение камеры с наилучшим возможным разрешением и как можно большим количеством кадров в секунду с помощью ESP32Cam. Для этого я успешно использовал код из https://RandomNerdTutorials.com/esp32-cam-video-streaming-web-server-camera-home-assistant/

Изображения в оттенках серого было бы достаточно для дальнейшей обработки, если бы оно допускало более высокую скорость.

Проблема в том, что если я установлю формат PIXFORMAT_GRAYSCALE, ESP выведет только "Сбой захвата камеры".

Есть ли еще какие-то настройки?

, 👍2


2 ответа


1

Я просто попробовал это с моей ESP32Cam без проблем. Я бы проверил, что вы подаете достаточно энергии; я определенно видел "Сбой захвата камеры", когда у меня были проблемы с питанием. Кроме того, я бы попробовал более свежий учебник по ESP32Cam; последние библиотеки Expressif ESP32 Arduino имеют AI Thinker ESP32Cam в качестве выбора устройства. Я бы попробовал пример CameraWebServer в библиотеке ESP32 и посмотрел, есть ли у вас еще проблема.

,

1

Я предполагаю, что через 1 год вы больше не должны работать над этим, но для каждого, кто тоже нуждается в оттенках серого, вот мое решение.

Для справки я нашел здесь, что мы можем установить : s->set_special_effect(s, 2); Где 2 - эффект оттенков серого.

0 - Нет эффекта 1 - Отрицательный 2 - Оттенки серого 3 - Красный оттенок 4 - Зеленый оттенок 5 - Синий оттенок 6 - Сепия

  // Camera init
  esp_err_t err = esp_camera_init(&config);
  if (err != ESP_OK) {
    Serial.printf("Camera init failed with error 0x%x", err);
    return;
  }

  sensor_t * s = esp_camera_sensor_get();
  s->set_special_effect(s, 2); // от 0 до 6 (0 - Нет эффекта, 1 - Отрицательный, 2 - Оттенки серого, 3 - Красный оттенок, 4 - Зеленый оттенок, 5 - Синий оттенок, 6 - Сепия)
,