当前位置:   article > 正文

python读取并可视化npy格式的深度图文件以及将其保存为jpg图片的方法_npy文件可视化

npy文件可视化

  npy文件是无法直接打开的,它里面包含的是一个矩阵格式的数据,可以用于存储图像。为了对其进行可视化,需要将其转换为图像。这里需要用到numpy包以及matplotlib包,没有的话就pip install一下吧。现进入包含有npy文件的目录(我的该目录下有一个名为0000.npy的文件),然后打开一个终端,执行python进入python命令行模式,依次输入如下代码即可:

import numpy as np
import matplotlib.pyplot as plt
depthmap = np.load('0000.npy')    #使用numpy载入npy文件
plt.imshow(depthmap)              #执行这一行后并不会立即看到图像,这一行更像是将depthmap载入到plt里
# plt.colorbar()                   #添加colorbar
plt.savefig('depthmap.jpg')       #执行后可以将文件保存为jpg格式图像,可以双击直接查看。也可以不执行这一行,直接执行下一行命令进行可视化。但是如果要使用命令行将其保存,则需要将这行代码置于下一行代码之前,不然保存的图像是空白的
plt.show()                        #在线显示图像

#若要将图像存为灰度图,可以执行如下两行代码
import scipy.misc
scipy.misc.imsave("depth.png", depthmap)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

在这里插入图片描述
在这里插入图片描述
  
  下面再贴一个将维度为[m,n]的深度图tensor进行可视化的代码,可以方便地应用于深度学习中产生的深度图上。

import torch
import cv2

# 该函数将深度值进行映射,生成带颜色的深度图
def visualize_scalars(scalar_tensor: torch.Tensor) -> np.ndarray:
    to_use = scalar_tensor.view(-1)
    while to_use.shape[0] > 2 ** 24:
        to_use = to_use[::2]
    with torch.inference_mode(False):
        mi = torch.quantile(to_use, 0.05)
        ma = torch.quantile(to_use, 0.95)

    scalar_tensor = (scalar_tensor - mi) / max(ma - mi, 1e-8)  # normalize to 0~1
    scalar_tensor = scalar_tensor.clamp_(0, 1)

    scalar_tensor = ((1 - scalar_tensor) * 255).byte().numpy()  # inverse heatmap
    return cv2.cvtColor(cv2.applyColorMap(scalar_tensor, cv2.COLORMAP_INFERNO), cv2.COLOR_BGR2RGB)

depthimg = torch.ones(height,width)    # 初始化一张height,width大小的图像(这里是全为1的tensor)
#########################
# 这里可以对depthimg进行赋值
#########################
scalarimg = visualize_scalars(depthimg)    # 进行scalar调节
cv2.imwrite(f'../../outdata/depthmap/depth.jpg', scalarimg)    # cv2写出深度图
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/888045
推荐阅读
相关标签
  

闽ICP备14008679号