Skip to content

Commit a8a12b7

Browse files
committed
Samples: Automatic updates to public repository
Remember to do the following: 1. Ensure that modified/deleted/new files are correct 2. Make this commit message relevant for the changes 3. Force push 4. Delete branch after PR is merged If this commit is an update from one SDK version to another, make sure to create a release tag for previous version.
1 parent 77c7262 commit a8a12b7

67 files changed

Lines changed: 348 additions & 174 deletions

File tree

Some content is hidden

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

README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ from the camera can be used.
116116
- [ZividBenchmark] - Zividbenchmark is a sample that will test the
117117
average speed of different operations on your computer.
118118
- **Network**
119-
- [AutomaticNetworkConfigurationForCameras] - \* Automatically
119+
- [AutomaticNetworkConfigurationForCameras] - Automatically
120120
configure the IP addresses of connected cameras to match the
121121
network of the user's PC.
122122
- [NetworkConfiguration] - Uses Zivid API to change the IP address
@@ -199,7 +199,7 @@ from the camera can be used.
199199
- **MultiCamera**
200200
- [MultiCameraCalibration] - Use captures of a calibration object
201201
to generate transformation matrices to a single coordinate
202-
frame, from connected cameras.
202+
frame, from multiple connected cameras.
203203
- [MultiCameraCalibrationFromZDF] - Use captures of a calibration
204204
object to generate transformation matrices to a single
205205
coordinate frame, from a ZDF files.
@@ -305,6 +305,7 @@ their respective instructions on the following pages:
305305
- [Install Zivid + HALCON for LINUX]
306306
- [Create a HALCON "Hello World" Program]
307307
- [How to Run a HALCON Sample]
308+
- [Capture Settings in HALCON]
308309
- [Debug in HALCON]
309310
- [HALCON Sample Videos]
310311

@@ -446,6 +447,7 @@ If your build hangs, try to increase the memory available to Docker.
446447
[Install Zivid + HALCON for LINUX]: https://support.zivid.com/en/latest/camera/api-reference/samples/halcon/install-zivid-halcon-for-linux.html
447448
[Create a HALCON "Hello World" Program]: https://support.zivid.com/en/latest/camera/api-reference/samples/halcon/create-a-halcon-hello-world.html
448449
[How to Run a HALCON Sample]: https://support.zivid.com/en/latest/camera/api-reference/samples/halcon/how-to-run-a-halcon-sample.html
450+
[Capture Settings in HALCON]: https://support.zivid.com/en/latest/camera/api-reference/samples/halcon/capture-settings-in-halcon.html
449451
[Debug in HALCON]: https://support.zivid.com/en/latest/camera/api-reference/samples/halcon/halcon-debug.html
450452
[HALCON Sample Videos]: https://support.zivid.com/en/latest/camera/api-reference/samples/halcon/halcon-sample-videos.html
451453
[Knowledge Base]: https://support.zivid.com/en/latest

source/Applications/Advanced/Barcode/BarcodeDetector/BarcodeDetector.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
/*
22
Detect and decode linear and matrix barcodes from a 2D capture.
3+
4+
For more information on how to use the Zivid Barcode Detector, check out the Barcode Detection tutorial:
5+
https://support.zivid.com/en/latest/camera/academy/applications/barcode-detection.html
36
*/
47

