Skip to content

Commit 44ba225

Browse files
JujuDelJulien Delclos
andauthored
r5.2.0 (#739)
Co-authored-by: Julien Delclos <julien.delclos@stereolabs.com>
1 parent 380dc56 commit 44ba225

File tree

111 files changed

+93182
-88
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

111 files changed

+93182
-88
lines changed

CMakeLists.txt

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,15 @@ if(${BUILD_CPP})
4444
add_subdirectory("camera streaming/receiver/${TYPE}")
4545
add_subdirectory("camera streaming/single_sender/${TYPE}")
4646
add_subdirectory("camera streaming/multi_sender/${TYPE}")
47-
add_subdirectory("zed one/${TYPE}")
47+
add_subdirectory("zed one/live/${TYPE}")
48+
add_subdirectory("zed one/svo_playback/${TYPE}")
49+
add_subdirectory("zed one/svo_recording/${TYPE}")
50+
add_subdirectory("zed one/svo_external_data/${TYPE}")
51+
add_subdirectory("zed one/streaming_sender/${TYPE}")
52+
add_subdirectory("zed one/streaming_receiver/${TYPE}")
53+
if(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64")
54+
add_subdirectory("zed one/custom_inference/${TYPE}")
55+
endif()
4856
add_subdirectory("virtual stereo/${TYPE}")
4957
endif()
5058

camera streaming/multi_sender/python/streaming_senders.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -67,17 +67,21 @@ def open_camera(zed, sn, port, camera_fps=30):
6767
if isinstance(zed, sl.Camera):
6868
init_params = sl.InitParameters()
6969
init_params.depth_mode = sl.DEPTH_MODE.NONE # No depth mode for this example
70+
init_params.camera_resolution = sl.RESOLUTION.AUTO
71+
init_params.set_from_serial_number(sn)
72+
init_params.camera_fps = camera_fps
73+
open_err = zed.open(init_params)
7074
elif isinstance(zed, sl.CameraOne):
71-
init_params = sl.InitParametersOne()
75+
init_params_one = sl.InitParametersOne()
76+
init_params_one.camera_resolution = sl.RESOLUTION.AUTO
77+
init_params_one.set_from_serial_number(sn)
78+
init_params_one.camera_fps = camera_fps
79+
open_err = zed.open(init_params_one)
7280
else:
7381
print(f"Unsupported camera type: {type(zed)}")
7482
return False
75-
init_params.camera_resolution = sl.RESOLUTION.AUTO
76-
init_params.set_from_serial_number(sn)
77-
init_params.camera_fps = camera_fps
7883

7984
# Open the camera
80-
open_err = zed.open(init_params)
8185
if open_err <= sl.ERROR_CODE.SUCCESS:
8286
print(f"{zed.get_camera_information().camera_model}_SN{sn} Opened")
8387
else:

depth sensing/automatic region of interest/python/automatic_region_of_interest.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ def main(opt):
104104

105105
roi_running = False
106106
roi_param = sl.RegionOfInterestParameters()
107-
roi_param.auto_apply_module = [sl.MODULE.ALL]
107+
roi_param.auto_apply_module = {sl.MODULE.ALL}
108108
roi_param.depth_far_threshold_meters = 2.5
109109
roi_param.image_height_ratio_cutoff = 0.5
110110
zed.start_region_of_interest_auto_detection(roi_param)
@@ -150,8 +150,9 @@ def main(opt):
150150
elif key == ord('l'):
151151
# Load the mask from a previously saved file
152152
tmp = cv2.imread(mask_name, cv2.IMREAD_GRAYSCALE)
153-
if tmp is not None and not tmp.empty():
154-
slROI = sl.Mat(sl.Resolution(tmp.cols, tmp.rows), sl.MAT_TYPE.U8_C1, tmp.data, tmp.step)
153+
if tmp is not None and tmp.size > 0:
154+
rows, cols = tmp.shape[:2]
155+
slROI = sl.Mat(sl.Resolution(cols, rows), sl.MAT_TYPE.U8_C1, tmp.data, tmp.strides[0])
155156
zed.set_region_of_interest(slROI)
156157
print(mask_name, "could not be found")
157158

depth sensing/depth sensing/cpp/src/main.cpp

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@ int main(int argc, char** argv) {
4242
init_parameters.depth_mode = DEPTH_MODE::NEURAL;
4343
init_parameters.coordinate_system = COORDINATE_SYSTEM::RIGHT_HANDED_Y_UP; // OpenGL's coordinate system is right_handed
4444
init_parameters.sdk_verbose = 1;
45-
init_parameters.maximum_working_resolution = sl::Resolution(0, 0);
4645
auto mask_path = parseArgs(argc, argv, init_parameters);
4746

4847
// Open the camera
@@ -64,12 +63,9 @@ int main(int argc, char** argv) {
6463

6564
auto camera_config = zed.getCameraInformation().camera_configuration;
6665
// Automatically set to the optimal resolution
67-
sl::Resolution res(-1, -1);
66+
sl::Resolution res = zed.getRetrieveMeasureResolution();
6867

6968
Mat point_cloud;
70-
zed.retrieveMeasure(point_cloud, MEASURE::XYZRGBA, MEM::GPU, res);
71-
res = point_cloud.getResolution();
72-
7369
auto stream = zed.getCUDAStream();
7470

7571
// Point cloud viewer

global localization/live/python/live.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@ def main():
9797
# Get GNSS data:
9898
status, input_gnss = gnss_reader.grab()
9999
if status == sl.ERROR_CODE.SUCCESS:
100+
assert input_gnss is not None
100101
# Display it on the Live Server
101102
viewer.updateRawGeoPoseData(input_gnss)
102103

global localization/playback/python/gnss_replay.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -247,8 +247,8 @@ def getGNSSData(self, gnss_data, gnss_idx):
247247
elif gpsd_status == 9: # STATUS_PPS_FIX
248248
sl_status = sl.GNSS_STATUS.SINGLE
249249

250-
current_gnss_data.gnss_mode = sl_mode.value
251-
current_gnss_data.gnss_status = sl_status.value
250+
current_gnss_data.gnss_mode = sl_mode
251+
current_gnss_data.gnss_status = sl_status
252252

253253
return current_gnss_data
254254

global localization/playback/python/playback.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,7 @@ def main(opt):
119119
exit()
120120
status, input_gnss = gnss_replay.grab(zed_pose.timestamp.get_nanoseconds())
121121
if status == sl.FUSION_ERROR_CODE.SUCCESS:
122+
assert input_gnss is not None
122123
ingest_error = fusion.ingest_gnss_data(input_gnss)
123124
latitude, longitude, altitude = input_gnss.get_coordinates(False)
124125
coordinates = {

global localization/recording/cpp/src/main.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ int main(int argc, char** argv) {
5252
// Enable SVO recording:
5353
std::string svo_path = "ZED_SN" + std::to_string(zed.getCameraInformation().serial_number) + "_" + getCurrentDatetime() + ".svo";
5454
sl::String path_output(svo_path.c_str());
55-
auto returned_state = zed.enableRecording(sl::RecordingParameters(path_output, sl::SVO_COMPRESSION_MODE::H264_LOSSLESS));
55+
auto returned_state = zed.enableRecording(sl::RecordingParameters(path_output, sl::SVO_COMPRESSION_MODE::H265_LOSSLESS));
5656
if (returned_state != sl::ERROR_CODE::SUCCESS) {
5757
std::cerr << "Recording ZED : " << returned_state << std::endl;
5858
zed.close();

global localization/recording/python/recording.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ def main():
6060

6161
#Enable SVO recording :
6262
svo_path = "ZED_SN"+str(zed.get_camera_information().serial_number)+"_"+get_current_datetime()+".svo"
63-
returned_state = zed.enable_recording(sl.RecordingParameters(svo_path,sl.SVO_COMPRESSION_MODE.H264_LOSSLESS))
63+
returned_state = zed.enable_recording(sl.RecordingParameters(svo_path,sl.SVO_COMPRESSION_MODE.H265_LOSSLESS))
6464
if returned_state != sl.ERROR_CODE.SUCCESS:
6565
print("Recording ZED : "+repr(status)+". Exit program.")
6666
zed.close()
@@ -117,6 +117,7 @@ def main():
117117
# Get GNSS data:
118118
status, input_gnss = gnss_reader.grab()
119119
if status == sl.ERROR_CODE.SUCCESS:
120+
assert input_gnss is not None
120121
# Display it on the Live Server
121122
viewer.updateRawGeoPoseData(input_gnss)
122123

object detection/birds eye viewer/cpp/src/main.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,11 +101,14 @@ int main(int argc, char** argv) {
101101
// default detection threshold, apply to all object class
102102
int detection_confidence = 60;
103103
ObjectDetectionRuntimeParameters detection_parameters_rt(detection_confidence);
104+
detection_parameters_rt.object_tracking_parameters.velocity_smoothing_factor = 0.5f; // Object tracking global setting
104105
// To select a set of specific object classes:
105106
detection_parameters_rt.object_class_filter = {OBJECT_CLASS::VEHICLE, OBJECT_CLASS::PERSON};
106107
// To set a specific threshold
107108
detection_parameters_rt.object_class_detection_confidence_threshold[OBJECT_CLASS::PERSON] = detection_confidence;
108109
detection_parameters_rt.object_class_detection_confidence_threshold[OBJECT_CLASS::VEHICLE] = detection_confidence;
110+
detection_parameters_rt.object_class_tracking_parameters[OBJECT_CLASS::VEHICLE].velocity_smoothing_factor
111+
= 0.7; // Will override global setting for vehicles
109112

110113
// Detection output
111114
bool quit = false;

0 commit comments

Comments
 (0)