Classes | Public Types | Public Member Functions | Public Attributes | List of all members
dai::RawCameraControl Struct Reference

RawCameraControl structure. More...

#include <RawCameraControl.hpp>

Inheritance diagram for dai::RawCameraControl:
Inheritance graph
[legend]

Classes

struct  ManualExposureParams
 
struct  RegionParams
 
struct  StrobeConfig
 
struct  StrobeTimings
 

Public Types

enum  AntiBandingMode : uint8_t { AntiBandingMode::OFF = 0, AntiBandingMode::MAINS_50_HZ, AntiBandingMode::MAINS_60_HZ, AntiBandingMode::AUTO }
 
enum  AutoFocusMode : uint8_t {
  AutoFocusMode::OFF = 0, AutoFocusMode::AUTO, AutoFocusMode::MACRO, AutoFocusMode::CONTINUOUS_VIDEO,
  AutoFocusMode::CONTINUOUS_PICTURE, AutoFocusMode::EDOF
}
 
enum  AutoWhiteBalanceMode : uint8_t {
  AutoWhiteBalanceMode::OFF = 0, AutoWhiteBalanceMode::AUTO, AutoWhiteBalanceMode::INCANDESCENT, AutoWhiteBalanceMode::FLUORESCENT,
  AutoWhiteBalanceMode::WARM_FLUORESCENT, AutoWhiteBalanceMode::DAYLIGHT, AutoWhiteBalanceMode::CLOUDY_DAYLIGHT, AutoWhiteBalanceMode::TWILIGHT,
  AutoWhiteBalanceMode::SHADE
}
 
enum  CaptureIntent : uint8_t {
  CaptureIntent::CUSTOM = 0, CaptureIntent::PREVIEW, CaptureIntent::STILL_CAPTURE, CaptureIntent::VIDEO_RECORD,
  CaptureIntent::VIDEO_SNAPSHOT, CaptureIntent::ZERO_SHUTTER_LAG
}
 
enum  Command : uint8_t {
  Command::START_STREAM = 1, Command::STOP_STREAM = 2, Command::STILL_CAPTURE = 3, Command::MOVE_LENS = 4,
  Command::AF_TRIGGER = 5, Command::AE_MANUAL = 6, Command::AE_AUTO = 7, Command::AWB_MODE = 8,
  Command::SCENE_MODE = 9, Command::ANTIBANDING_MODE = 10, Command::EXPOSURE_COMPENSATION = 11, Command::AE_LOCK = 13,
  Command::AE_TARGET_FPS_RANGE = 14, Command::AWB_LOCK = 16, Command::CAPTURE_INTENT = 17, Command::CONTROL_MODE = 18,
  Command::FRAME_DURATION = 21, Command::SENSITIVITY = 23, Command::EFFECT_MODE = 24, Command::AF_MODE = 26,
  Command::NOISE_REDUCTION_STRENGTH = 27, Command::SATURATION = 28, Command::BRIGHTNESS = 31, Command::STREAM_FORMAT = 33,
  Command::RESOLUTION = 34, Command::SHARPNESS = 35, Command::CUSTOM_USECASE = 40, Command::CUSTOM_CAPT_MODE = 41,
  Command::CUSTOM_EXP_BRACKETS = 42, Command::CUSTOM_CAPTURE = 43, Command::CONTRAST = 44, Command::AE_REGION = 45,
  Command::AF_REGION = 46, Command::LUMA_DENOISE = 47, Command::CHROMA_DENOISE = 48, Command::WB_COLOR_TEMP = 49,
  Command::EXTERNAL_TRIGGER = 50, Command::AF_LENS_RANGE = 51, Command::FRAME_SYNC = 52, Command::STROBE_CONFIG = 53,
  Command::STROBE_TIMINGS = 54, Command::MOVE_LENS_RAW = 55
}
 
enum  ControlMode : uint8_t { ControlMode::OFF = 0, ControlMode::AUTO, ControlMode::USE_SCENE_MODE }
 
enum  EffectMode : uint8_t {
  EffectMode::OFF = 0, EffectMode::MONO, EffectMode::NEGATIVE, EffectMode::SOLARIZE,
  EffectMode::SEPIA, EffectMode::POSTERIZE, EffectMode::WHITEBOARD, EffectMode::BLACKBOARD,
  EffectMode::AQUA
}
 
enum  FrameSyncMode : uint8_t { FrameSyncMode::OFF = 0, FrameSyncMode::OUTPUT, FrameSyncMode::INPUT }
 
