imwrite 16 位 png 深度图像
imwrite 16 bit png depth image
我有以下代码。我正在尝试将从 Kinect v1 检索到的 16 位深度图像保存为 png 文件。我写了下面的代码示例:
def display_depth(dev, data, timestamp):
global keep_runningp
cv2.imshow('Depth', frame_convert2.pretty_depth_cv(data))
depthf.write(repr(timestamp)+" Depth/"+repr(timestamp)+".png\n")
namef="Sample_dataset/Depth/"+repr(timestamp)+".png"
cv2.imwrite(namef,frame_convert2.pretty_depth(data))
if cv2.waitKey(10) == 27:
keep_running = False
当我添加以下代码时它起作用,它将数据从 16 位无符号数组转换为 8 位无符号 NumPy 数组:
depth = depth.astype(np.uint8)
如果没有这一行,我只会得到整个 blank/white png 图像。但是我需要一个16位的png文件。
如何将其保存为 16 位 png 文件?
虽然我的数据类型是这样的
<type 'numpy.uint16'>
解决方案,我的问题是将这一行添加到我的代码中
depth.astype(np.uint16)
我有以下代码。我正在尝试将从 Kinect v1 检索到的 16 位深度图像保存为 png 文件。我写了下面的代码示例:
def display_depth(dev, data, timestamp):
global keep_runningp
cv2.imshow('Depth', frame_convert2.pretty_depth_cv(data))
depthf.write(repr(timestamp)+" Depth/"+repr(timestamp)+".png\n")
namef="Sample_dataset/Depth/"+repr(timestamp)+".png"
cv2.imwrite(namef,frame_convert2.pretty_depth(data))
if cv2.waitKey(10) == 27:
keep_running = False
当我添加以下代码时它起作用,它将数据从 16 位无符号数组转换为 8 位无符号 NumPy 数组:
depth = depth.astype(np.uint8)
如果没有这一行,我只会得到整个 blank/white png 图像。但是我需要一个16位的png文件。
如何将其保存为 16 位 png 文件?
虽然我的数据类型是这样的
<type 'numpy.uint16'>
解决方案,我的问题是将这一行添加到我的代码中
depth.astype(np.uint16)