58
#include <Zivid/Experimental/Toolbox/Barcode.h>
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Barcode Detection
2+
3+
> **Tutorial:** Read the full [Barcode Detection](https://support.zivid.com/en/latest/camera/academy/applications/barcode-detection.html) tutorial on Zivid Knowledge Base.

source/Applications/Advanced/Downsample/Downsample.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22
Downsample point cloud from a ZDF file.
33
44
The ZDF files for this sample can be found under the main instructions for Zivid samples.
5+
6+
For more information on downsampling point clouds, check out this tutorial:
7+
https://support.zivid.com/en/latest/camera/academy/applications/downsampling.html
58
*/
69

710
#include <Zivid/Visualization/Visualizer.h>

source/Applications/Advanced/GammaCorrection/GammaCorrection.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
/*
22
Capture 2D image with gamma correction.
3+
4+
For more information about gamma correction, check out this article:
5+
https://support.zivid.com/en/latest/camera/reference-articles/settings/2d-settings/gamma.html
36
*/
47

58
#include <Zivid/Zivid.h>

source/Applications/Advanced/HandEyeCalibration/HandEyeCalibration/HandEyeCalibration.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
/*
22
Perform Hand-Eye calibration.
3+
4+
For more information on Hand-Eye calibration, check out this tutorial:
5+
https://support.zivid.com/en/latest/camera/academy/applications/hand-eye.html
36
*/
47

58
#include <Zivid/Application.h>

source/Applications/Advanced/HandEyeCalibration/PoseConversions/PoseConversions.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@ millimeters. If your robot reports translation in meters, multiply it by 1000 be
99
1010
The convenience functions from this example can be reused in applicable applications. The YAML files for this sample can
1111
be found under the main instructions for Zivid samples.
12+
13+
For more information on pose conversions, check out this article:
14+
https://support.zivid.com/en/latest/camera/reference-articles/pose-conversions.html
1215
*/
1316

1417
#include <Zivid/Zivid.h>
Lines changed: 1 addition & 145 deletions
Original file line numberDiff line numberDiff line change
@@ -1,147 +1,3 @@
11
# Hand-Eye Calibration
22

3-
This page provides an overview of how to **perform**, **verify**, and **use Hand–Eye Calibration** with Zivid cameras.
4-
5-
If you are new to Hand–Eye Calibration, start with the [Hand–Eye Calibration – Concept & Theory][HandEyeTutorial-url], explaining:
6-
7-
- What Hand–Eye Calibration is
8-
- The difference between **eye-in-hand** and **eye-to-hand**
9-
- Best practices for dataset (point clouds and robot poses) acquisition
10-
11-
If you already know what you’re doing and just want to run calibration or check out our Hand-Eye calibration code, continue reading.
12-
13-
<!-- Use "Markdown All in One plugin in VS code to automatically generate and update TOC". -->
14-
15-
- [Quick Start: Just Calibrate](#quick-start-just-calibrate)
16-
- [Programmatic Hand–Eye Calibration](#programmatic-handeye-calibration)
17-
- [Using an Existing Hand–Eye Calibration](#using-an-existing-handeye-calibration)
18-
- [Summary: Which Tool Should I Use?](#summary-which-tool-should-i-use)
19-
20-
21-
---
22-
23-
## Quick Start: Just Calibrate
24-
25-
If your goal is **only to compute the Hand–Eye Transformation Matrix**, use one of the tools below and follow Zivid’s [best-practice guide for capture poses][ZividHandEyeCalibration-url].
26-
27-
### Hand–Eye Calibration GUI (Recommended)
28-
29-
**Note:** This is a **Python-based GUI application** (it is not related to the C++ samples).
30-
31-
- Tutorial: [Hand–Eye GUI Tutorial][HandEyeCalibrationGUITutorial-url]
32-
- Application: [HandEyeCalibration GUI][HandEyeCalibrationGUI-url] (Python)
33-
34-
Best choice if you:
35-
36-
- Want a guided, no-code workflow
37-
38-
---
39-
40-
## Programmatic Hand–Eye Calibration
41-
42-
The following applications produce a Hand–Eye Transformation Matrix from robot poses and calibration captures.
43-
44-
### Minimal Hand-Eye Calibration Code Example
45-
46-
- Sample: [HandEyeCalibration][HandEyeCalibration-url]
47-
- Tutorial: [Integrating Zivid Hand-Eye Calibration][hand-eye-procedure-url]
48-
49-
Workflow:
50-
51-
1. User inputs robot pose in the form of a 4x4 transformation matrix (manual entry)
52-
2. Camera captures the calibration object
53-
3. User moves the robot to a new capture pose and enters the command to add a new pose
54-
4. First three steps are repeated (typically 10–20 pose pairs)
55-
5. User enters the command to perform calibration and the application returns a Hand-Eye Transformation Matrix
56-
57-
Use this if you:
58-
59-
- Want the simplest integration example
60-
- Are building your own calibration pipeline
61-
62-
---
63-
64-
### Hand Eye Calibration CLI Tool
65-
66-
- Tutorial: [Zivid CLI Tool for Hand–Eye Calibration][CLI application-url]
67-
- Installed with:
68-
- Windows Zivid installer
69-
- `tools` deb package on Ubuntu
70-
71-
Use this if you:
72-
73-
- Already have a dataset (robot poses + point clouds)
74-
- Want a command-line, batch-style workflow
75-
76-
---
77-
78-
## Using an Existing Hand–Eye Calibration
79-
80-
The following applications assume that a **Hand–Eye Transformation Matrix already exists**.
81-
82-
### Utilize Hand-Eye Calibration
83-
84-
- Sample: [UtilizeHandEyeCalibration][UtilizeHandEyeCalibration-url]
85-
- Tutorial: [How To Use The Result Of Hand-Eye Calibration][UtilizeHandEyeCalibrationTutorial-url]
86-
87-
Demonstrates how to:
88-
89-
- Transform poses from camera coordinates to robot coordinates
90-
- Use the transform in real applications (e.g., bin picking)
91-
92-
Example workflow:
93-
94-
1. Capture a point cloud with a Zivid camera
95-
2. Find an object pick pose in camera coordinate system
96-
3. Transform the pose into robot coordinate system
97-
4. Plan and execute the robot motion
98-
99-
---
100-
101-
### Pose Conversions
102-
103-
- Sample: [PoseConversions][PoseConversions-url]
104-
- Application: [PoseConversions GUI][PoseConversionsGUI-url] (Python)
105-
- Theory: [Conversions Between Common Orientation Representations][PoseConversionsTheory-url]
106-
107-
Zivid primarily operates with a (4x4) Transformation Matrix (Rotation Matrix + Translation Vector). This example shows how to convert to and from:
108-
109-
- Axis–Angle
110-
- Rotation Vector
111-
- Roll–Pitch–Yaw
112-
- Quaternion
113-
114-
Useful for integrating with robot controllers.
115-
116-
---
117-
118-
## Summary: Which Tool Should I Use?
119-
120-
| Goal | Recommended Tool |
121-
|------|------------------|
122-
| Conceptual understanding | [Knowledge Base article][HandEyeTutorial-url] |
123-
| Guided calibration | [Hand–Eye GUI (Python)][HandEyeCalibrationGUITutorial-url] |
124-
| Minimal integration example | [HandEyeCalibration][HandEyeCalibration-url] |
125-
| Existing dataset | [Hand–Eye GUI (Python)][HandEyeCalibrationGUITutorial-url]|
126-
| Use calibration result | [UtilizeHandEyeCalibration][UtilizeHandEyeCalibrationTutorial-url] |
127-
| Verify visually | [Hand–Eye GUI (Python)][HandEyeCalibrationGUITutorial-url] |
128-
| Verify physically | [Hand–Eye GUI][HandEyeCalibrationGUITutorial-url] |
129-
130-
[HandEyeTutorial-url]: https://support.zivid.com/latest/academy/applications/hand-eye.html
131-
132-
[HandEyeCalibration-url]: HandEyeCalibration/HandEyeCalibration.cpp
133-
134-
[HandEyeCalibrationGUI-url]: https://github.com/zivid/zivid-python-samples/blob/master/source/applications/advanced/hand_eye_calibration/hand_eye_gui.py
135-
[HandEyeCalibrationGUITutorial-url]: https://support.zivid.com/en/latest/academy/applications/hand-eye/hand-eye-gui.html
136-
137-
[UtilizeHandEyeCalibration-url]: UtilizeHandEyeCalibration/UtilizeHandEyeCalibration.cpp
138-
[UtilizeHandEyeCalibrationTutorial-url]: https://support.zivid.com/en/latest/academy/applications/hand-eye/how-to-use-the-result-of-hand-eye-calibration.html
139-
140-
[ZividHandEyeCalibration-url]: https://support.zivid.com/latest/academy/applications/hand-eye/hand-eye-calibration-process.html
141-
[hand-eye-procedure-url]: https://support.zivid.com/en/latest/academy/applications/hand-eye/hand-eye-calibration-process.html#custom-integration
142-
143-
[PoseConversions-url]: PoseConversions/PoseConversions.cpp
144-
[PoseConversionsGUI-url]: https://github.com/zivid/zivid-python-samples/blob/master/source/applications/advanced/hand_eye_calibration/pose_conversion_gui.py
145-
[PoseConversionsTheory-url]: https://support.zivid.com/en/latest/reference-articles/pose-conversions.html
146-
147-
[CLI application-url]: https://support.zivid.com/latest/academy/applications/hand-eye/zivid_CLI_tool_for_hand_eye_calibration.html
3+
> **Tutorial:** Read the full [Hand-Eye Calibration](https://support.zivid.com/en/latest/camera/academy/applications/hand-eye.html) tutorial on Zivid Knowledge Base.

source/Applications/Advanced/HandEyeCalibration/UtilizeHandEyeCalibration/UtilizeHandEyeCalibration.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@ Eye-In-Hand:
2424
For verification, check that the Zivid gem centroid 3D coordinates are the same as above after the transformation.
2525
2626
The YAML files for this sample can be found under the main instructions for Zivid samples.
27+
28+
For more information on how to utilize Hand-Eye calibration results, check out this tutorial:
29+
https://support.zivid.com/en/latest/camera/academy/applications/hand-eye/how-to-use-the-result-of-hand-eye-calibration.html
2730
*/
2831

2932
#include <Zivid/Zivid.h>

source/Applications/Advanced/MultiCamera/MultiCameraCalibration/MultiCameraCalibration.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
/*
2-
Use captures of a calibration object to generate transformation matrices to a single coordinate frame, from connected cameras.
2+
Use captures of a calibration object to generate transformation matrices to a single coordinate frame, from multiple connected cameras.
3+
4+
For more information on multi-camera calibration, check out this tutorial:
5+
https://support.zivid.com/en/latest/camera/academy/applications/multi-camera-calibration.html
36
*/
47

58
#include <clipp.h>

0 commit comments

Comments
 (0)