OpenCV 提供了多种工具来处理深度图数据,包括读取、显示、滤波、转换以及利用深度信息进行三维重建等。
1. 读取
使用IMREAD_UNCHANGED以保留深度信息
2. 转换
convertScaleAbs: 将深度图转换为更直观的表示形式,例如将其缩放到0-255范围以便显示。
3. 示例
import cv2
if __name__ == "__main__":
# 1.读取一张深度图
depth_img = cv2.imread("data/depth.png", cv2.IMREAD_UNCHANGED)
cv2.imshow("depth", depth_img)
# 2.转换深度图 , 将深度图转换为[0-255] 范围更直观的表示形式显示
depth_normalized = cv2.convertScaleAbs(depth_img, alpha=255.0 / depth_img.max())
# 3.显示深度图
cv2.imshow("depth_normalized", depth_normalized)
cv2.waitKey(5000)
4.效果
左边为深度图
右边转换后的深度图用于可视化