ColorCamera.hpp
Go to the documentation of this file.
1 #pragma once
2 
4 
6 
7 // shared
9 
10 namespace dai {
11 namespace node {
12 
16 class ColorCamera : public NodeCRTP<Node, ColorCamera, ColorCameraProperties> {
17  public:
18  constexpr static const char* NAME = "ColorCamera";
19 
20  protected:
22 
23  private:
24  std::shared_ptr<RawCameraControl> rawControl;
25 
26  public:
30  ColorCamera(const std::shared_ptr<PipelineImpl>& par, int64_t nodeId);
31  ColorCamera(const std::shared_ptr<PipelineImpl>& par, int64_t nodeId, std::unique_ptr<Properties> props);
32 
36  int getScaledSize(int input, int num, int denom) const;
37 
42 
48  Input inputConfig{*this, "inputConfig", Input::Type::SReceiver, false, 8, {{DatatypeEnum::ImageManipConfig, false}}};
49 
55  Input inputControl{*this, "inputControl", Input::Type::SReceiver, true, 8, {{DatatypeEnum::CameraControl, false}}};
56 
62  Output video{*this, "video", Output::Type::MSender, {{DatatypeEnum::ImgFrame, false}}};
63 
69  Output preview{*this, "preview", Output::Type::MSender, {{DatatypeEnum::ImgFrame, false}}};
70 
76  Output still{*this, "still", Output::Type::MSender, {{DatatypeEnum::ImgFrame, false}}};
77 
83  Output isp{*this, "isp", Output::Type::MSender, {{DatatypeEnum::ImgFrame, false}}};
84 
90  Output raw{*this, "raw", Output::Type::MSender, {{DatatypeEnum::ImgFrame, false}}};
91 
100  Output frameEvent{*this, "frameEvent", Output::Type::MSender, {{DatatypeEnum::ImgFrame, false}}};
101 
106  void setBoardSocket(CameraBoardSocket boardSocket);
107 
113 
118  void setCamera(std::string name);
119 
124  std::string getCamera() const;
125 
127  [[deprecated("Use 'setBoardSocket()' instead")]] void setCamId(int64_t id);
128 
130  [[deprecated("Use 'setBoardSocket()' instead")]] int64_t getCamId() const;
131 
133  void setImageOrientation(CameraImageOrientation imageOrientation);
134 
137 
140 
143 
145  void setInterleaved(bool interleaved);
146 
148  bool getInterleaved() const;
149 
151  void setFp16(bool fp16);
152 
154  bool getFp16() const;
155 
157  void setPreviewSize(int width, int height);
158 
160  void setPreviewSize(std::tuple<int, int> size);
161 
163  void setPreviewNumFramesPool(int num);
164 
166  void setVideoSize(int width, int height);
167 
169  void setVideoSize(std::tuple<int, int> size);
170 
172  void setVideoNumFramesPool(int num);
173 
175  void setStillSize(int width, int height);
176 
178  void setStillSize(std::tuple<int, int> size);
179 
181  void setStillNumFramesPool(int num);
182 
185 
188 
190  void setRawNumFramesPool(int num);
191 
193  void setIspNumFramesPool(int num);
194 
196  void setNumFramesPool(int raw, int isp, int preview, int video, int still);
197 
204  void setIspScale(int numerator, int denominator);
205 
207  void setIspScale(std::tuple<int, int> scale);
208 
214  void setIspScale(int horizNum, int horizDenom, int vertNum, int vertDenom);
215 
217  void setIspScale(std::tuple<int, int> horizScale, std::tuple<int, int> vertScale);
218 
223  void setFps(float fps);
224 
233  [[deprecated("setIsp3aFps is unstable")]] void setIsp3aFps(int isp3aFps);
234 
235  // Set events on which frames will be received
236  void setFrameEventFilter(const std::vector<dai::FrameEvent>& events);
237 
238  // Get events on which frames will be received
239  std::vector<dai::FrameEvent> getFrameEventFilter() const;
240 
245  float getFps() const;
246 
248  std::tuple<int, int> getPreviewSize() const;
250  int getPreviewWidth() const;
252  int getPreviewHeight() const;
253 
255  std::tuple<int, int> getVideoSize() const;
257  int getVideoWidth() const;
259  int getVideoHeight() const;
260 
262  std::tuple<int, int> getStillSize() const;
264  int getStillWidth() const;
266  int getStillHeight() const;
267 
269  std::tuple<int, int> getResolutionSize() const;
271  int getResolutionWidth() const;
273  int getResolutionHeight() const;
274 
276  std::tuple<int, int> getIspSize() const;
278  int getIspWidth() const;
280  int getIspHeight() const;
281 
286  void sensorCenterCrop();
287 
295  void setSensorCrop(float x, float y);
296 
300  std::tuple<float, float> getSensorCrop() const;
302  float getSensorCropX() const;
304  float getSensorCropY() const;
305 
306  // Node properties configuration
312  [[deprecated("Use 'inputConfig.setWaitForMessage()' instead")]] void setWaitForConfigInput(bool wait);
313 
318  [[deprecated("Use 'inputConfig.setWaitForMessage()' instead")]] bool getWaitForConfigInput() const;
319 
327  void setPreviewKeepAspectRatio(bool keep);
328 
334 
338  int getVideoNumFramesPool();
340  int getStillNumFramesPool();
342  int getRawNumFramesPool();
344  int getIspNumFramesPool();
345 
355  void setRawOutputPacked(bool packed);
356 };
357 
358 } // namespace node
359 } // namespace dai
dai::node::ColorCamera::getStillHeight
int getStillHeight() const
Get still height.
Definition: ColorCamera.cpp:362
dai::node::ColorCamera::setPreviewKeepAspectRatio
void setPreviewKeepAspectRatio(bool keep)
Definition: ColorCamera.cpp:507
dai::node::ColorCamera::getInterleaved
bool getInterleaved() const
Get planar or interleaved data of preview output frames.
Definition: ColorCamera.cpp:106
dai::node::ColorCamera::setWaitForConfigInput
void setWaitForConfigInput(bool wait)
Definition: ColorCamera.cpp:499
dai::node::ColorCamera::getRawNumFramesPool
int getRawNumFramesPool()
Get number of frames in raw pool.
Definition: ColorCamera.cpp:548
dai::node::ColorCamera::getIspHeight
int getIspHeight() const
Get 'isp' output height.
Definition: ColorCamera.cpp:451
dai::node::ColorCamera::getFp16
bool getFp16() const
Get fp16 (0..255) data of preview output frames.
Definition: ColorCamera.cpp:116
dai::node::ColorCamera::setResolution
void setResolution(Properties::SensorResolution resolution)
Set sensor resolution.
Definition: ColorCamera.cpp:169
dai::ColorCameraProperties::ColorOrder
ColorOrder
Definition: ColorCameraProperties.hpp:66
dai::node::ColorCamera::inputConfig
Input inputConfig
Definition: ColorCamera.hpp:48
dai::DatatypeEnum::ImageManipConfig
@ ImageManipConfig
dai::node::ColorCamera::setFps
void setFps(float fps)
Definition: ColorCamera.cpp:176
dai::node::ColorCamera::getResolutionWidth
int getResolutionWidth() const
Get sensor resolution width.
Definition: ColorCamera.cpp:429
dai::CameraImageOrientation
CameraImageOrientation
Definition: shared/depthai-shared/include/depthai-shared/common/CameraImageOrientation.hpp:11
dai::node::ColorCamera::setIsp3aFps
void setIsp3aFps(int isp3aFps)
Definition: ColorCamera.cpp:180
dai::node::ColorCamera::getFrameEventFilter
std::vector< dai::FrameEvent > getFrameEventFilter() const
Definition: ColorCamera.cpp:188
fps
static constexpr int fps
Definition: rgb_depth_aligned.cpp:12
ColorCameraProperties.hpp
dai::node::ColorCamera::inputControl
Input inputControl
Definition: ColorCamera.hpp:55
dai::CameraBoardSocket
CameraBoardSocket
Definition: shared/depthai-shared/include/depthai-shared/common/CameraBoardSocket.hpp:9
dai::node::ColorCamera
ColorCamera node. For use with color sensors.
Definition: ColorCamera.hpp:16
dai::node::ColorCamera::getResolutionSize
std::tuple< int, int > getResolutionSize() const
Get sensor resolution as size.
Definition: ColorCamera.cpp:367
dai::CameraControl
Definition: CameraControl.hpp:33
dai::node::ColorCamera::setIspNumFramesPool
void setIspNumFramesPool(int num)
Set number of frames in isp pool.
Definition: ColorCamera.cpp:535
dai::node::ColorCamera::getBoardSocket
CameraBoardSocket getBoardSocket() const
Definition: ColorCamera.cpp:40
dai::node::ColorCamera::getVideoNumFramesPool
int getVideoNumFramesPool()
Get number of frames in video pool.
Definition: ColorCamera.cpp:542
dai::node::ColorCamera::setFrameEventFilter
void setFrameEventFilter(const std::vector< dai::FrameEvent > &events)
Definition: ColorCamera.cpp:184
dai::node::ColorCamera::setRawNumFramesPool
void setRawNumFramesPool(int num)
Set number of frames in raw pool.
Definition: ColorCamera.cpp:532
dai::node::ColorCamera::raw
Output raw
Definition: ColorCamera.hpp:90
dai::node::ColorCamera::getPreviewHeight
int getPreviewHeight() const
Get preview height.
Definition: ColorCamera.cpp:211
dai::NodeCRTP
Definition: Node.hpp:342
dai::node::ColorCamera::getCamId
int64_t getCamId() const
Get which color camera to use.
Definition: ColorCamera.cpp:75
dai::node::ColorCamera::setColorOrder
void setColorOrder(ColorCameraProperties::ColorOrder colorOrder)
Set color order of preview output images. RGB or BGR.
Definition: ColorCamera.cpp:91
dai::node::ColorCamera::getStillWidth
int getStillWidth() const
Get still width.
Definition: ColorCamera.cpp:358
dai::node::ColorCamera::getVideoHeight
int getVideoHeight() const
Get video height.
Definition: ColorCamera.cpp:284
dai::node::ColorCamera::getProperties
Properties & getProperties()
Definition: ColorCamera.cpp:29
dai::node::ColorCamera::setPreviewNumFramesPool
void setPreviewNumFramesPool(int num)
Set number of frames in preview pool.
Definition: ColorCamera.cpp:523
dai::node::ColorCamera::still
Output still
Definition: ColorCamera.hpp:76
dai::node::ColorCamera::getStillNumFramesPool
int getStillNumFramesPool()
Get number of frames in still pool.
Definition: ColorCamera.cpp:545
dai::node::ColorCamera::getStillSize
std::tuple< int, int > getStillSize() const
Get still size as tuple.
Definition: ColorCamera.cpp:289
dai::node::ColorCamera::ColorCamera
ColorCamera(const std::shared_ptr< PipelineImpl > &par, int64_t nodeId)
Definition: ColorCamera.cpp:10
dai::node::ColorCamera::setSensorCrop
void setSensorCrop(float x, float y)
Definition: ColorCamera.cpp:470
dai::node::ColorCamera::isp
Output isp
Definition: ColorCamera.hpp:83
dai::node::ColorCamera::getVideoWidth
int getVideoWidth() const
Get video width.
Definition: ColorCamera.cpp:280
dai::node::ColorCamera::getSensorCropX
float getSensorCropX() const
Get sensor top left x crop coordinate.
Definition: ColorCamera.cpp:491
dai::node::ColorCamera::getSensorCrop
std::tuple< float, float > getSensorCrop() const
Definition: ColorCamera.cpp:481
DAI_SPAN_NAMESPACE_NAME::detail::size
constexpr auto size(const C &c) -> decltype(c.size())
Definition: span.hpp:167
dai::node::ColorCamera::setVideoSize
void setVideoSize(int width, int height)
Set video output size.
Definition: ColorCamera.cpp:131
dai::node::ColorCamera::rawControl
std::shared_ptr< RawCameraControl > rawControl
Definition: ColorCamera.hpp:24
dai::node::ColorCamera::setRawOutputPacked
void setRawOutputPacked(bool packed)
Definition: ColorCamera.cpp:555
dai::node::ColorCamera::setStillNumFramesPool
void setStillNumFramesPool(int num)
Set number of frames in preview pool.
Definition: ColorCamera.cpp:529
dai::node::ColorCamera::getPreviewWidth
int getPreviewWidth() const
Get preview width.
Definition: ColorCamera.cpp:207
dai::node::ColorCamera::setBoardSocket
void setBoardSocket(CameraBoardSocket boardSocket)
Definition: ColorCamera.cpp:35
dai::Node::Input
Definition: Node.hpp:147
dai::node::ColorCamera::setImageOrientation
void setImageOrientation(CameraImageOrientation imageOrientation)
Set camera image orientation.
Definition: ColorCamera.cpp:80
dai::node::ColorCamera::setFp16
void setFp16(bool fp16)
Set fp16 (0..255) data type of preview output frames.
Definition: ColorCamera.cpp:111
dai::node::ColorCamera::getPreviewKeepAspectRatio
bool getPreviewKeepAspectRatio()
Definition: ColorCamera.cpp:511
dai::node::ColorCamera::sensorCenterCrop
void sensorCenterCrop()
Definition: ColorCamera.cpp:465
dai::node::ColorCamera::getImageOrientation
CameraImageOrientation getImageOrientation() const
Get camera image orientation.
Definition: ColorCamera.cpp:85
dai::node::ColorCamera::getIspWidth
int getIspWidth() const
Get 'isp' output width.
Definition: ColorCamera.cpp:441
dai::Properties
Base Properties structure.
Definition: Properties.hpp:8
dai::node::ColorCamera::frameEvent
Output frameEvent
Definition: ColorCamera.hpp:100
dai::node::ColorCamera::setStillSize
void setStillSize(int width, int height)
Set still output size.
Definition: ColorCamera.cpp:141
dai::node::ColorCamera::getPreviewNumFramesPool
int getPreviewNumFramesPool()
Get number of frames in preview pool.
Definition: ColorCamera.cpp:539
dai::node::ColorCamera::getIspNumFramesPool
int getIspNumFramesPool()
Get number of frames in isp pool.
Definition: ColorCamera.cpp:551
dai::node::ColorCamera::setInterleaved
void setInterleaved(bool interleaved)
Set planar or interleaved data of preview output frames.
Definition: ColorCamera.cpp:101
CameraControl.hpp
dai::node::ColorCamera::getResolutionHeight
int getResolutionHeight() const
Get sensor resolution height.
Definition: ColorCamera.cpp:433
dai::node::ColorCamera::getWaitForConfigInput
bool getWaitForConfigInput() const
Definition: ColorCamera.cpp:503
dai::node::ColorCamera::setNumFramesPool
void setNumFramesPool(int raw, int isp, int preview, int video, int still)
Set number of frames in all pools.
Definition: ColorCamera.cpp:515
dai::node::ColorCamera::video
Output video
Definition: ColorCamera.hpp:62
dai::node::ColorCamera::getCamera
std::string getCamera() const
Definition: ColorCamera.cpp:48
dai::DatatypeEnum::CameraControl
@ CameraControl
dai::node::ColorCamera::preview
Output preview
Definition: ColorCamera.hpp:69
dai::node::ColorCamera::getSensorCropY
float getSensorCropY() const
Get sensor top left y crop coordinate.
Definition: ColorCamera.cpp:495
dai::node::ColorCamera::NAME
constexpr static const char * NAME
Definition: ColorCamera.hpp:18
dai::node::ColorCamera::getPreviewSize
std::tuple< int, int > getPreviewSize() const
Get preview size as tuple.
Definition: ColorCamera.cpp:203
dai::node::ColorCamera::setPreviewSize
void setPreviewSize(int width, int height)
Set preview output size.
Definition: ColorCamera.cpp:121
dai::node::ColorCamera::setVideoNumFramesPool
void setVideoNumFramesPool(int num)
Set number of frames in preview pool.
Definition: ColorCamera.cpp:526
dai::node::ColorCamera::getVideoSize
std::tuple< int, int > getVideoSize() const
Get video size as tuple.
Definition: ColorCamera.cpp:216
dai::node::ColorCamera::getIspSize
std::tuple< int, int > getIspSize() const
Get 'isp' output resolution as size, after scaling.
Definition: ColorCamera.cpp:461
dai::node::ColorCamera::getResolution
Properties::SensorResolution getResolution() const
Get sensor resolution.
Definition: ColorCamera.cpp:172
dai::node::ColorCamera::setIspScale
void setIspScale(int numerator, int denominator)
Definition: ColorCamera.cpp:157
dai::node::ColorCamera::getColorOrder
ColorCameraProperties::ColorOrder getColorOrder() const
Get color order of preview output frames. RGB or BGR.
Definition: ColorCamera.cpp:96
dai::DatatypeEnum::ImgFrame
@ ImgFrame
dai::node::ColorCamera::getFps
float getFps() const
Definition: ColorCamera.cpp:192
dai
Definition: CameraExposureOffset.hpp:6
dai::ColorCameraProperties::SensorResolution
SensorResolution
Definition: ColorCameraProperties.hpp:32
Node.hpp
dai::node::ColorCamera::setCamera
void setCamera(std::string name)
Definition: ColorCamera.cpp:44
dai::node::ColorCamera::getScaledSize
int getScaledSize(int input, int num, int denom) const
Definition: ColorCamera.cpp:437
dai::node::ColorCamera::initialControl
CameraControl initialControl
Definition: ColorCamera.hpp:41
dai::node::ColorCamera::setCamId
void setCamId(int64_t id)
Set which color camera to use.
Definition: ColorCamera.cpp:53


depthai
Author(s): Martin Peterlin
autogenerated on Sat Mar 22 2025 02:58:19