C++
Sample list
샘플에는 Camera 및 Applications 의 두 가지 주요 범주가 있습니다. Camera 카테고리의 샘플은 카메라 사용 방법에 초점을 맞춥니다. Applications 카테고리의 샘플은 3D 포인트 클라우드, 2D 이미지 또는 카메라의 기타 데이터와 같이 카메라에서 생성된 데이터를 사용합니다. 이 샘플은 카메라의 데이터를 사용하는 방법을 보여줍니다.
Camera
Basic
Capture - Capture colored point cloud, save 2D image, save 3D ZDF, and export PLY, using the Zivid camera.
CaptureFromFileCamera - Capture point clouds, with color, with the Zivid file camera.
CaptureHDRCompleteSettings - Capture point clouds, with color, from the Zivid camera with fully configured settings.
CaptureWithSettingsFromYML - Capture images and point clouds, with and without color, from the Zivid camera with settings from YML file.
Advanced
AllocateMemoryForPointCloudData - Two methods to copy point cloud data from GPU memory to CPU memory, to be consumed by OpenCV.
Capture2DAnd3D - Capture 2D and 3D with the Zivid camera.
CaptureHalconViaGenICam - Capture and save a point cloud, with colors, using GenICam interface and Halcon C++ SDK.
CaptureHalconViaZivid - Capture a point cloud, with colors, using Zivid SDK, transform it to a Halcon point cloud and save it using Halcon C++ SDK.
CaptureHDRLoop - Cover the same dynamic range in a scene with different acquisition settings to optimize for quality, speed, or to find a compromise.
CaptureHDRPrintNormals - Capture Zivid point clouds, compute normals and print a subset.
CaptureViaGenICam - Capture using the GenICam interface.
MultiCameraCaptureInParallel - Capture point clouds with multiple cameras in parallel.
MultiCameraCaptureSequentially - Capture point clouds with multiple cameras sequentially.
MultiCameraCaptureSequentiallyWithInterleavedProcessing - Capture point clouds with multiple cameras sequentially with interleaved processing.
InfoUtilOther
AutomaticNetworkConfigurationForCameras - * Automatically configure the IP addresses of connected cameras to match the network of the user’s PC.
CameraInfo - List connected cameras and print camera version and state information for each connected camera.
CameraUserData - Store user data on the Zivid camera.
CaptureWithDiagnostics - Capture point clouds, with color, from the Zivid camera, with settings from YML file and diagnostics enabled.
FirmwareUpdater - Update firmware on the Zivid camera.
FrameInfo - Read frame info from the Zivid camera.
GetCameraIntrinsics - Read intrinsic parameters from the Zivid camera (OpenCV model) or estimate them from the point cloud.
MeasureSceneConditions - Measure ambient light conditions in the scene and output the measured flickering frequency of the ambient light if flickering is detected.
NetworkConfiguration - Uses Zivid API to change the IP address of the Zivid camera.
SettingsInfo - Read settings info from the Zivid camera.
Warmup - Short example of a basic way to warm up the camera with specified time and capture cycle.
ZividBenchmark - Zividbenchmark is a sample that will test the average speed of different operations on your computer.
Maintenance
CorrectCameraInField - Correct the dimension trueness of a Zivid camera.
ResetCameraInField - Reset infield correction on a camera.
VerifyCameraInField - Check the dimension trueness of a Zivid camera.
VerifyCameraInFieldFromZDF - Check the dimension trueness of a Zivid camera from a ZDF file.
Applications
Basic
Visualization
CaptureFromFileCameraVis3D - Capture point clouds, with color, with the Zivid file camera and visualize them.
CaptureHDRVisNormals - Capture Zivid point clouds, with color and normals, and visualize it in 3D and as a normal map.
CaptureVis3D - Capture point clouds, with color, from the Zivid camera, and visualize it.
CaptureWritePCLVis3D - Capture point clouds, with color, from the Zivid camera, save it to PCD file format, and visualize it.
ProjectImageStartAndStop - Start the Image Projection and Stop it.
ReadAndProjectImage - Read a 2D image from file and project it using the camera projector.
ReadPCLVis3D - Read point cloud from PCL file and visualize it.
FileFormats
ReadIterateZDF - Read point cloud data from a ZDF file, iterate through it, and extract individual points.
Advanced
CaptureUndistort2D - Use camera intrinsics to undistort a 2D image.
CreateDepthMap - Convert point cloud from a ZDF file to OpenCV format, extract depth map and visualize it.
Downsample - Downsample point cloud from a ZDF file.
GammaCorrection - Capture 2D image with gamma correction.
HandEyeCalibration - Perform Hand-Eye calibration.
MaskPointCloud - Mask point cloud from a ZDF file and convert to PCL format, extract depth map and visualize it.
ProjectAndFindMarker - Show a marker using the projector, capture a set of 2D images to find the marker coordinates (2D and 3D).
ReprojectPoints - Illuminate checkerboard (Zivid Calibration Board) centers by getting the checkerboard feature points
ROIBoxViaArucoMarker - Filter the point cloud based on a ROI box given relative to the ArUco marker on a Zivid Calibration Board.
ROIBoxViaCheckerboard - Filter the point cloud based on a ROI box given relative to the Zivid Calibration Board.
TransformPointCloudFromMillimetersToMeters - Transform point cloud data from millimeters to meters.
TransformPointCloudViaArucoMarker - Transform a point cloud from camera to ArUco marker coordinate frame by estimating the marker’s pose from the point cloud.
TransformPointCloudViaCheckerboard - Transform a point cloud from camera to checkerboard (Zivid Calibration Board) coordinate frame by getting checkerboard pose from the API.
HandEyeCalibration
PoseConversions - Convert to/from Transformation Matrix (Rotation Matrix + Translation Vector)
UtilizeHandEyeCalibration - Transform single data point or entire point cloud from camera to robot base reference frame using Hand-Eye calibration
MultiCamera
MultiCameraCalibration - Use captures of a calibration object to generate transformation matrices to a single coordinate frame, from connected cameras.
MultiCameraCalibrationFromZDF - Use captures of a calibration object to generate transformation matrices to a single coordinate frame, from a ZDF files.
StitchByTransformation - Use transformation matrices from Multi-Camera calibration to transform point clouds into single coordinate frame, from connected cameras.
StitchByTransformationFromZDF - Use transformation matrices from Multi-Camera calibration to transform point clouds into single coordinate frame, from a ZDF files.
Instructions
Windows
키보드에서 Win + R 키를 눌러 명령 프롬프트를 시작한 다음 cmd
을 입력하고 Enter 를 누르세요.
리포지토리를 복제할 위치로 이동한 후 다음 명령을 실행합니다.
git clone https://github.com/zivid/zivid-cpp-samples
CMake로 샘플 솔루션을 구성하고 Visual Studio에서 열어 빌드를 실행합니다. 자세한 내용은 Configure C++ Samples With CMake and Build Them in Visual Studio in Windows 를 참조하십시오.
Ubuntu
키보드에서 Ctrl + Alt + T 키를 눌러 터미널을 엽니다.
리포지토리를 복제할 위치로 이동한 후 다음 명령을 실행합니다.
git clone https://github.com/zivid/zivid-cpp-samples
cd zivid-cpp-samples
프로젝트 빌드:
mkdir build
cd build
cmake <options, see below> ../source
make -j
Some of the samples depend on external libraries, in particular Eigen 3, OpenCV, PCL, Open3D or HALCON.
If you don’t want to install those, you can disable the samples depending on them by passing the following options, respectively, to cmake: -DUSE_EIGEN3=OFF
, -DUSE_OPENCV=OFF
, -DUSE_PCL=OFF
, -DUSE_HALCON=OFF
.
See Configure C++ Samples With Optional Dependencies for instructions on how to install the optional dependencies and configure the samples to use them.
이제 샘플을 다음과 같이 빌드 디렉토리에서 실행할 수 있습니다.
./CaptureFromFileCameraVis3D