-
一般使用realsense时会保存视频序列,当保存深度图像时,需要注意保存的图像矩阵的格式,不然可能造成深度值的丢失。
-
在众多图像库中,一般会使用
opencv中的imwrite()函数进行深度图像的保存。 -
一般深度图像中深度值的单位是
mm,因此一般使用np.uint16作为最终数据格式保存。
例子:
import numpy as np
import cv2
def fun1(im):
im=np.asarray(im,np.float32)
return im
def fun2(im):
im=np.asarray(im,np.uint16)
return im
if __name__ == '__main__':
#set a depth map using np.random
im=np.random.randint(100,800,size=(96,96))
#1. float save
im1=fun1(im)
cv2.imwrite('float_saved.png',im1)
im2=fun2(im)
cv2.imwrite('uint_saved.png',im2)
重新读取保存的图像:
import numpy as np
import matplotlib.pyplot as plt
from PIL import Image

本文介绍了在使用Realsense时如何正确保存和读取深度图像,强调了保存格式对深度值完整性的影响。通过示例对比了float和uint16两种保存方法,指出float格式可能导致数据压缩丢失,而uint16能保持深度值的准确性。
最低0.47元/天 解锁文章
1838





