123456789101112131415161718192021222324252627282930313233343536373839 |
- #ifndef ESP32_CAMERA_H
- #define ESP32_CAMERA_H
- #include <esp_camera.h>
- #include <lvgl.h>
- #include <thread>
- #include <memory>
- #include <freertos/FreeRTOS.h>
- #include <freertos/queue.h>
- #include "camera.h"
- struct JpegChunk {
- uint8_t* data;
- size_t len;
- };
- class Esp32Camera : public Camera {
- private:
- camera_fb_t* fb_ = nullptr;
- lv_img_dsc_t preview_image_;
- std::string explain_url_;
- std::string explain_token_;
- std::thread encoder_thread_;
- public:
- Esp32Camera(const camera_config_t& config);
- ~Esp32Camera();
- virtual void SetExplainUrl(const std::string& url, const std::string& token);
- virtual bool Capture();
- // 翻转控制函数
- virtual bool SetHMirror(bool enabled) override;
- virtual bool SetVFlip(bool enabled) override;
- virtual std::string Explain(const std::string& question);
- };
- #endif // ESP32_CAMERA_H
|