enum  SceneMode : uint8_t {
  SceneMode::UNSUPPORTED = 0, SceneMode::FACE_PRIORITY, SceneMode::ACTION, SceneMode::PORTRAIT,
  SceneMode::LANDSCAPE, SceneMode::NIGHT, SceneMode::NIGHT_PORTRAIT, SceneMode::THEATRE,
  SceneMode::BEACH, SceneMode::SNOW, SceneMode::SUNSET, SceneMode::STEADYPHOTO,
  SceneMode::FIREWORKS, SceneMode::SPORTS, SceneMode::PARTY, SceneMode::CANDLELIGHT,
  SceneMode::BARCODE
}
 

Public Member Functions

void clearCommand (Command cmd)
 
 DEPTHAI_SERIALIZE (RawCameraControl, cmdMask, autoFocusMode, lensPosition, lensPositionRaw, lensPosAutoInfinity, lensPosAutoMacro, expManual, aeRegion, afRegion, awbMode, sceneMode, antiBandingMode, aeLockMode, awbLockMode, captureIntent, controlMode, effectMode, frameSyncMode, strobeConfig, strobeTimings, aeMaxExposureTimeUs, expCompensation, brightness, contrast, saturation, sharpness, lumaDenoise, chromaDenoise, wbColorTemp, lowPowerNumFramesBurst, lowPowerNumFramesDiscard, miscControls)
 
bool getCommand (Command cmd)
 
DatatypeEnum getType () const override
 
void serialize (std::vector< std::uint8_t > &metadata, DatatypeEnum &datatype) const override
 
void setCommand (Command cmd, bool value=true)
 
- Public Member Functions inherited from dai::RawBuffer
 DEPTHAI_SERIALIZE (RawBuffer, sequenceNum, ts, tsDevice)
 
virtual ~RawBuffer ()=default
 

Public Attributes

bool aeLockMode
 
uint32_t aeMaxExposureTimeUs
 
RegionParams aeRegion
 
RegionParams afRegion
 
AntiBandingMode antiBandingMode
 
AutoFocusMode autoFocusMode = AutoFocusMode::CONTINUOUS_VIDEO
 
bool awbLockMode
 
AutoWhiteBalanceMode awbMode
 
int8_t brightness
 
CaptureIntent captureIntent
 
uint8_t chromaDenoise
 
uint64_t cmdMask = 0
 
int8_t contrast
 
ControlMode controlMode
 
EffectMode effectMode
 
int8_t expCompensation
 
ManualExposureParams expManual
 
FrameSyncMode frameSyncMode
 
uint8_t lensPosAutoInfinity
 
uint8_t lensPosAutoMacro
 
uint8_t lensPosition = 0
 
float lensPositionRaw = 0
 
uint8_t lowPowerNumFramesBurst
 
uint8_t lowPowerNumFramesDiscard
 
uint8_t lumaDenoise
 
std::vector< std::pair< std::string, std::string > > miscControls
 
int8_t saturation
 
SceneMode sceneMode
 
uint8_t sharpness
 
StrobeConfig strobeConfig
 
StrobeTimings strobeTimings
 
uint16_t wbColorTemp
 
- Public Attributes inherited from dai::RawBuffer
std::vector< std::uint8_t > data
 
int64_t sequenceNum = 0
 
Timestamp ts = {}
 
Timestamp tsDevice = {}
 

Detailed Description

RawCameraControl structure.

Definition at line 12 of file RawCameraControl.hpp.

Member Enumeration Documentation

◆ AntiBandingMode

Enumerator
OFF 

The camera device will not adjust exposure duration to avoid banding problems.

MAINS_50_HZ 

The camera device will adjust exposure duration to avoid banding problems with 50Hz illumination sources.

MAINS_60_HZ 

The camera device will adjust exposure duration to avoid banding problems with 60Hz illumination sources.

AUTO 

The camera device will automatically adapt its antibanding routine to the current illumination condition. This is the default mode if AUTO is available on given camera device.

Definition at line 249 of file RawCameraControl.hpp.

◆ AutoFocusMode

enum dai::RawCameraControl::AutoFocusMode : uint8_t
strong
Enumerator
OFF 

Autofocus disabled. Suitable for manual focus

AUTO 

Basic automatic focus mode. In this mode, the lens does not move unless the autofocus trigger action is called.

MACRO 

Close-up focusing mode - this mode is optimized for focusing on objects very close to the camera.

