MATLAB图像处理编程与应用,基于matlab的数字图像处理课程设计

  MATLAB图像处理编程与应用,基于matlab的数字图像处理课程设计

  有以下代码。我试图保存16位深度图像。已从Kinect v1中检索到png文件。编写了下面的代码示例。写入im 16位png深度图像

  efdisplay_depth(设备、数据、时间戳) :

  全局keep _ runningp

  #cv2.imshow(深度),frame_convert2.pretty_depth_cv)数据)

  cv2.imshow(深度,frame_convert2.pretty_depth_cv)数据) )

  打印类型(数据)。

  打印数据。形状

  EPTHF.write(repr(时间戳)深度/(repr)时间戳(。pngn))))))))))))).

  namef= sample _ dataset/depth/ repr(时间戳)。png

  CV2.imwrite(namef,frame_convert2.pretty_depth)数据) )

  ifcv2.waitkey(10 )==27:

  保持运行=假

  添加以下代码后,其工作模式将从16位无符号数据转换为8位无符号NumPy数组:

  Depth=Depth.astype(NP.uint8)))))).

  没有这条线。我只得到整个空白/白色的PNG图像。但是,需要16位PNG文件。

  如何将其保存为16位PNG文件?

  2017-06-17

  米尔米克斯

  一个

  如果是我创建的(例如, a=np.random.randint (0,65536,size=) 48,48,3))。然后运行astype(NP . uint 16) cv2 . im write) foo . png ,a)获取16位RGB文件。如果我用 a=np.random.randint (0,65535,size=) 48,48)。Astype(NP.uint16),我得到一个16位的灰度图像。换句话说,cv2.imwrite())适用于我。我认为我们需要(最小的、完整的、可验证的例子)(斯塔克overflow.com/help/mcve)来帮助你。

  一个

  正在保存“frame _ convert 2 . pretty _ depth(data)”。这意味着存储8位图像而不是16位图像。查看【函数实现】65https://github . com/open Kinect/libfreeneck/blob/master/wrappers/python/frame _ convert 2 . py。

  0

  我实现了自己定制的frame_convert并导入了它。

MATLAB图像处理编程与应用,基于matlab的数字图像处理课程设计