示例

直接使用您喜欢的编程语言对Zivid相机进行编程。

备注

一些Zivid示例需要使用到 Sample Data(示例数据)

示例列表

  • 相机

    • 基础

    • 高级

      • CaptureHalconViaGenICam - 使用GenICam接口和Halcon C++ SDK捕获并保存带有颜色数据的点云。

      • CaptureHalconViaZivid - 使用Zivid SDK捕获带有颜色数据的点云,将其转换为Halcon格式的点云并使用Halcon C++ SDK保存。

      • CaptureHDRLoop - 使用不同的采集设置覆盖场景中的相同动态范围,以优化图像质量、速度或折衷方案。

      • CaptureHDRPrintNormals - 捕获Zivid点云,计算法线并输出一个子集。

    • InfoUtilOther

      • CameraUserData - 在Zivid相机上存储用户自定义数据。

      • CaptureWithDiagnostics - 从YML文件导入设置并启用诊断功能,从Zivid相机捕获带有颜色数据的点云。

      • FirmwareUpdater - 更新Zivid相机上的固件。

      • GetCameraIntrinsics - 从Zivid相机读取内参(OpenCV 模型)或者从点云中估计它们。

      • PrintVersionInfo - 列出连接的相机并打印版本信息。

      • Warmup - 以指定时间和捕获周期预热相机的示例。

  • 应用

  • 相机

    • 基础

      • Capture - 通过相机捕获3D彩色点云并生成HALCON ObjectModel3D,然后将其可视化。

      • CaptureHDR - 通过相机捕获HDR图像并生成HALCON ObjectModel3D,然后将其可视化。

      • CaptureHDRCompleteSettings - 通过Zivid相机捕获HDR图像,并为每一帧进行完整的设置。

      • CaptureSavePLY - 通过相机捕获3D彩色点云并将其保存为PLY文件格式。

      • CaptureWithSettingsFromJSON - Capture a 3D color point cloud from the camera and use it to generate a HALCON ObjectModel3D which is then visualized.

      • ConnectToSerialNumberCamera - 根据序列号连接到指定的Zivid 3D相机。

    • 高级

      • CaptureHDRLoop - 通过相机循环捕获HDR图像(同时主动更改一些HDR设置)。

    • InfoUtilOther

      • QuerySettingsAndParameters - 查询Zivid相机的图像采集接口和选择的具体参数信息。

      • Warmup - 以指定时间和捕获周期预热Zivid相机的示例。

  • 应用

  • 相机

    • 基础

      • Capture - 通过Zivid相机捕获包含颜色数据的点云。

      • Capture2D - 通过Zivid相机捕获2D图像。

      • CaptureAssistant - 使用捕获助手通过Zivid相机捕获带有颜色数据的点云。

      • CaptureFromFileCamera - 从Zivid文件相机捕获带有颜色数据的点云。目前支持Zivid One系列相机。

      • CaptureHDR - 通过Zivid相机捕获带有颜色数据的HDR点云。

      • zividApplication - application = zividApplication(folder)

    • InfoUtilOther

  • 应用

    • 基础

      • 可视化

        • CaptureFromFileCameraVis3D - 从虚拟的Zivid相机捕获带有颜色数据的点云,并将其可视化。目前仅支持Zivid One系列相机。

        • CaptureVis3D - 从Zivid相机捕获带有颜色数据的点云,并将其可视化。

      • 文件格式

        • convertZDF - convertZDF(inputFileName,outputFileFormat)

        • ReadIterateZDF - 从ZDF文件中读取点云数据,对其进行迭代并提取单个的点。

        • readZDF - [xyz,rgba,snr] = readZDF(dataFile)

    • 高级

      • Downsample - 将从ZDF文件读取的点云进行降采样。

访问GitHub zivid-ros 存储库。

安装

  1. 安装Zivid软件

  2. 下载Zivid Sample Data

Windows

点击键盘上的Win+R键启动命令提示符,然后键入 cmd ,接着按下 Enter

导航到要克隆的存储库的位置,然后运行以下命令:

git clone https://github.com/zivid/zivid-cpp-samples

使用CMake配置示例解决方案,在Visual Studio中打开示例,生成并运行。更多相关信息,请参阅 使用 CMake 配置 C++ 示例并在 Windows 的 Visual Studio 中构建它们

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

一些示例依赖于第三方库,比如Eigen 3、OpenCV、PCL或HALCON。如果您不想安装这些库,您可以通过关闭以下选项来禁用相关的示例 : cmake-DUSE_EIGEN3=OFF, -DUSE_OPENCV=OFF, -DUSE_PCL=OFF, -DUSE_HALCON=OFF.

如果您确实想使用它们:

  • Eigen 3:设置 -DEIGEN3_INCLUDE_DIR=<path><path> 是Eigen3安装的根目录(包含 Eigen/Core、Eigen/Dense等的文件夹)

  • PCLOpenCV:如果您的系统上安装了较新的版本,这些示例应该可以正常工作。如果没有,设置 -DPCL_DIR=<path> / -DOpenCV_DIR=<path><path> 分别是包含了 PCLConfig.cmakeOpenCVConfig.cmake 的目录 。

  • HALCON:如果您的系统上安装了较新的版本,这些示例应该可以正常工作。

现在可以从生成的目录运行示例,例如:

./CaptureFromFileCameraVis3D

如需获取更多相关信息,请访问GitHub zivid-cpp-samples 存储库。

  1. 安装Zivid软件

  2. 下载Zivid Sample Data

点击键盘上的Win+R键启动命令提示符,然后键入 cmd ,接着按下 Enter

导航到要克隆的存储库的位置,然后运行以下命令:

git clone https://github.com/zivid/zivid-csharp-samples

