Mech-Eye SDK 2.1.0更新说明
本文介绍Mech-Eye SDK 2.1.0版本的新增功能、功能优化以及问题修复。
版本亮点
-
提升点云质量:点云后处理参数全面优化,在保留点云中物体边缘信息的同时,可有效去除离群点与噪点,提升点云质量。
-
丰富接口功能:
-
GenlCam接口与Mech-Eye API中新增手眼标定参数,并提供了相应例程,可直接进行手眼标定。
-
GenlCam接口新增获取multi-part payload type相关参数并提供相应HALCON例程,轻松获取纹理点云与仅含Z值的深度图。
-
新增固件升级工具,无需Mech-Eye Viewer即可升级相机固件。
-
-
提升采集速度:优化内存占用,且新增分辨率选择功能以提升相机采集速度,更好地适应对节拍要求比较高的场景。
新增功能
GenICam
-
新增手眼标定参数及例程
GenICam接口新增手眼标定所需的参数,并提供了相应HALCON例程。通过该例程可进行手眼标定,获取外参,并切换相机输出点云的坐标系。
-
新增multi-part payload type相关参数及例程
-
新增GenICam参数,支持在AreaScan3D 模式下获取multi-part payload type数据。已支持Range与Intensity两个通道。
-
新增应用以上参数的HALCON例程:
-
obtain_textured_point_cloud例程:通过Range与Intensity两个通道的数据生成纹理点云。
-
obtain_depth_map例程:通过Range通道获取仅包含物体Z值的深度图,加快HALCON的传输速度,提升效率。
-
-
-
新增获取与设置相机IP地址例程
GenICam接口新增获取相机当前IP设置的参数,并提供了获取及修改相机IP设置的HALCON例程,可直接通过GenICam客户端获取和修改IP设置。通过该HALCON例程可读取当前相机的IP地址、子网掩码与网关,也可通过该例程修改这些参数。
-
新增只读参数
-
新增内参参数,使用GenICam客户端即可读取相机内参。
-
Scan3dFocalLengthX
-
Scan3dFocalLengthY
-
Scan3dPrincipalPointU
-
Scan3dPrincipalPointV
-
-
新增参数,使用GenICam客户端即可读取相机CPU和投影仪的温度。
-
DeviceTemperatureSelector:选择需要读取温度的相机组件,包含MainBoard(CPU)和Sensor(投影仪)两个选项。
-
DeviceTemperature:该参数显示所选相机组件的温度。
-
-
Mech-Eye API
-
新增手眼标定方法及例程(仅C++)
用于手眼标定的C++方法,并提供了相应例程。通过该例程可进行手眼标定,获取外参。
-
新增固件升级工具
新增固件升级工具,Ubuntu 系统下也可升级相机固件。
-
新增获取温度的方法
-
C++:
ErrorStatus MechEyeDevice::getDeviceTemperature(DeviceTemperature &)
-
C#:
ErrorStatus MechEyeDevice.GetDeviceTemperature(ref mmind.apiSharp.DeviceTemperature temperature)
-
Python:
Device.get_device_temperature(self)
-
Mech-Eye Viewer
-
DEEP(V4)与LSR(V4)系列相机显示两种2D图
DEEP(V4)与LSR(V4)系列现可在Mech-Eye Viewer中选择显示2D图(纹理)或2D图(深度源)。其中,2D图(纹理)用于为点云添加纹理,2D图(深度源)用于手眼标定、内参检查及设置感兴趣区域。切换2D图类型便于调节不同图像的曝光。
同时,相关的2D参数名称更改如下:
原有名称 新名称 彩色相机曝光模式
2D图(纹理)曝光模式
黑白相机曝光模式
2D图(深度源)曝光模式
黑白相机曝光时间
2D图(深度源)曝光时间
-
新增 MTU 功能
配置相机网络服务窗口新增MTU设置功能,该功能在管理员用户下可见。同时,将相机固件版本升级至2.1.0后,相机的默认MTU值将变为1500。
Mech-Eye Viewer中的MTU值与电脑中巨型帧的值应保持一致。 -
DEEP(V4)新增选择深度图分辨率功能
DEEP(V4)相机的深度图可选择分辨率,2048 × 1536或1024 × 768。使用低分辨率时,可有效提高相机的采集速度(约35%),更好地应对高节拍场景。
在管理员用户下,选择
,在深度图下切换分辨率。 -
新增恢复出厂内参功能
内参工具新增恢复出厂内参功能,该功能在管理员用户下可见。
功能优化
优化点云后处理参数
点云后处理参数全面优化,由两个参数更新为四个参数,点云平滑和去除无用点的效果均得到提升。
如需达到与原参数类似的后处理效果,请按以下方式调节新参数:
-
如原点云平滑设为Normal,请将新表面平滑设为Weak;
-
如原噪点去除设为Normal,请将新离群点去除设为Weak。
优化相机图像采集速度
将相机的固件版本升级至2.1.0后,相机图像采集速度有一定提升。
-
深度图:
-
使用Mech-Eye API C++采集深度图时,相机采集速度最小提升约2%,采集速度最大提升超过35%。
-
使用Mech-Vision采集深度图时,采集速度最小提升约5%,相机采集速度最大提升超过20%。
-
-
2D图:
-
V4非激光相机使用Mech-Eye API C++采集2D图时,相机采集速度最小提升约59%,采集速度最大提升超过70%。
-
V4非激光相机使用Mech-Vision采集2D图时,采集速度最小提升约66%,相机采集速度最大提升超过70%。
-
V4激光相机增加了去畸变功能,导致2D图采集速度有所降低。 |
Mech-Eye Viewer
-
更改深度图保存的默认格式
保存深度图时,默认格式由.tiff更新为.png,增加易用性。
-
优化内参工具
-
优化内参工具的界面,增加提示信息,提升易用性。
-
新增高精度模式,使用更严格的标准检查内参,适用于对精度要求高的项目。该模式在管理员用户下可见。
-
-
优化参数说明区的显示
点击参数说明区的关闭按钮后,将不再显示参数说明区,避免参数被遮挡,提升易用性。
如需再次显示参数说明区,请勾选视图菜单中的参数说明选项。
-
优化视野计算器工具
-
优化视野计算器工具的界面,提升易用性。
-
优化相机型号下拉菜单,便于查找相机。
-
增加相机型号 LSR S(V4)。
-
-
将 LSR L(V4)的纹理相机降采样功能移动至相机管理器,并更改为2D图分辨率设置功能。
-
DEEP(V4)系列相机的相机增益默认值由0更新为5。
-
激光相机的激光强度值范围由20~100%更新为50~100%。
Mech-Eye API
点云后处理参数全面优化,由两个参数更新为四个参数。对应的Mech-Eye API方法更新为:
-
C++:
-
表面平滑
ErrorStatus MechEyeDevice::setCloudSurfaceSmoothingMode(PointCloudProcessingSettings::PointCloudSurfaceSmoothing) ErrorStatus MechEyeDevice::getCloudSurfaceSmoothingMode(PointCloudProcessingSettings::PointCloudSurfaceSmoothing &)
-
噪点去除
ErrorStatus MechEyeDevice::setCloudNoiseRemovalMode(PointCloudProcessingSettings::PointCloudNoiseRemoval) ErrorStatus MechEyeDevice::getCloudNoiseRemovalMode(PointCloudProcessingSettings::PointCloudNoiseRemoval &)
-
离群点去除
ErrorStatus MechEyeDevice::setCloudOutlierRemovalMode(PointCloudProcessingSettings::PointCloudOutlierRemoval) ErrorStatus MechEyeDevice::getCloudOutlierRemovalMode(PointCloudProcessingSettings::PointCloudOutlierRemoval &)
-
边缘保持
ErrorStatus MechEyeDevice::setCloudEdgePreservationMode(PointCloudProcessingSettings::PointCloudEdgePreservation) ErrorStatus MechEyeDevice::getCloudEdgePreservationMode(PointCloudProcessingSettings::PointCloudEdgePreservation &)
-
-
C#:
-
表面平滑
ErrorStatus MechEyeDevice.SetCloudSurfaceSmoothingMode(mmind.apiSharp.PointCloudSurfaceSmoothing mode) ErrorStatus MechEyeDevice.GetCloudSurfaceSmoothingMode(ref mmind.apiSharp.PointCloudSurfaceSmoothing mode)
-
噪点去除
ErrorStatus MechEyeDevice.SetCloudNoiseRemovalMode(mmind.apiSharp.PointCloudNoiseRemoval mode) ErrorStatus MechEyeDevice.GetCloudNoiseRemovalMode(ref mmind.apiSharp.PointCloudNoiseRemoval mode)
-
离群点去除
ErrorStatus MechEyeDevice.SetCloudOutlierRemovalMode(mmind.apiSharp.PointCloudOutlierRemoval mode) ErrorStatus MechEyeDevice.GetCloudOutlierRemovalMode(ref mmind.apiSharp.PointCloudOutlierRemoval mode)
-
边缘保持
ErrorStatus MechEyeDevice.SetCloudEdgePreservationMode(mmind.apiSharp.PointCloudEdgePreservation mode) ErrorStatus MechEyeDevice.GetCloudEdgePreservationMode(ref mmind.apiSharp.PointCloudEdgePreservation mode)
-
-
Python:
-
表面平滑
Device.set_cloud_surface_smoothing_mode(self, info) Device.set_cloud_surface_smoothing_mode(self, info)
-
噪点去除
Device.set_cloud_noise_removal_mode(self, info) Device.get_cloud_noise_removal_mode(self)
-
离群点去除
Device.set_cloud_outlier_removal_mode(self, info) Device.get_cloud_outlier_removal_mode(self)
-
边缘保持
Device.set_cloud_edge_preservation_mode(self, info) Device,get_cloud_edge_preservation_mode(self)
-
问题修复
Mech-Eye SDK 2.1.0修复了以下问题:
-
激光相机使用3次曝光且激光投影分块数为3或4时,相机显存不足导致相机偶发断连。
-
Laser L(V3)与Laser L Enhanced(V3)相机设置激光投影分块数,曝光时间小于等于20ms时深度数据异常。
-
切换参数组时,偶发感兴趣区域(ROI)设置失效。
-
DEEP(V4)与LSR(V4)系列相机的曝光模式为自动曝光或HDR时,黑白相机曝光模式的Flash不生效。
-
使用路由器连接相机时,相机MTU值过大导致相机有时无法正常工作。
-
相机内存不足导致偶发的丢帧。
-
PRO(V4)、DEEP(V4)与LSR(V4)系列相机由于默认开启低功耗模式,导致偶发的丢帧。
-
多个相机IP地址相同时,修改其中一个相机的IP地址时,剩余相机的IP地址也同时更改。
-
单目相机2D图去畸变功能导致采集速度变慢。