使用OpenCV可视化Intel Realsensen D435 深度图为彩色图

使用OpenCV可视化Intel Realsensen D435 深度图为彩色图

使用OpenCV将深度图转化为彩色图像,主要使用下面两个函数:

  • cv2.convertScaleAbs(depth_image,alpha = 0.03)
  • cv2.applyColorMap(src,colormap,dst=None)

cv2.convertScaleAbs(depth_image,alpha=0.03)

该函数依次执行三个操作:缩放、获取绝对值、转换为无符号的8位类型。
参考:https://blog.csdn.net/Dontla/article/details/103201651
假设我们需要让深度摄像头在感兴趣的范围内有差别的显示,就需要一个合适的alpha值,公式为有效距离×alpha=255,假设我们让深度摄像头8m距离内的深度被显示,大于8m和8m的颜色显示相同,那么alpha = 255 / (8*1000) = 0.03。
该函数对输入数组进行如下运算:
在这里插入图片描述
对于输入深度图数组中的每个值src(16位,uint16),先乘以alpha 加上偏置,最后将结果取绝对值,并截取为8位(uint8).

cv2.applyColorMap(src,colormap,dst=None)

cv.applyColorMap()函数将一层的深度图(黑白)映射到三层,打印出来便是彩色图。
用法:

depth_image = cv2.applyColorMap(cv2.convertScaleAbs(depth_image, alpha=0.03), cv2.COLORMAP_JET)

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_25105061/article/details/112366961