RGB-D
RGB-D

对齐 RGB 和深度图像
rectified_left 图像对齐。我们可以使用获取的深度信息将此图像投影到 3D 空间,然后使用彩色相机内参将其重新投影回彩色图像平面。使用 DepthAI 进行对齐
StereoDepth - 适用于立体相机
left 和 right)并输出深度图。默认情况下,深度图像与 rectified_left 图像对齐,但可以使用 setDepthAlign() 方法进行更改。Python
1stereo.setDepthAlign(dai.CameraBoardSocket.RGB) # 假设 RGB 相机已连接到 RGB/CAM_A 端口示例
ImageAlign - 通用对齐
input 和 inputAlignTo)并输出对齐后的图像。对于 RGB-D,此节点允许我们将飞行时间 (ToF) 深度 对齐到 RGB。效率
对于立体相机,请使用StereoDepth 节点,因为它比使用ImageAlign 更高效,因为重投影步骤得到了优化。
宽视场 (WFOV) 相机上的 RGB-D

使用Camera 节点。该节点可用于使用相机的内参去畸变彩色图像。
Python
Python
1cam = pipeline.create(dai.node.Camera)
2cam.setBoardSocket(dai.CameraBoardSocket.RGB)
3cam.setMeshSource(dai.CameraProperties.WarpMeshSource.CALIBRATION)可以使用相机的内参和 OpenCV 手动进行去畸变。
Python
1alpha = 0
2stereo.setAlphaScaling(alpha)
3
4rgb_w = camRgb.getResolutionWidth()
5rgb_h = camRgb.getResolutionHeight()
6rgbIntrinsics = np.array(calibData.getCameraIntrinsics(rgbCamSocket, rgb_w, rgb_h))
7rgb_d = np.array(calibData.getDistortionCoefficients(rgbCamSocket))
8rgb_new_cam_matrix, _ = cv2.getOptimalNewCameraMatrix(rgbIntrinsics, rgb_d, (rgb_w, rgb_h), alpha)
9map_x, map_y = cv2.initUndistortRectifyMap(rgbIntrinsics, rgb_d, None, rgb_new_cam_matrix, (rgb_w, rgb_h), cv2.CV_32FC1)
10
11frameRgb = cv2.remap(frameRgb, map_x, map_y, cv2.INTER_LINEAR)Full code
Example using OpenCV undistortion
在去畸变宽视场相机捕获的图像时,变形会导致图像的某些部分被裁剪掉。这会导致视场角 (FOV) 损失,而这是 WFOV 相机的主要卖点。为了最大化视场角,可以使用 

alpha 参数 [0-1] 来缩放去畸变后的图像 [指南]。设置 alpha 参数
alpha = 0- 无缩放,去畸变后的图像大小与原始图像相同。

alpha = 1- 最大化缩放,去畸变后的图像将是适合原始图像的最大可能图像。

StereoDepth 去畸变
Python
1stereo.setAlphaScaling(alpha)需要帮助?
请前往 Discussion Forum 获取技术支持或提出您可能有的任何其他问题。