Add disparity_search_offset examples

This commit is contained in:
jj
2025-02-26 14:21:07 +08:00
parent 5075e2c2df
commit 53d714d1e4
4 changed files with 52 additions and 10 deletions
+4
View File
@@ -10,6 +10,10 @@ How to use multi-camera synced in OrbbecSDK_ROS2.
How to use interleave_ae in OrbbecSDK_ROS2.
# disparity_search_offset
How to use disparity_search_offset in OrbbecSDK_ROS2.
# multi_camera_synced_verification_tool
How to verify the synchronization accuracy of multi-camera synced.
@@ -0,0 +1,47 @@
# Disparity_search_offset
> This section describes how to use the disparity_search_offset function in the Gemini330 series cameras (minimum camera firmware version [1.4.60](https://www.orbbec.com/docs/g330-firmware-release/)).Disparity_search_offset is effective only for1280×720, 1280×800 and 640×400 resolutions of depth stream.
## Function Introduction
The definition of disparity search range: For any pixel *(u_l, v)* in the left image, by default, the corresponding disparity search range in the right image is *[ (u_l - 255, v)*, *(u_l, v) ]*, where the disparity search length is 256 and the maximum integer disparity is 255. If the starting point of the search is adjusted to *[ (u_l - 255 - offset, v)*, *(u_l - offset, v) ]*, the offset is defined as the disparity shift. Therefore, our disparity search range configuration includes both the disparity search length and the search position offset (which can also be referred to as the disparity shift).
![Depth Point Cloud Visualization](image/search_offset0.png)
## Parameter Introduction
The disparity_search_offset related parameters are set in [gemini_330_series.launch.py](../../launch/gemini_330_series.launch.py)
disparity_range_mode : Disparity search length,can only be set to 64, 128 and 256.
disparity_search_offset : Disparity search offset value,Disparity search offset value, can be set from 0 to 127.
disparity_offset_config : Disparity search offset interleave frames.
offset_index0 : Frame 0 disparity search offset value.
offset_index1 : Frame 1 disparity search offset value.
| disparity range mode | disparity search offset | Minimum depth of inclined wall (mm) |
| :------------------: | :---------------------: | :---------------------------------: |
| 64 | 85 | Gemini 335L  388-406 |
| 64 | 127 | Gemini 335L  302-317 |
| disparity range mode | disparity search offset | Minimum depth of inclined wall (mm) |
| :------------------: | :---------------------: | :---------------------------------------------: |
| 128 | 0 | Gemini 335  233-249<br />Gemini 335L  453-475 |
| 128 | 45 | Gemini 335  172-184<br />Gemini 335L  334-349 |
| 128 | 127 | Gemini 335  117-125<br />Gemini 335L  226-236 |
| disparity range mode | disparity search offset | Minimum depth of inclined wall (mm) |
| :------------------: | :---------------------: | :---------------------------------: |
| 256 | 85 | Gemini 335L  169-178 |
| 256 | 127 | Gemini 335L  151-158 |
## Run the launch
Setting the disparity_search_offset parameter,`colcon build` again and run launch
```bash
ros2 launch orbbec_camera gemini_330_series.launch.py
```
Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

@@ -8,7 +8,6 @@ The interleave_ae related parameters are set in [gemini_330_series.launch.py](..
* `interleave_ae_mode` : Set laser or hdr interleave.
* `interleave_frame_enable` : enable interleave frame mode.
* `interleave_skip_enable` : enable skip frame mode.
* `interleave_skip_index` : Set 0 for skip pattern ir, set 1 for skip flood ir.
@@ -18,16 +17,12 @@ When the `interleave_ae_mode` parameter is set to `hdr` and `interleave_frame_en
* `hdr_index1_laser_control` : Frame 1 laser switch settings.
* `hdr_index1_depth_exposure` : Frame 1 depth exposure value setting, not in AE mode.
* `hdr_index1_depth_gain` : Frame 1 depth gain value setting, not in AE mode.
* `hdr_index1_ir_brightness` : Frame 1 ir gain value setting.
* `hdr_index1_ir_ae_max_exposure` : Frame 1 ir maximum exposure value setting in AE (auto exposure).
* `hdr_index0_laser_control`: Frame 0 laser switch settings.
* `hdr_index0_depth_exposure`: Frame 0 depth exposure value setting, not in AE mode.
* `hdr_index0_depth_gain` : Frame 0 depth gain value setting, not in AE mode.
* `hdr_index0_ir_brightness` : Frame 0 ir gain value setting.
* `hdr_index0_ir_ae_max_exposure` : Frame 0 ir maximum exposure value setting in AE (auto exposure).
@@ -37,16 +32,12 @@ When the `interleave_ae_mode` parameter is set to `laser` and `interleave_frame_
* `laser_index1_laser_control` : Frame 1 laser switch settings.
* `laser_index1_depth_exposure` : Frame 1 depth exposure value setting, not in AE mode.
* `laser_index1_depth_gain` : Frame 1 depth gain value setting, not in AE mode.
* `laser_index1_ir_brightness` : Frame 1 ir gain value setting.
* `laser_index1_ir_ae_max_exposure` : Frame 1 ir maximum exposure value setting in AE (auto exposure).
* `laser_index0_laser_control` : Frame 0 laser switch settings.
* `laser_index0_depth_exposure` : Frame 0 depth exposure value setting, not in AE mode.
* `laser_index0_depth_gain` : Frame 0 depth gain value setting, not in AE mode.
* `laser_index0_ir_brightness` : Frame 0 ir gain value setting.
* `laser_index0_ir_ae_max_exposure` : Frame 0 ir maximum exposure value setting in AE (auto exposure).
@@ -58,7 +49,7 @@ Setting the interleave_ae parameter,`colcon build` again and run launch
ros2 launch orbbec_camera gemini_330_series.launch.py
```
**Example Visualization **
#### Example Visualization
![Depth Point Cloud Visualization](image/interleave_ae0.jpeg)