SL_InitParameters Struct Reference

Data Fields

enum SL_INPUT_TYPE input_type
 
enum SL_RESOLUTION resolution
 
int camera_fps
 
int camera_device_id
 
enum SL_FLIP_MODE camera_image_flip
 
bool camera_disable_self_calib
 
bool enable_right_side_measure
 
bool svo_real_time_mode
 
enum SL_DEPTH_MODE depth_mode
 
int depth_stabilization
 
float depth_minimum_distance
 
float depth_maximum_distance
 
enum SL_UNIT coordinate_unit
 
enum SL_COORDINATE_SYSTEM coordinate_system
 
int sdk_gpu_id
 
int sdk_verbose
 
bool sensors_required
 
bool enable_image_enhancement
 
float open_timeout_sec
 

Detailed Description

Struct containing all parameters passed to the SDK when initializing the ZED. These parameters will be fixed for the whole execution life time of the camera. For more details, see the InitParameters class in the SDK API documentation: https://www.stereolabs.com/docs/api_3.X/structsl_1_1InitParameters.html

Field Documentation

◆ input_type

enum SL_INPUT_TYPE SL_InitParameters::input_type

The SDK can handle different input types:

  • Select a camera by its ID (/dev/videoX on Linux, and 0 to N cameras connected on Windows)
  • Select a camera by its serial number
  • Open a recorded sequence in the SVO file format
  • Open a streaming camera from its IP address and port

This parameter allows you to select to desired input.

◆ resolution

enum SL_RESOLUTION SL_InitParameters::resolution

Define the chosen camera resolution. Small resolutions offer higher framerate and lower computation time (SL_RESOLUTION).
In most situations, the RESOLUTION_HD720 at 60 fps is the best balance between image quality and framerate.
Available resolutions are listed here: RESOLUTION.
default : RESOLUTION_HD720

◆ camera_fps

int SL_InitParameters::camera_fps

Requested camera frame rate. If set to 0, the highest FPS of the specified camera_resolution will be used.
See RESOLUTION for a list of supported framerates.
default : 0

Note
If the requested camera_fps is unsupported, the closest available FPS will be used.

◆ camera_device_id

int SL_InitParameters::camera_device_id

Id of the Camera.

◆ camera_image_flip

enum SL_FLIP_MODE SL_InitParameters::camera_image_flip

If you are using the camera upside down, setting this parameter to FLIP_MODE_ON will cancel its rotation. The images will be horizontally flipped.
default : FLIP_MODE_AUTO From ZED SDK 3.2 a new FLIP_MODE enum was introduced to add the automatic flip mode detection based on the IMU gravity detection. This only works for ZED-M or ZED2 cameras.

◆ camera_disable_self_calib

bool SL_InitParameters::camera_disable_self_calib

At initialization, the Camera runs a self-calibration process that corrects small offsets from the device's factory calibration.
A drawback is that calibration parameters will slightly change from one (live) run to another, which can be an issue for repeatability.
If set to true, self-calibration will be disabled and calibration parameters won't be optimized, raw calibration parameters from the conf file will be used
default : false

Note
In most situations, self calibration should remain enabled.
You can also trigger the self-calibration at anytime after open() by calling Camera::UpdateSelfCalibration(), even if this parameter is set to true.

◆ enable_right_side_measure

bool SL_InitParameters::enable_right_side_measure

By default, the SDK only computes a single depth map, aligned with the left camera image.
This parameter allows you to enable the MEASURE_DEPTH_RIGHT and other MEASURE_<XXX>_RIGHT at the cost of additional computation time.
For example, mixed reality pass-through applications require one depth map per eye, so this parameter can be activated.
default : false

◆ svo_real_time_mode

bool SL_InitParameters::svo_real_time_mode

When playing back an SVO file, each call to Camera::grab() will extract a new frame and use it.
However, this ignores the real capture rate of the images saved in the SVO file.
Enabling this parameter will bring the SDK closer to a real simulation when playing back a file by using the images' timestamps. However, calls to Camera::grab() will return an error when trying to play too fast, and frames will be dropped when playing too slowly.


default : false

◆ depth_mode

enum SL_DEPTH_MODE SL_InitParameters::depth_mode

The SDK offers several DEPTH_MODE options offering various levels of performance and accuracy.
This parameter allows you to set the DEPTH_MODE that best matches your needs.
default : DEPTH_MODE_PERFORMANCE

◆ depth_stabilization

int SL_InitParameters::depth_stabilization

