我有一张来自 ifm 3D 相机的深度图像,该相机利用飞行时间概念来捕获深度图像。相机附带一个显示图像的软件,如下所示:

我可以从相机中提取深度数据,并一直尝试重新创建它们的表示,但我没有成功。无论我如何尝试标准化数据范围或更改数据类型格式,我总是会得到一个中心“较暗”的图像,并且随着它移开而变亮。由于某种原因,颜色范围也不匹配。这是我尝试过的主要代码:
gray_dist = cv2.imread(dist_path, cv2.IMREAD_ANYDEPTH)
# cv2.normalize(dist, dist, 0, 65535, cv2.NORM_MINMAX)
# cv2.normalize(dist, dist, 0, 255, cv2.NORM_MINMAX)
cv2.normalize(dist, dist, 1440, 1580, cv2.NORM_MINMAX)
dist = dist.astype(np.uint8)
dist = cv2.applyColorMap(dist, cv2.COLORMAP_HSV)
# dist = cv2.cvtColor(dist, cv2.COLOR_HSV2BGR)
cv2.imshow("out", dist)
cv2.waitKey(0)
Run Code Online (Sandbox Code Playgroud)
这让我得到了下图:
我尝试过其他组合,也编写了自己的标准化和着色函数,但得到了相同的结果。我现在不确定我是否做错了什么,或者是否是 openCV 窗口查看器的限制或其他原因。
我还上传了深度图像文件,以防有帮助: 深度图像
任何对此的帮助将不胜感激。