CONTINUOUS_VIDEO 

In this mode, the AF algorithm modifies the lens position continually to attempt to provide a constantly-in-focus image stream. The focusing behavior should be suitable for good quality video recording; typically this means slower focus movement and no overshoots.

CONTINUOUS_PICTURE 

In this mode, the AF algorithm modifies the lens position continually to attempt to provide a constantly-in-focus image stream. The focusing behavior should be suitable for still image capture; typically this means focusing as fast as possible

EDOF 

Extended depth of field (digital focus) mode. The camera device will produce images with an extended depth of field automatically. AF triggers are ignored.

Definition at line 103 of file RawCameraControl.hpp.

◆ AutoWhiteBalanceMode

Enumerator
OFF 

The camera device's auto-white balance routine is disabled.

AUTO 

The camera device's auto-white balance routine is active.

INCANDESCENT 

The camera device's auto-white balance routine is disabled; the camera device uses incandescent light as the assumed scene illumination for white balance.

FLUORESCENT 

The camera device's auto-white balance routine is disabled; the camera device uses fluorescent light as the assumed scene illumination for white balance.

WARM_FLUORESCENT 

The camera device's auto-white balance routine is disabled; the camera device uses warm fluorescent light as the assumed scene illumination for white balance.

DAYLIGHT 

The camera device's auto-white balance routine is disabled; the camera device uses daylight light as the assumed scene illumination for white balance.

CLOUDY_DAYLIGHT 

The camera device's auto-white balance routine is disabled; the camera device uses cloudy daylight light as the assumed scene illumination for white balance.

TWILIGHT 

The camera device's auto-white balance routine is disabled; the camera device uses twilight light as the assumed scene illumination for white balance.

SHADE 

The camera device's auto-white balance routine is disabled; the camera device uses shade light as the assumed scene illumination for white balance.

Definition at line 133 of file RawCameraControl.hpp.

◆ CaptureIntent

enum dai::RawCameraControl::CaptureIntent : uint8_t
strong
Enumerator
CUSTOM 

The goal of this request doesn't fall into the other categories. The camera device will default to preview-like behavior.

PREVIEW 

This request is for a preview-like use case.

STILL_CAPTURE 

This request is for a still capture-type use case.

VIDEO_RECORD 

This request is for a video recording use case.

VIDEO_SNAPSHOT 

This request is for a video snapshot (still image while recording video) use case. The camera device should take the highest-quality image possible (given the other settings) without disrupting the frame rate of video recording.

ZERO_SHUTTER_LAG 

This request is for a ZSL usecase; the application will stream full-resolution images and reprocess one or several later for a final capture.

Definition at line 269 of file RawCameraControl.hpp.

◆ Command

enum dai::RawCameraControl::Command : uint8_t
strong
Enumerator
START_STREAM 
STOP_STREAM 
STILL_CAPTURE 
MOVE_LENS 
AF_TRIGGER 
AE_MANUAL 
AE_AUTO 
AWB_MODE 
SCENE_MODE 
ANTIBANDING_MODE 
EXPOSURE_COMPENSATION 
AE_LOCK 
AE_TARGET_FPS_RANGE 
AWB_LOCK 
CAPTURE_INTENT 
CONTROL_MODE 
FRAME_DURATION 
SENSITIVITY 
EFFECT_MODE 
AF_MODE 
NOISE_REDUCTION_STRENGTH 
SATURATION 
BRIGHTNESS 
STREAM_FORMAT 
RESOLUTION 
SHARPNESS 
CUSTOM_USECASE 
CUSTOM_CAPT_MODE 
CUSTOM_EXP_BRACKETS 
CUSTOM_CAPTURE 
CONTRAST 
AE_REGION 
AF_REGION 
LUMA_DENOISE 
CHROMA_DENOISE 
WB_COLOR_TEMP 
EXTERNAL_TRIGGER 
AF_LENS_RANGE 
FRAME_SYNC 
STROBE_CONFIG 
STROBE_TIMINGS 
MOVE_LENS_RAW 

Definition at line 13 of file RawCameraControl.hpp.

◆ ControlMode

enum dai::RawCameraControl::ControlMode : uint8_t
strong
Enumerator
OFF 

Full application control of pipeline. All control by the device's metering and focusing (3A) routines is disabled.

AUTO 

Use settings for each individual 3A routine. Manual control of capture parameters is disabled.

USE_SCENE_MODE 

Use a specific scene mode. Enabling this disables Auto-Exposure, AWB and AF controls;

