输出图片
这个算子输出了重建图像的梯度,反射率,和表面的高度场图像。
* 梯度图像是一个向量场,包含了表面的偏导数。记住,梯度可以被用作算子 reconstruct_height_field_from_gradient 的输入参数。为了更直观的目的,替代表面梯度,可以返回标准化之后的表面梯度。为了达到这样的目的,\'ResulltType\' 必须被设置为 normalized_gradient 而不是 gradient。这里,行和列元素代表了标准化之后的行和列。如果 ResultType被设置为了 all ,就会使用gradient 而不是 normalized_gradient 。
* 反射率图像描述了反射辐射和入射辐射的比例,数值在1(白色表面)-0(黑色表面)之间。因此,反射率是表面的一个特征。举个例子,对一个印刷表面来说,反射率与把所有入射光排除在外(阴影,明暗)的印刷图片有关。
* 高度场图像的每个像素与相对高度相关。
默认情况下,上面这些对象都会返回,也就是说,参数ResultType设置为all。在只需要某些结果的情况下,这个参数可以设置为数组,仅将一些需要的值放在其中,可以放的值有\'gradient\', \'albedo\', 和 \'height_field\'。记住,在特定的应用中,像表面检测任务,只有梯度和反射率图像是有需要的。这里,不构建高度场图像可以显著得增快重建的速度。
记住,在光度立体法内部,最先计算出梯度值,如果有需要,结合这些值来获取高度场。这个结合操作与 reconstruct_height_field_from_gradient 使用的是相同的算法,他们可以通过参数ReconstructionMethod, GenParamName, 和 GenParamValue进行控制。请参阅reconstruct_height_field_from_gradient的帮助来获取更多关于这些参数的信息。如果ResultType中没有height_field,那么这几个参数会被忽略。
注意
photometric_stereo基于方形像素的假定。此外,它假定在物体空间内,高度在步幅是1的格子上计算出来的。如果不是这种情况,相机的像素投射到物体表面不是1,返回的高度场必须乘上实际的步长(像素尺寸投射都物体空间的值)。像素在物体空间的尺寸通过相机中的像素尺寸除以被镜头放大的倍数得到。
执行信息
多线程类型:可重入(可以和非排他性算子并行运行)
多线程作用域:全局(可能在任意线程中调用)
在内部数据层级上自动并行处理
参数
略。
结果
如果参数是有效的,返回2。如果有必要,会抛出异常。
可能的前调函数
optimize_fft_speed
所属模块
三维计量