Regions of the generated depth map can oscillate from one frame to another. These oscillations result from a lack of texture (too homogeneous) on an object and by image noise.
This parameter control a stabilization filter that reduces these oscillations. In the range [0-100], 0 is disable (raw depth), smoothness is linear from 1 to 100.
default : 1

Note
The stabilization uses the positional tracking to increase its accuracy, so the Positional Tracking module will be enabled automatically when set to a value different from 0.

◆ depth_minimum_distance

float SL_InitParameters::depth_minimum_distance

This parameter allows you to specify the minimum depth value (from the camera) that will be computed, measured in the UNIT you define.
In stereovision (the depth technology used by the camera), looking for closer depth values can have a slight impact on performance and memory consumption.
On most of modern GPUs, performance impact will be low. However, the impact of memory footprint will be visible.
In cases of limited computation power, increasing this value can provide better performance.
default : (-1) corresponding to 700 mm for a ZED/ZED2 and 300 mm for ZED Mini.

Note
With a ZED camera you can decrease this value to 300 mm whereas you can set it to 100 mm using a ZED Mini and 200 mm for a ZED2. In any case this value cannot be greater than 3 meters.
Specific value (0) : This will set the depth minimum distance to the minimum authorized value :
  • 300mm for ZED
  • 100mm for ZED-M
  • 200mm for ZED2

◆ depth_maximum_distance

float SL_InitParameters::depth_maximum_distance

Defines the current maximum distance that can be computed in the defined UNIT. When estimating the depth, the SDK uses this upper limit to turn higher values into TOO_FAR ones.

Note
Changing this value has no impact on performance and doesn't affect the positional tracking nor the spatial mapping. (Only the depth, point cloud, normals)

◆ coordinate_unit

enum SL_UNIT SL_InitParameters::coordinate_unit

This parameter allows you to select the unit to be used for all metric values of the SDK. (depth, point cloud, tracking, mesh, and others) (SL_UNIT).
default : UNIT_MILLIMETER

◆ coordinate_system

enum SL_COORDINATE_SYSTEM SL_InitParameters::coordinate_system

Positional tracking, point clouds and many other features require a given COORDINATE_SYSTEM to be used as reference. This parameter allows you to select the COORDINATE_SYSTEM used by the Camera to return its measures.
This defines the order and the direction of the axis of the coordinate system.
default : COORDINATE_SYSTEM_IMAGE

◆ sdk_gpu_id

int SL_InitParameters::sdk_gpu_id

By default the SDK will use the most powerful NVIDIA graphics card found. However, when running several applications, or using several cameras at the same time, splitting the load over available GPUs can be useful. This parameter allows you to select the GPU used by the Camera using an ID from 0 to n-1 GPUs in your PC.
default : -1

Note
A non-positive value will search for all CUDA capable devices and select the most powerful.

◆ sdk_verbose

int SL_InitParameters::sdk_verbose

This parameter allows you to enable the verbosity of the SDK to get a variety of runtime information in the console. When developing an application, enabling verbose mode can help you understand the current SDK behavior.
However, this might not be desirable in a shipped version.
default : false

Note
The verbose messages can also be exported into a log file. See sdk_verbose_log_file for more.

◆ sensors_required

bool SL_InitParameters::sensors_required

Force the motion sensors opening of the ZED 2 / ZED-M to open the camera.
default : false.
If set to false, the SDK will try to open and use the IMU (second USB device on USB2.0) and will open the camera successfully even if the sensors failed to open.
This can be used for example when using a USB3.0 only extension cable (some fiber extension for example).
This parameter only impacts the LIVE mode.
If set to true, the camera will fail to open if the sensors cannot be opened. This parameter should be used when the IMU data must be available, such as Object Detection module or when the gravity is needed.

Note
This setting is not taken into account for ZED camera since it does not include sensors.

◆ enable_image_enhancement

bool SL_InitParameters::enable_image_enhancement

Enable or Disable the Enhanced Contrast Technology, to improve image quality.
default : true.
If set to true, image enhancement will be activated in camera ISP. Otherwise, the image will not be enhanced by the IPS.
This only works for firmware version starting from 1523 and up.

◆ open_timeout_sec

float SL_InitParameters::open_timeout_sec

Define a timeout in seconds after which an error is reported if the open() command fails. Set to '-1' to try to open the camera endlessly without returning error in case of failure. Set to '0' to return error in case of failure at the first attempt.
This parameter only impacts the LIVE mode.