Definition at line 298 of file RawCameraControl.hpp.

◆ EffectMode

enum dai::RawCameraControl::EffectMode : uint8_t
strong
Enumerator
OFF 

No color effect will be applied.

MONO 

A "monocolor" effect where the image is mapped into a single color. This will typically be grayscale.

NEGATIVE 

A "photo-negative" effect where the image's colors are inverted.

SOLARIZE 

A "solarisation" effect (Sabattier effect) where the image is wholly or partially reversed in tone.

SEPIA 

A "sepia" effect where the image is mapped into warm gray, red, and brown tones.

POSTERIZE 

A "posterization" effect where the image uses discrete regions of tone rather than a continuous gradient of tones.

WHITEBOARD 

A "whiteboard" effect where the image is typically displayed as regions of white, with black or grey details.

BLACKBOARD 

A "blackboard" effect where the image is typically displayed as regions of black, with white or grey details.

AQUA 

An "aqua" effect where a blue hue is added to the image.

Definition at line 313 of file RawCameraControl.hpp.

◆ FrameSyncMode

enum dai::RawCameraControl::FrameSyncMode : uint8_t
strong
Enumerator
OFF 
OUTPUT 
INPUT 

Definition at line 352 of file RawCameraControl.hpp.

◆ SceneMode

enum dai::RawCameraControl::SceneMode : uint8_t
strong
Enumerator
UNSUPPORTED 

Indicates that no scene modes are set for a given capture request.

FACE_PRIORITY 

If face detection support exists, use face detection data for auto-focus, auto-white balance, and auto-exposure routines.

ACTION 

Optimized for photos of quickly moving objects. Similar to SPORTS scene mode.

PORTRAIT 

Optimized for still photos of people.

LANDSCAPE 

Optimized for photos of distant macroscopic objects.

NIGHT 

Optimized for low-light settings.

NIGHT_PORTRAIT 

Optimized for still photos of people in low-light settings.

THEATRE 

Optimized for dim, indoor settings where flash must remain off.

BEACH 

Optimized for bright, outdoor beach settings.

SNOW 

Optimized for bright, outdoor settings containing snow.

SUNSET 

Optimized for scenes of the setting sun.

STEADYPHOTO 

Optimized to avoid blurry photos due to small amounts of device motion (for example: due to hand shake).

FIREWORKS 

Optimized for nighttime photos of fireworks.

SPORTS 

Optimized for photos of quickly moving people.

PARTY 

Optimized for dim, indoor settings with multiple moving people.

CANDLELIGHT 

Optimized for dim settings where the main light source is a candle.

BARCODE 

Optimized for accurately capturing a photo of barcode for use by camera applications that wish to read the barcode value.

Definition at line 178 of file RawCameraControl.hpp.

Member Function Documentation

◆ clearCommand()

void dai::RawCameraControl::clearCommand ( Command  cmd)
inline

Definition at line 450 of file RawCameraControl.hpp.

◆ DEPTHAI_SERIALIZE()

◆ getCommand()

bool dai::RawCameraControl::getCommand ( Command  cmd)
inline

Definition at line 453 of file RawCameraControl.hpp.

◆ getType()

DatatypeEnum dai::RawCameraControl::getType ( ) const
inlineoverridevirtual

Reimplemented from dai::RawBuffer.

Definition at line 462 of file RawCameraControl.hpp.

◆ serialize()

void dai::RawCameraControl::serialize ( std::vector< std::uint8_t > &  metadata,
DatatypeEnum datatype 
) const
inlineoverridevirtual

Reimplemented from dai::RawBuffer.

Definition at line 457 of file RawCameraControl.hpp.

◆ setCommand()

void dai::RawCameraControl::setCommand ( Command  cmd,
bool  value = true 
)
inline

Definition at line 442 of file RawCameraControl.hpp.

Member Data Documentation

◆ aeLockMode

bool dai::RawCameraControl::aeLockMode

Definition at line 428 of file RawCameraControl.hpp.

◆ aeMaxExposureTimeUs

uint32_t dai::RawCameraControl::aeMaxExposureTimeUs

Definition at line 427 of file RawCameraControl.hpp.

◆ aeRegion

RegionParams dai::RawCameraControl::aeRegion

Definition at line 417 of file RawCameraControl.hpp.

◆ afRegion

RegionParams dai::RawCameraControl::afRegion

Definition at line 417 of file RawCameraControl.hpp.

