Skip to content

Commit 301ac04

Browse files
authored
4.1.0 (#628)
1 parent b38a7ea commit 301ac04

File tree

271 files changed

+8142
-8990
lines changed

Some content is hidden

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

271 files changed

+8142
-8990
lines changed

README.md

+4-14
Original file line numberDiff line numberDiff line change
@@ -32,17 +32,17 @@
3232

3333
---
3434

35-
:tada: The **ZED SDK 4.0** is released! We support the [**ZED X**](https://www.stereolabs.com/zed-x/) and [**ZED X Mini**](https://www.stereolabs.com/zed-x/) cameras, added the **Fusion API** for multi-camera Body Tracking, and more! Please check the [Release Notes](https://www.stereolabs.com/developers/release/) of the latest version for more details.
35+
:tada: The **ZED SDK 4.1** is released! We support the [**ZED X**](https://www.stereolabs.com/zed-x/) and [**ZED X Mini**](https://www.stereolabs.com/zed-x/) cameras, added the **Fusion API** for multi-camera Body Tracking, and more! Please check the [Release Notes](https://www.stereolabs.com/developers/release/) of the latest version for more details.
3636

3737
## Overview
3838

3939
Depth Sensing | Object Detection | Body Tracking |
4040
:------------: | :----------: | :-------------: |
4141
[![Depth Sensing](https://user-images.githubusercontent.com/32394882/230639409-356b8dfa-df66-4bc2-84d8-a25fd0229779.gif)](https://www.stereolabs.com/docs/depth-sensing) | [![Object Detection](https://user-images.githubusercontent.com/32394882/230630901-9d53502a-f3f9-45b6-bf57-027148bb18ad.gif)](https://www.stereolabs.com/docs/object-detection) | [![Body Tracking](https://user-images.githubusercontent.com/32394882/230631989-24dd2b58-2c85-451b-a4ed-558d74d1b922.gif)](https://www.stereolabs.com/docs/body-tracking) |
4242

43-
Positional Tracking | Geo Tracking | Spatial Mapping |
43+
Positional Tracking | Global Localization | Spatial Mapping |
4444
:------------: | :----------: | :-------------: |
45-
[![Positional Tracking](https://user-images.githubusercontent.com/32394882/229093429-a445e8ae-7109-4995-bc1d-6a27a61bdb60.gif)](https://www.stereolabs.com/docs/positional-tracking/) | [![GeoTracking](https://user-images.githubusercontent.com/32394882/230602944-ed61e6dd-e485-4911-8a4c-d6c9e4fab0fd.gif)](/geotracking) | [![Spatial Mapping](https://user-images.githubusercontent.com/32394882/229099549-63ca7832-b7a2-42eb-9971-c1635d205b0c.gif)](https://www.stereolabs.com/docs/spatial-mapping) |
45+
[![Positional Tracking](https://user-images.githubusercontent.com/32394882/229093429-a445e8ae-7109-4995-bc1d-6a27a61bdb60.gif)](https://www.stereolabs.com/docs/positional-tracking/) | [![Global Localization](https://user-images.githubusercontent.com/32394882/230602944-ed61e6dd-e485-4911-8a4c-d6c9e4fab0fd.gif)](/global%20localization) | [![Spatial Mapping](https://user-images.githubusercontent.com/32394882/229099549-63ca7832-b7a2-42eb-9971-c1635d205b0c.gif)](https://www.stereolabs.com/docs/spatial-mapping) |
4646

4747
Camera Control | Plane Detection | Multi Camera Fusion |
4848
:------------: | :----------: | :-------------: |
@@ -83,7 +83,7 @@ This repository contains ready-to-use and samples to start using the ZED SDK wit
8383

8484
* [**Positional Tracking**](/positional%20tracking) - This sample shows how to use **positional tracking** and display the result with *OpenGL*.
8585

86-
* [**GeoTracking**](/geotracking) - This sample shows how to fuse the ZED SDK's **positional tracking with GNSS data** for global positioning.
86+
* [**Global Localization**](/global%20localization) - This sample shows how to fuse the ZED SDK's **positional tracking with GNSS data** for global positioning.
8787

8888
* [**Spatial Mapping**](/spatial%20mapping) - This sample shows how to capture **3D meshes** with the ZED and display it with *OpenGL*. Classic Mesh and Point Cloud fusion are available.
8989

@@ -127,16 +127,6 @@ Thanks to its comprehensive API, ZED cameras can be interfaced with **multiple t
127127
| <div align="center"><a href="https://www.stereolabs.com/docs/pytorch"><img src="https://user-images.githubusercontent.com/32394882/229475918-1add790d-b10e-4529-a1d7-097f015a481f.png" width="70%" alt="" /></a></div> | <div align="center"><a href="https://www.stereolabs.com/docs/yolo/"><img src="https://user-images.githubusercontent.com/32394882/230623781-3c87a5c9-b6af-4f93-bcc7-5ec381acf5d7.png" width="70%" alt="" /></a></div> | <div align="center"><a href="https://www.stereolabs.com/docs/matlab/"><img src="https://user-images.githubusercontent.com/32394882/229472074-4747f789-4ce6-4aef-b4f7-eab3bb77ab52.png" width="70%" alt="" /></a></div> | <div align="center"><a href="https://www.stereolabs.com/"><img src="https://user-images.githubusercontent.com/32394882/229472012-fe8d4458-219b-4825-8e87-9a3e9bc55e62.png" width="70%" alt="" /></a></div> | <div align="center"><a href="https://derivative.ca/UserGuide/ZED"><img src="https://user-images.githubusercontent.com/32394882/230623653-630e7bd2-1300-47ad-8133-39543470b2b1.png" width="70%" alt="" /></a></div>
128128

129129

130-
## ZED Hub
131-
132-
Experience ZED like never before with [ZED Hub](https://hub.stereolabs.com), Stereolabs' IoT platform allowing **easy management of camera fleets** and **data aggregation**, fully managed on the cloud. Unlike competitors, ZED Hub offers **plug-and-play** functionality and dedicated features for your applications developed with the ZED SDK. ZED Hub simplifies the **integration of 3D perception**, offering **remote access** and **monitoring** to your cameras . Start for **Free** now!
133-
134-
<br />
135-
136-
<div align="center">
137-
<img src="https://cdn2.stereolabs.com/assets/images/zed-hub/zed-hub-workflow.png" width="60%"/>
138-
</div>
139-
140130
<br />
141131

142132
## Community

body tracking/body tracking/cpp/include/GLViewer.hpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -129,15 +129,15 @@ class Shader {
129129

130130
Shader() {
131131
}
132-
Shader(GLchar* vs, GLchar* fs);
132+
Shader(const GLchar* vs, const GLchar* fs);
133133
~Shader();
134134
GLuint getProgramId();
135135

136136
static const GLint ATTRIB_VERTICES_POS = 0;
137137
static const GLint ATTRIB_COLOR_POS = 1;
138138
static const GLint ATTRIB_NORMAL = 2;
139139
private:
140-
bool compile(GLuint &shaderId, GLenum type, GLchar* src);
140+
bool compile(GLuint &shaderId, GLenum type, const GLchar* src);
141141
GLuint verterxId_;
142142
GLuint fragmentId_;
143143
GLuint programId_;

body tracking/body tracking/cpp/src/GLViewer.cpp

+6-6
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
#error "This sample should not be built in Debug mode, use RelWithDebInfo if you want to do step by step."
66
#endif
77

8-
GLchar* VERTEX_SHADER =
8+
const GLchar* VERTEX_SHADER =
99
"#version 330 core\n"
1010
"layout(location = 0) in vec3 in_Vertex;\n"
1111
"layout(location = 1) in vec4 in_Color;\n"
@@ -16,15 +16,15 @@ GLchar* VERTEX_SHADER =
1616
" gl_Position = u_mvpMatrix * vec4(in_Vertex, 1);\n"
1717
"}";
1818

19-
GLchar* FRAGMENT_SHADER =
19+
const GLchar* FRAGMENT_SHADER =
2020
"#version 330 core\n"
2121
"in vec4 b_color;\n"
2222
"layout(location = 0) out vec4 out_Color;\n"
2323
"void main() {\n"
2424
" out_Color = b_color;\n"
2525
"}";
2626

27-
GLchar* SK_VERTEX_SHADER =
27+
const GLchar* SK_VERTEX_SHADER =
2828
"#version 330 core\n"
2929
"layout(location = 0) in vec3 in_Vertex;\n"
3030
"layout(location = 1) in vec4 in_Color;\n"
@@ -41,7 +41,7 @@ GLchar* SK_VERTEX_SHADER =
4141
" gl_Position = u_mvpMatrix * vec4(in_Vertex, 1);\n"
4242
"}";
4343

44-
GLchar* SK_FRAGMENT_SHADER =
44+
const GLchar* SK_FRAGMENT_SHADER =
4545
"#version 330 core\n"
4646
"in vec4 b_color;\n"
4747
"in vec3 b_position;\n"
@@ -731,7 +731,7 @@ sl::Transform Simple3DObject::getModelMatrix() const {
731731
return tmp;
732732
}
733733

734-
Shader::Shader(GLchar* vs, GLchar* fs) {
734+
Shader::Shader(const GLchar* vs, const GLchar* fs) {
735735
if (!compile(verterxId_, GL_VERTEX_SHADER, vs)) {
736736
std::cout << "ERROR: while compiling vertex shader" << std::endl;
737737
}
@@ -779,7 +779,7 @@ GLuint Shader::getProgramId() {
779779
return programId_;
780780
}
781781

782-
bool Shader::compile(GLuint &shaderId, GLenum type, GLchar* src) {
782+
bool Shader::compile(GLuint &shaderId, GLenum type, const GLchar* src) {
783783
shaderId = glCreateShader(type);
784784
if (shaderId == 0) {
785785
std::cout << "ERROR: shader type (" << type << ") does not exist" << std::endl;

body tracking/body tracking/cpp/src/main.cpp

+6-5
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
///////////////////////////////////////////////////////////////////////////
22
//
3-
// Copyright (c) 2023, STEREOLABS.
3+
// Copyright (c) 2024, STEREOLABS.
44
//
55
// All rights reserved.
66
//
@@ -50,7 +50,8 @@ int main(int argc, char **argv) {
5050
Camera zed;
5151
InitParameters init_parameters;
5252
init_parameters.camera_resolution = RESOLUTION::AUTO;
53-
init_parameters.depth_mode = DEPTH_MODE::ULTRA;
53+
init_parameters.depth_mode = isJetson ? DEPTH_MODE::PERFORMANCE : DEPTH_MODE::ULTRA;
54+
//init_parameters.depth_mode = DEPTH_MODE::ULTRA;
5455
init_parameters.coordinate_system = COORDINATE_SYSTEM::RIGHT_HANDED_Y_UP;
5556

5657
parseArgs(argc, argv, init_parameters);
@@ -78,7 +79,7 @@ int main(int argc, char **argv) {
7879
// Enable the Body tracking module
7980
BodyTrackingParameters body_tracker_params;
8081
body_tracker_params.enable_tracking = true; // track people across images flow
81-
body_tracker_params.enable_body_fitting = true; // smooth skeletons moves
82+
body_tracker_params.enable_body_fitting = false; // smooth skeletons moves
8283
body_tracker_params.body_format = sl::BODY_FORMAT::BODY_34;
8384
body_tracker_params.detection_model = isJetson ? BODY_TRACKING_MODEL::HUMAN_BODY_FAST : BODY_TRACKING_MODEL::HUMAN_BODY_ACCURATE;
8485
//body_tracker_params.allow_reduced_precision_inference = true;
@@ -111,7 +112,7 @@ int main(int argc, char **argv) {
111112

112113
// Configure object detection runtime parameters
113114
BodyTrackingRuntimeParameters body_tracker_parameters_rt;
114-
body_tracker_parameters_rt.detection_confidence_threshold = 60;
115+
body_tracker_parameters_rt.detection_confidence_threshold = 40;
115116
body_tracker_parameters_rt.skeleton_smoothing = 0.7;
116117

117118
// Create ZED Bodies filled in the main loop
@@ -221,4 +222,4 @@ void print(string msg_prefix, ERROR_CODE err_code, string msg_suffix) {
221222
if (!msg_suffix.empty())
222223
cout << " " << msg_suffix;
223224
cout << endl;
224-
}
225+
}

body tracking/body tracking/csharp/MainWindow.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
///////////////////////////////////////////////////////////////////////////
22
//
3-
// Copyright (c) 2023, STEREOLABS.
3+
// Copyright (c) 2024, STEREOLABS.
44
//
55
// All rights reserved.
66
//

body tracking/body tracking/csharp/Properties/AssemblyInfo.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
[assembly: AssemblyConfiguration("")]
1111
[assembly: AssemblyCompany("")]
1212
[assembly: AssemblyProduct("Tutorials")]
13-
[assembly: AssemblyCopyright("Copyright © 2021")]
13+
[assembly: AssemblyCopyright("Copyright © 2024")]
1414
[assembly: AssemblyTrademark("")]
1515
[assembly: AssemblyCulture("")]
1616

body tracking/export/JSON export/cpp/include/GLViewer.hpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -129,15 +129,15 @@ class Shader {
129129

130130
Shader() {
131131
}
132-
Shader(GLchar* vs, GLchar* fs);
132+
Shader(const GLchar* vs, const GLchar* fs);
133133
~Shader();
134134
GLuint getProgramId();
135135

136136
static const GLint ATTRIB_VERTICES_POS = 0;
137137
static const GLint ATTRIB_COLOR_POS = 1;
138138
static const GLint ATTRIB_NORMAL = 2;
139139
private:
140-
bool compile(GLuint &shaderId, GLenum type, GLchar* src);
140+
bool compile(GLuint &shaderId, GLenum type, const GLchar* src);
141141
GLuint verterxId_;
142142
GLuint fragmentId_;
143143
GLuint programId_;

body tracking/export/JSON export/cpp/src/GLViewer.cpp

+6-6
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
#error "This sample should not be built in Debug mode, use RelWithDebInfo if you want to do step by step."
66
#endif
77

8-
GLchar* VERTEX_SHADER =
8+
const GLchar* VERTEX_SHADER =
99
"#version 330 core\n"
1010
"layout(location = 0) in vec3 in_Vertex;\n"
1111
"layout(location = 1) in vec4 in_Color;\n"
@@ -16,15 +16,15 @@ GLchar* VERTEX_SHADER =
1616
" gl_Position = u_mvpMatrix * vec4(in_Vertex, 1);\n"
1717
"}";
1818

19-
GLchar* FRAGMENT_SHADER =
19+
const GLchar* FRAGMENT_SHADER =
2020
"#version 330 core\n"
2121
"in vec4 b_color;\n"
2222
"layout(location = 0) out vec4 out_Color;\n"
2323
"void main() {\n"
2424
" out_Color = b_color;\n"
2525
"}";
2626

27-
GLchar* SK_VERTEX_SHADER =
27+
const GLchar* SK_VERTEX_SHADER =
2828
"#version 330 core\n"
2929
"layout(location = 0) in vec3 in_Vertex;\n"
3030
"layout(location = 1) in vec4 in_Color;\n"
@@ -41,7 +41,7 @@ GLchar* SK_VERTEX_SHADER =
4141
" gl_Position = u_mvpMatrix * vec4(in_Vertex, 1);\n"
4242
"}";
4343

44-
GLchar* SK_FRAGMENT_SHADER =
44+
const GLchar* SK_FRAGMENT_SHADER =
4545
"#version 330 core\n"
4646
"in vec4 b_color;\n"
4747
"in vec3 b_position;\n"
@@ -720,7 +720,7 @@ sl::Transform Simple3DObject::getModelMatrix() const {
720720
return tmp;
721721
}
722722

723-
Shader::Shader(GLchar* vs, GLchar* fs) {
723+
Shader::Shader(const GLchar* vs, const GLchar* fs) {
724724
if (!compile(verterxId_, GL_VERTEX_SHADER, vs)) {
725725
std::cout << "ERROR: while compiling vertex shader" << std::endl;
726726
}
@@ -768,7 +768,7 @@ GLuint Shader::getProgramId() {
768768
return programId_;
769769
}
770770

771-
bool Shader::compile(GLuint &shaderId, GLenum type, GLchar* src) {
771+
bool Shader::compile(GLuint &shaderId, GLenum type, const GLchar* src) {
772772
shaderId = glCreateShader(type);
773773
if (shaderId == 0) {
774774
std::cout << "ERROR: shader type (" << type << ") does not exist" << std::endl;

body tracking/export/JSON export/cpp/src/main.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
///////////////////////////////////////////////////////////////////////////
22
//
3-
// Copyright (c) 2023, STEREOLABS.
3+
// Copyright (c) 2024, STEREOLABS.
44
//
55
// All rights reserved.
66
//

body tracking/export/fbx export/cpp/include/utils.hpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
///////////////////////////////////////////////////////////////////////////
22
//
3-
// Copyright (c) 2023, STEREOLABS.
3+
// Copyright (c) 2024, STEREOLABS.
44
//
55
// All rights reserved.
66
//

body tracking/export/fbx export/cpp/src/main.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
///////////////////////////////////////////////////////////////////////////
22
//
3-
// Copyright (c) 2023, STEREOLABS.
3+
// Copyright (c) 2024, STEREOLABS.
44
//
55
// All rights reserved.
66
//

body tracking/multi-camera/cpp/include/GLViewer.hpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -30,15 +30,15 @@ class Shader {
3030

3131
Shader() {
3232
}
33-
Shader(GLchar* vs, GLchar* fs);
33+
Shader(const GLchar* vs, const GLchar* fs);
3434
~Shader();
3535
GLuint getProgramId();
3636

3737
static const GLint ATTRIB_VERTICES_POS = 0;
3838
static const GLint ATTRIB_COLOR_POS = 1;
3939
static const GLint ATTRIB_NORMAL = 2;
4040
private:
41-
bool compile(GLuint &shaderId, GLenum type, GLchar* src);
41+
bool compile(GLuint &shaderId, GLenum type, const GLchar* src);
4242
GLuint verterxId_;
4343
GLuint fragmentId_;
4444
GLuint programId_;

body tracking/multi-camera/cpp/src/GLViewer.cpp

+10-10
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#include "GLViewer.hpp"
22

3-
GLchar* VERTEX_SHADER =
3+
const GLchar* VERTEX_SHADER =
44
"#version 330 core\n"
55
"layout(location = 0) in vec3 in_Vertex;\n"
66
"layout(location = 1) in vec3 in_Color;\n"
@@ -11,7 +11,7 @@ GLchar* VERTEX_SHADER =
1111
" gl_Position = u_mvpMatrix * vec4(in_Vertex, 1);\n"
1212
"}";
1313

14-
GLchar* FRAGMENT_SHADER =
14+
const GLchar* FRAGMENT_SHADER =
1515
"#version 330 core\n"
1616
"in vec3 b_color;\n"
1717
"layout(location = 0) out vec4 color;\n"
@@ -20,7 +20,7 @@ GLchar* FRAGMENT_SHADER =
2020
"}";
2121

2222

23-
GLchar* POINTCLOUD_VERTEX_SHADER =
23+
const GLchar* POINTCLOUD_VERTEX_SHADER =
2424
"#version 330 core\n"
2525
"layout(location = 0) in vec4 in_VertexRGBA;\n"
2626
"out vec4 b_color;\n"
@@ -39,15 +39,15 @@ GLchar* POINTCLOUD_VERTEX_SHADER =
3939
" gl_Position = u_mvpMatrix * vec4(in_VertexRGBA.xyz, 1);\n"
4040
"}";
4141

42-
GLchar* POINTCLOUD_FRAGMENT_SHADER =
42+
const GLchar* POINTCLOUD_FRAGMENT_SHADER =
4343
"#version 330 core\n"
4444
"in vec4 b_color;\n"
4545
"layout(location = 0) out vec4 out_Color;\n"
4646
"void main() {\n"
4747
" out_Color = b_color;\n"
4848
"}";
4949

50-
GLchar* VERTEX_SHADER_TEXTURE =
50+
const GLchar* VERTEX_SHADER_TEXTURE =
5151
"#version 330 core\n"
5252
"layout(location = 0) in vec3 in_Vertex;\n"
5353
"layout(location = 1) in vec2 in_UVs;\n"
@@ -58,7 +58,7 @@ GLchar* VERTEX_SHADER_TEXTURE =
5858
" UV = in_UVs;\n"
5959
"}\n";
6060

61-
GLchar* FRAGMENT_SHADER_TEXTURE =
61+
const GLchar* FRAGMENT_SHADER_TEXTURE =
6262
"#version 330 core\n"
6363
"in vec2 UV;\n"
6464
"uniform sampler2D texture_sampler;\n"
@@ -651,7 +651,7 @@ void Simple3DObject::draw() {
651651
glBindVertexArray(0);
652652
}
653653

654-
Shader::Shader(GLchar* vs, GLchar* fs) {
654+
Shader::Shader(const GLchar* vs, const GLchar* fs) {
655655
if (!compile(verterxId_, GL_VERTEX_SHADER, vs)) {
656656
std::cout << "ERROR: while compiling vertex shader" << std::endl;
657657
}
@@ -699,7 +699,7 @@ GLuint Shader::getProgramId() {
699699
return programId_;
700700
}
701701

702-
bool Shader::compile(GLuint &shaderId, GLenum type, GLchar* src) {
702+
bool Shader::compile(GLuint &shaderId, GLenum type, const GLchar* src) {
703703
shaderId = glCreateShader(type);
704704
if (shaderId == 0) {
705705
std::cout << "ERROR: shader type (" << type << ") does not exist" << std::endl;
@@ -727,7 +727,7 @@ bool Shader::compile(GLuint &shaderId, GLenum type, GLchar* src) {
727727
return true;
728728
}
729729

730-
GLchar* IMAGE_FRAGMENT_SHADER =
730+
const GLchar* IMAGE_FRAGMENT_SHADER =
731731
"#version 330 core\n"
732732
" in vec2 UV;\n"
733733
" out vec4 color;\n"
@@ -739,7 +739,7 @@ GLchar* IMAGE_FRAGMENT_SHADER =
739739
" color = vec4(color_rgb,1);\n"
740740
"}";
741741

742-
GLchar* IMAGE_VERTEX_SHADER =
742+
const GLchar* IMAGE_VERTEX_SHADER =
743743
"#version 330\n"
744744
"layout(location = 0) in vec3 vert;\n"
745745
"out vec2 UV;"

0 commit comments

Comments
 (0)