【问题标题】:Difficulty to create depth cloud from iphone 11 pro depth map in python难以在 python 中从 iphone 11 pro 深度图创建深度云
【发布时间】:2021-04-24 07:14:35
【问题描述】:

我试图了解如何从从 iphone 11 pro (python) 获得的深度图中获取点云。我尝试使用在线 exif 工具获取内在矩阵。

Intrinsic_Matrix = [[3131.580078125, 0.0, 0.0], [0.0, 3131.580078125, 0.0], [1505.6236572265625, 2004.1282958984375, 1]]

我目前有一张在 1-255 之间变化的灰度图像,代表深度。我想获取深度坐标(以米为单位)。

对不起,我对这个主题只有一些基础知识,任何帮助将不胜感激。 以下是我尝试但失败的代码。

img_depth = cv2.imread('Images/image_depth11.jpg')
h, w ,c = img_rgb.shape
new_img = img_depth[:, :, 0]    # single channel
hd, wd = new_img.shape
#imC = cv2.applyColorMap(img_depth, cv2.COLORMAP_JET)

# intrinsic matrix iphone 11 Pro

Matrix = [[3131.580078125, 0.0, 0.0], [0.0, 3131.580078125, 0.0], [1505.6236572265625, 2004.1282958984375, 1]]

focalX = float(wd) * (Matrix[0][0] / wd)
focalY = float(hd) * (Matrix[1][1] / hd)
principalPointX = float(wd) * (Matrix[2][0] / wd)
principalPointY = float(hd) * (Matrix[2][1] / hd)
 distance ( z direction) = 1/Z  ( ie , 1/255 ??)

谢谢 尼特

【问题讨论】:

    标签: python iphone depth


    【解决方案1】:

    对于绝对距离,您需要使用 TrueDepth 相机。

    TrueDepth 相机默认生成视差图,因此生成的深度数据类似于双相机设备生成的深度数据。然而,与双摄像头设备不同的是,TrueDepth 摄像头可以直接测量深度(以米为单位),精度为AVDepthData.Accuracy.absolute。要捕获深度而不是视差,请在开始捕获会话之前设置捕获设备的 activeDepthDataFormat:

    见:https://developer.apple.com/documentation/avfoundation/cameras_and_media_capture/capturing_photos_with_depth

    有关获取给定像素 (x,y) 值的更多详细信息(x,y、深度或距 iPhone 镜头平面的米数)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-22
      • 2016-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多