欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python下的spectral模块之3D光谱立方体绘制

程序员文章站 2022-05-29 08:20:17
...

光谱立方体没啥用,唯一的用处就是看起来很cool
首先安装包

pip3 install wxPython
pip3 install PyOpenGL

然后跑代码

import spectral
import cv2
img = spectral.open_image('')
#打开文件
img_1 = img[:,:,19].reshape(145,145)
spectral.view_cube(img, bands=[29, 19, 9])
#这里的波段是立方体第一面显示的图片波段,做遥感图像处理的应该都清楚
cv2.imshow('1',img_1)
cv2.waitKey(0)

代码跑不通的话还有调用另外一个包的代码,是根据网上代码改的,因为跑网上的代码总是各种各样的错误。

import scipy.io as sio
import spectral
import numpy as np
import wx

data = sio.loadmat('F:/AI/xxx.mat')['imggt']
vmax = data.max(axis=(0, 1))
vmin = data.min(axis=(0, 1))
vv = (data - vmin) / (vmax - vmin)*255
vv = vv.astype(np.uint8)
app = wx.App()
spectral.settings.WX_GL_DEPTH_SIZE=16
spectral.view_cube(vv, bands=[59,38,20])
app.MainLoop()

这里[‘imggt’]如果不清楚的话可以通过打断点调试看出来。例如:
python下的spectral模块之3D光谱立方体绘制