前言
在之前的一篇文章中,介绍了高光谱图像的特点和表达形式。高光谱图像最突出的一个特点拥有大量光谱波段,使得图像堆叠成一个超立方体。由于最近研究需要,想可视化展示HSI图像的3D立方体。于是,搜索了一些资料,展开了工作。以下是绘制的两种方式。
使用python
这种方法很简单,几行代码就可以搞定,废话不多说,直接上代码。
需要的环境:spectral,ipython,matplotlib
import os
import scipy.io as sio
from spectral import *
dataset_path = os.path.join('data') # 数据集路径
data = sio.loadmat(os.path.join(dataset_path, 'indian_pines_corrected.mat'))['indian_pines_corrected']
spectral.settings.WX_GL_DEPTH_SIZE = 100
view_cube(data, bands=[29, 19, 9])
以“pylab”模式启动IPython。命令行输入:ipython --pylab
将以下代码(注意修改数据集路径)复制到ipython命令窗口中,回车。
这个时候,会弹出Hypercube的窗体,就可以看到绘制的3D图像了。