You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<h4align="center">A platform-agnostic camera and sensor capture API for the ZED stereo camera family</h4>
5
+
<h4align="center">A platform-agnostic camera and sensor capture API for the <ahref="https://www.stereolabs.com/products/zed-2">ZED 2, ZED 2i, and ZED Mini</a> stereo cameras</h4>
6
+
<h5align="center">*** not compatible with GMSL2 devices: <ahref="https://www.stereolabs.com/products/zed-x">ZED X, ZED X Mini, and ZED X One</a> ***</h5>
6
7
7
8
<palign="center">
8
9
<ahref="#key-features">Key Features</a> •
9
-
<ahref="#build">Build</a> •
10
+
<ahref="#build-and-install">Build and install</a> •
10
11
<ahref="#run">Run</a> •
11
12
<ahref="#documentation">Documentation</a> •
12
13
<ahref="#running-the-examples">Examples</a> •
14
+
<ahref="#known-issues">Known issues</a> •
13
15
<ahref="#related">Related</a> •
14
16
<ahref="#license">License</a>
15
17
</p>
16
18
<br>
17
19
18
-
19
20
## Key Features
21
+
20
22
* Open source C++ capture library compatible with C++11 standard
- Disparity/Depth/Point Cloud extraction using OpenCV Transparent API
45
47
- Depth tuning using OpenCV control GUI
46
48
47
49
## Description
48
50
49
51
The ZED Open Capture is a multi-platform, open-source C++ library for low-level camera and sensor capture for the ZED stereo camera family. It doesn't require CUDA and therefore can be used on many desktop and embedded platforms.
50
52
51
-
The open-source library provides methods to access raw video frames, calibration data, camera controls, and raw data from the camera sensors (on ZED 2, ZED 2i, and ZED Mini). A synchronization mechanism is provided to get the correct sensor data associated with a video frame.
52
-
53
-
**Note:** While in the ZED SDK all output data is calibrated and compensated, here the extracted raw data is not corrected by the camera and sensor calibration parameters. You can retrieve camera and sensor calibration data using the [ZED SDK](https://www.stereolabs.com/docs/video/camera-calibration/) to correct your camera data [see `zed_open_capture_rectify_example` example].
54
-
55
-
## Known issues
56
-
57
-
### OpenGL version
58
-
On some embedded devices, like Raspberry pi 4, the depth extraction example can crash with the following error:
59
-
60
-
`vtkShaderProgram.cxx:438 ERR| vtkShaderProgram (0x23a611c0): 0:1(10): error: GLSL 1.50 is not supported. Supported versions are: 1.10, 1.20, 1.00 ES, and 3.00 ES`
53
+
The open-source library provides methods to access raw video frames, calibration data, camera controls, and raw data from the USB3 camera sensors (on ZED 2, ZED 2i, and ZED Mini). A synchronization mechanism is provided to get the correct sensor data associated with a video frame.
61
54
62
-
to correctly execute the example application it is necessary to change the default OpenGL version:
55
+
**Note:** While in the ZED SDK all output data is calibrated and compensated, here the extracted raw data is not corrected by the camera and sensor calibration parameters. You can retrieve camera and sensor calibration data using the [ZED SDK](https://www.stereolabs.com/docs/video/camera-calibration/) to correct your camera data [see `zed_open_capture_rectify_example` example](#running-the-examples).
63
56
64
-
```
65
-
export MESA_GL_VERSION_OVERRIDE=3.2
66
-
```
67
-
68
-
you can permanently add this configuration by adding the above command as the last line of the `~/.bashrc` file.
Include the `SensorCapture` header, declare a `SensorCapture` object, get a list of available devices, initialize the first one, and finally retrieve sensors data:
Include the `SensorCapture` header, declare a `SensorCapture` object, get a list of available devices, initialize the first one, and finally retrieve sensor data:
@@ -180,17 +190,17 @@ After installing the library and examples, you will have the following sample ap
180
190
*[zed_open_capture_depth_example](https://github.com/stereolabs/zed-open-capture/blob/master/examples/zed_oc_depth_example.cpp): This application captures and displays video frames, calculates disparity map, then extracts the depth map and the point cloud displaying the result and the estimation of the performance.
181
191
*[zed_open_capture_depth_tune_stereo](https://github.com/stereolabs/zed-open-capture/blob/master/examples/tools/zed_oc_tune_stereo_sgbm.cpp): This application captures the first available stereo frames and provides GUI Controls to tune the disparity map results and save them to be used in the `zed_open_capture_depth_example` example
182
192
183
-
To run the examples, open a terminal console and enter the following commands:
184
-
185
-
```
186
-
$ zed_open_capture_video_example
187
-
$ zed_open_capture_multicam_video_example
188
-
$ zed_open_capture_control_example
189
-
$ zed_open_capture_rectify_example
190
-
$ zed_open_capture_sensors_example
191
-
$ zed_open_capture_sync_example
192
-
$ zed_open_capture_depth_example
193
-
$ zed_open_capture_depth_tune_stereo
193
+
To run the examples, open a terminal console and enter one of the following commands:
194
+
195
+
```bash
196
+
zed_open_capture_video_example
197
+
zed_open_capture_multicam_video_example
198
+
zed_open_capture_control_example
199
+
zed_open_capture_rectify_example
200
+
zed_open_capture_sensors_example
201
+
zed_open_capture_sync_example
202
+
zed_open_capture_depth_example
203
+
zed_open_capture_depth_tune_stereo
194
204
```
195
205
196
206
**Note:** OpenCV is used in the examples for controls, display, and depth extraction.
@@ -202,19 +212,33 @@ The API is documented in the Include.h files. It is also generated as a Doxygen
202
212
203
213
You can also generate the documentation locally in HTML format (with Doxygen) using the commands below. Access the docs by opening `doc/html/index.html` in your web browser.
204
214
205
-
206
-
$ sudo apt-get install -y doxygen # if not previously installed
207
-
$ cd doc
208
-
$ ./generate_doc.sh
209
-
210
-
215
+
```bash
216
+
sudo apt-get install -y doxygen # if not previously installed
217
+
cd doc
218
+
./generate_doc.sh
219
+
```
211
220
212
221
## Coordinates system
213
222
214
223
The coordinate system is only used for sensor data. The given IMU and Magnetometer data are expressed in the RAW coordinate system as shown below
215
224
216
225

217
226
227
+
## Known issues
228
+
229
+
### OpenGL version
230
+
On some embedded devices, like Raspberry Pi 4, the depth extraction example can crash with the following error:
231
+
232
+
`vtkShaderProgram.cxx:438 ERR| vtkShaderProgram (0x23a611c0): 0:1(10): error: GLSL 1.50 is not supported. Supported versions are: 1.10, 1.20, 1.00 ES, and 3.00 ES`
233
+
234
+
to correctly execute the example application it is necessary to change the default OpenGL version:
235
+
236
+
```
237
+
export MESA_GL_VERSION_OVERRIDE=3.2
238
+
```
239
+
240
+
you can permanently add this configuration by adding the above command as the last line of the `~/.bashrc` file.
241
+
218
242
## Related
219
243
220
244
-[Stereolabs](https://www.stereolabs.com)
@@ -226,5 +250,6 @@ The coordinate system is only used for sensor data. The given IMU and Magnetomet
226
250
This library is licensed under the MIT License.
227
251
228
252
## Support
253
+
229
254
If you need assistance go to our Community site at https://community.stereolabs.com/
0 commit comments