esp32cam
OV2640 camera on ESP32-CAM
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
config.hpp
Go to the documentation of this file.
1#ifndef ESP32CAM_CONFIG_HPP
2#define ESP32CAM_CONFIG_HPP
3
4#include "pins.hpp"
5#include "resolution.hpp"
6
7namespace esp32cam {
8namespace detail {
9
11int
12convertJpegQuality(int quality);
13
14} // namespace detail
15
17class Config {
18public:
19 Config();
20
21 ~Config();
22
23 Config& setPins(const Pins& pins);
24
25 Config& setResolution(const Resolution& resolution);
26
31 Config& setBufferCount(int n);
32
34 Config& setRgb();
35
37 Config& setYuv();
38
41
46 Config& setJpeg(int quality);
47
48private:
49 class CameraConfigT;
50 CameraConfigT* m_cfg;
51
52 friend class CameraClass;
53};
54
56enum class LightMode {
57 NONE = -1,
58 AUTO = 0,
59 SUNNY = 1,
60 CLOUDY = 2,
61 OFFICE = 3,
62 HOME = 4,
63};
64
66enum class SpecialEffect {
67 NONE = 0,
68 NEGATIVE = 1,
69 BLACKWHITE = 2,
70 REDDISH = 3,
71 GREENISH = 4,
72 BLUISH = 5,
73 ANTIQUE = 6,
74};
75
77struct Settings {
80
82 int8_t brightness;
83
85 int8_t contrast;
86
88 int8_t saturation;
89
96 int8_t gain;
97
100
103
105 bool hmirror = false;
106
108 bool vflip = false;
109
111 bool rawGma = false;
112
114 bool lensCorrection = false;
115};
116
117} // namespace esp32cam
118
119#endif // ESP32CAM_CONFIG_HPP
Definition camera.hpp:10
Definition config.cpp:19
Camera initialization configuration.
Definition config.hpp:17
Config & setRgb()
Change pixel format to RGB565.
Definition config.cpp:71
Config()
Definition config.cpp:21
Config & setYuv()
Change pixel format to YUV422.
Definition config.cpp:77
Config & setBufferCount(int n)
Set number of frame buffers.
Definition config.cpp:65
Config & setJpeg(int quality)
Change pixel format to JPEG.
Definition config.cpp:89
~Config()
Definition config.cpp:33
Config & setGrayscale()
Change pixel format to grayscale.
Definition config.cpp:83
Config & setResolution(const Resolution &resolution)
Definition config.cpp:59
Config & setPins(const Pins &pins)
Definition config.cpp:38
Picture width and height.
Definition resolution.hpp:12
int convertJpegQuality(int quality)
Convert JPEG quality from 0-100 scale to 63-0 scale.
Definition config.cpp:13
Definition esp32cam.h:14
LightMode
Light mode / white balance values.
Definition config.hpp:56
SpecialEffect
Special effect values.
Definition config.hpp:66
Camera pins definition.
Definition pins.hpp:7
Camera runtime settings.
Definition config.hpp:77
int8_t gain
Gain control, with or without Automatic Gain Control (AGC).
Definition config.hpp:96
Resolution resolution
Picture resolution.
Definition config.hpp:79
bool hmirror
Horizontal flip.
Definition config.hpp:105
bool vflip
Vertical flip.
Definition config.hpp:108
bool lensCorrection
Lens correction mode.
Definition config.hpp:114
LightMode lightMode
Image light mode.
Definition config.hpp:99
bool rawGma
Raw gamma mode.
Definition config.hpp:111
SpecialEffect specialEffect
Image special effect.
Definition config.hpp:102
int8_t contrast
Image contrast, between -2 and +2.
Definition config.hpp:85
int8_t brightness
Image brightness, between -2 and +2.
Definition config.hpp:82
int8_t saturation
Image saturation, between -2 and +2.
Definition config.hpp:88