在Visual Studio中打开ZividNETSamples.sln,生成并运行它。如果您不确定如何操作,请查看 使用Visual Studio构建C#示例

一些示例依赖于外部库,特别是 MathNet.Numerics 。在构建示例时,将通过NuGet自动安装这些库。

如需获取更多相关信息,请访问GitHub zivid-csharp-samples 存储库。

备注

The recommended Python version for these samples is 3.7 - 3.9.

  1. 安装Zivid软件

  2. 下载Zivid Sample Data

  3. 使用IDE或命令行安装runtime requirements:

    pip install -r requirements.txt
    
  4. 将目录源添加到PYTHONPATH。导航到存储库的根目录并运行:

    • PowerShell: $env:PYTHONPATH=$env:PYTHONPATH + ";$PWD\source"

    • cmd: set PYTHONPATH="$PYTHONPATH;$PWD\source"

    • bash: export PYTHONPATH="$PYTHONPATH:$PWD/source"

  5. 打开并运行其中一个示例。

如需获取更多相关信息,请访问GitHub zivid-python-samples 存储库。

如果你想在HALCON中使用 Zivid,我们提供了一个GenICam GenTL producer( 从 Zivid Software 安装)。

Zivid and HALCON are compatible with Windows 10 and Ubuntu 20.04, 22.04.

备注

Support for Ubuntu 18.04 is removed since SDK 2.10.

要在这些操作系统之一中设置和使用Zivid,请按照以下页面中各自的说明进行操作:

以下HALCON版本已经过测试并确认可与Zivid相机配合使用:

  • 19.05 Progress, 20.05 Progress, 21.11 Progress

我们建议使用我们测试过的HALCON版本。

如需获取更多相关信息,请访问GitHub zivid-halcon-samples 存储库。

  1. 安装Zivid软件

  2. 下载Zivid Sample Data

  3. 安装MATLAB软件。注意:使用Zivid相机测试的版本是 2019a。

查看 使用Zivid .NET SDK创建一个MATLAB”Hello World”应用程序

如需获取更多相关信息,请访问GitHub zivid-matlab-samples 存储库。

查看我们的 zivid-ros GitHub库,了解Zivid ROS驱动程序的安装说明、入门和示例。

等同示例

相机

示例

C++

C#

Python

HDevelop

MATLAB

基础

Capture

Capture2D

capture_2d_with_settings_from_yml

CaptureAssistant

CaptureFromFileCamera

CaptureHdr

CaptureHdrCompleteSettings

CaptureSavePly

CaptureWithSettingsFromJson

CaptureWithSettingsFromYml

ConnectToSerialNumberCamera

ZividApplication

高级

AllocateMemoryForPointCloudData

Capture2DAnd3D

CaptureHalconViaGenICam

CaptureHalconViaZivid

CaptureHdrLoop

CaptureHdrPrintNormals

MultiCameraCaptureInParallel

MultiCameraCaptureSequentially

MultiCameraCaptureSequentiallyWithInterleavedProcessing

InfoUtilOther

CameraUserData

CaptureWithDiagnostics

FirmwareUpdater

FrameInfo

GetCameraIntrinsics

PrintVersionInfo

QuerySettingsAndParameters

SettingsInfo

Warmup

ZividBenchmark

维护

CorrectCameraInField

ResetCameraInField

VerifyCameraInField

VerifyCameraInFieldFromZdf

Applications

示例

C++

C#

Python

HDevelop

MATLAB

Basic/Visualization

CaptureFromFileCameraVis3D

CaptureHdrVisNormals

CaptureVis3D

CaptureWritePclVis3D

ProjectImageStartAndStop

ReadAndProjectImage

ReadPclVis3D

read_zdf_vis_3d

Basic/FileFormats

ConvertZdf

ReadIterateZdf

ReadPly

ReadZdf

Zdf2Ply

高级

auto_2d_settings

CaptureUndistort2D

color_balance

CreateDepthMap

Downsample

GammaCorrection

` ✓ <https://github.com/zivid/zivid-cpp-samples/tree/master//source/Applications/Advanced/GammaCorrection/GammaCorrection.cpp>`__

get_checkerboard_pose_from_zdf

HandEyeCalibration

MaskPointCloud

MultiCameraCalibration

ProjectAndFindMarker

ReprojectPoints

RoiBoxViaArucoMarker

RoiBoxViaCheckerboard

TransformPointCloudFromMillimetersToMeters

TransformPointCloudViaArucoMarker

TransformPointCloudViaCheckerboard

Advanced/HandEyeCalibration

PoseConversions

robodk_hand_eye_calibration

UtilizeHandEyeCalibration

verify_hand_eye_with_visualization

Advanced/HandEyeCalibration/UrHandEyeCalibration

universal_robots_perform_hand_eye_calibration

Advanced/MultiCamera

MultiCameraCalibration

MultiCameraCalibrationFromZdf

StitchByTransformation

StitchByTransformationFromZdf

Advanced/ObjectMatching

SurfaceMatchingCreateModel

SurfaceMatchingCreateModelFromFile

SurfaceMatchingFindModel

SurfaceMatchingFindModelFromFile

Sample Utils

示例

C++

C#

Python

HDevelop

MATLAB

calibration_board_utils

display

paths

robodk_tools

` ✓ <https://github.com/zivid/zivid-python-samples/tree/master//source/sample_utils/robodk_tools.py>`__

save_load_matrix

white_balance_calibration

Applications

示例

C++

C#

Python

HDevelop

MATLAB

Advanced/VerifyHandEyeCalibration

robodk_verify_hand_eye_calibration

` ✓ <https://github.com/zivid/zivid-python-samples/tree/master//source/applications/advanced/verify_hand_eye_calibration/robodk_verify_hand_eye_calibration.py>`__