您正在查找什么?

生成ZMap

ZMap是点云或网格在参考平面上的投影,距离代码为灰度值:

ZMap为灰度图,兼容所有Open eVision 2D库。
ZMap无失真,默认从/向度量坐标体系仿射转换。

深度图(左)及其对应的ZMap(右)
已启用默认生成参数和未定义的填充像素

ZMap上可用所有的Open eVision2D处理:过滤和阙值、影像提取、使用EasyGauge测量、利用EasyFind或EasyMatch进行模型匹配等

EZMapGenerator实现从点云或网格到ZMap的转换。 在所有参数为默认值时,Convert()方法自动选择投影平面、方向、图像大小和分辨率。

许多方法可用于进一步控制转换:

SetReferencePlane()定义了自然空间投影平面。 ZMap像素值为点云到该参考平面的距离。

默认情况下,参考平面经过原点,与自然Z轴垂直。 平面被定义为E3DPlane对象。

SetOrientationVector()设置表示ZMap X轴的预期方向(宽)的自然空间矢量。

方向矢量允许围绕参考平面的发现“旋转”对象。

SetOrigin()指定ZMap左上角像素(0, 0)的全局坐标位置。
SetMapSize()定义了生成的ZMap的分辨率(X和Y轴中的像素数量)。
SetMapXYResolution()调整ZMap像素的X和Y轴分辨率在全局坐标系下的像素表示值(例如mm/像素)。 该值用于根据参考平面中点云的投影大小,计算ZMap大小(宽和高)。
SetMapZResolution()设置单位像素自然空间中的Z轴分辨率(灰度值)。 Z轴分辨率用于计算到参考平面的距离向8位、16位或32位整数像素值的转换。
EnableFillMode()SetFillMode()控制用于填充ZMap中“孔”的选项。 当像素位置无3D点投影到ZMap时,便形成孔。

SetReferencePlane(), SetOrientationVector() and SetOrigin() 方法用于设置全局坐标和ZMap坐标中的转换。 这是一个刚性变换(恒定距离)。

或者,还可以使用刚性矩阵作为参数使用SetWorldToZMapTransform() 方法直接进行转换。 在这种情况下,参考平面、方向矢量和原点参数将被忽略。

点云在ZMap上的投射
显示3个坐标系:全局坐标、ZMap坐标和像素坐标。

Convert() 方法实现点云(EPointCloud)或一个3D对象(EMesh)在8位或16位ZMap上的有效投影。

当从点云生成ZMap时,仅单独的点被投影到ZMap上。 根据点云的密度和ZMap分辨率,ZMap的某些区域可能仍然“未定义”。 为了解决这个问题,调整ZMap分辨率(SetMapXYResolution方法),以移除ZMap上的“孔”。

默认情况下,ZMap转换器上的点云进行填充算法。 该过程试图采用区域内插值替换未定义的像素。

左:高分辨率ZMap,像素比例超过点云密度
中:采用已启用填充法的相同生成器参数
右:已降低的ZMap比例/分辨率,无填充

因为网格定义一个平面,因此其三角形将被投影到ZMap平面上。 因此,所生成的图像显示更好的连续性,未定义像素较少。 但是,EMeshEPointCloud 生成Zmap的速度更慢。

我们应显示哪一个API?

© 2018 EURESYS s.a.  -  About Documentation  -  Open Source Licenses  -  Open eVision 2.6.1.1110