◆ antiBandingMode

AntiBandingMode dai::RawCameraControl::antiBandingMode

Definition at line 420 of file RawCameraControl.hpp.

◆ autoFocusMode

AutoFocusMode dai::RawCameraControl::autoFocusMode = AutoFocusMode::CONTINUOUS_VIDEO

Definition at line 403 of file RawCameraControl.hpp.

◆ awbLockMode

bool dai::RawCameraControl::awbLockMode

Definition at line 429 of file RawCameraControl.hpp.

◆ awbMode

AutoWhiteBalanceMode dai::RawCameraControl::awbMode

Definition at line 418 of file RawCameraControl.hpp.

◆ brightness

int8_t dai::RawCameraControl::brightness

Definition at line 431 of file RawCameraControl.hpp.

◆ captureIntent

CaptureIntent dai::RawCameraControl::captureIntent

Definition at line 421 of file RawCameraControl.hpp.

◆ chromaDenoise

uint8_t dai::RawCameraControl::chromaDenoise

Definition at line 436 of file RawCameraControl.hpp.

◆ cmdMask

uint64_t dai::RawCameraControl::cmdMask = 0

Definition at line 401 of file RawCameraControl.hpp.

◆ contrast

int8_t dai::RawCameraControl::contrast

Definition at line 432 of file RawCameraControl.hpp.

◆ controlMode

ControlMode dai::RawCameraControl::controlMode

Definition at line 422 of file RawCameraControl.hpp.

◆ effectMode

EffectMode dai::RawCameraControl::effectMode

Definition at line 423 of file RawCameraControl.hpp.

◆ expCompensation

int8_t dai::RawCameraControl::expCompensation

Definition at line 430 of file RawCameraControl.hpp.

◆ expManual

ManualExposureParams dai::RawCameraControl::expManual

Definition at line 416 of file RawCameraControl.hpp.

◆ frameSyncMode

FrameSyncMode dai::RawCameraControl::frameSyncMode

Definition at line 424 of file RawCameraControl.hpp.

◆ lensPosAutoInfinity

uint8_t dai::RawCameraControl::lensPosAutoInfinity

Definition at line 414 of file RawCameraControl.hpp.

◆ lensPosAutoMacro

uint8_t dai::RawCameraControl::lensPosAutoMacro

Definition at line 414 of file RawCameraControl.hpp.

◆ lensPosition

uint8_t dai::RawCameraControl::lensPosition = 0

Lens/VCM position, range: 0..255. Used with autoFocusMode = OFF. With current IMX378 modules:

  • max 255: macro focus, at 8cm distance
  • infinite focus at about 120..130 (may vary from module to module)
  • lower values lead to out-of-focus (lens too close to the sensor array)

Definition at line 412 of file RawCameraControl.hpp.

◆ lensPositionRaw

float dai::RawCameraControl::lensPositionRaw = 0

Definition at line 413 of file RawCameraControl.hpp.

◆ lowPowerNumFramesBurst

uint8_t dai::RawCameraControl::lowPowerNumFramesBurst

Definition at line 438 of file RawCameraControl.hpp.

◆ lowPowerNumFramesDiscard

uint8_t dai::RawCameraControl::lowPowerNumFramesDiscard

Definition at line 439 of file RawCameraControl.hpp.

◆ lumaDenoise

uint8_t dai::RawCameraControl::lumaDenoise

Definition at line 435 of file RawCameraControl.hpp.

◆ miscControls

std::vector<std::pair<std::string, std::string> > dai::RawCameraControl::miscControls

Definition at line 440 of file RawCameraControl.hpp.

◆ saturation

int8_t dai::RawCameraControl::saturation

Definition at line 433 of file RawCameraControl.hpp.

◆ sceneMode

SceneMode dai::RawCameraControl::sceneMode

Definition at line 419 of file RawCameraControl.hpp.

◆ sharpness

uint8_t dai::RawCameraControl::sharpness

Definition at line 434 of file RawCameraControl.hpp.

◆ strobeConfig

StrobeConfig dai::RawCameraControl::strobeConfig

Definition at line 425 of file RawCameraControl.hpp.

◆ strobeTimings

StrobeTimings dai::RawCameraControl::strobeTimings

Definition at line 426 of file RawCameraControl.hpp.

◆ wbColorTemp

uint16_t dai::RawCameraControl::wbColorTemp

Definition at line 437 of file RawCameraControl.hpp.


The documentation for this struct was generated from the following file:


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