添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
谦和的蘑菇  ·  winforms c# how to ...·  1 年前    · 
温柔的汽水  ·  perl 调用perl ...·  1 年前    · 
python 高光谱图像 3维立体显示以及其出错解决方案

python 高光谱图像 3维立体显示以及其出错解决方案

7 个月前

3维立体显示以及其出错解决方案

看到这篇文章的时候,可能你已经遇到很多坑了,最终还是生成不了3d维的高光谱图像,就一直是一个白幕,没有一点东西!!

先附上结果图:

然后我这个解决方案的前提可能你已经配置了环境:

1、我是在pycharm中的终端中实现的 执行ipython

2、所使用的包:spectral、 scipy.io 、wxpython、

这是我之前的代码,就一直生成不了!!后面也是经过填坑,完成了这项工作!

import spectral
import mat73
from spectral import *
from scipy.io import loadmat
import scipy.io as sio
imgs = sio.loadmat(r'/home/ubuntu/lr_Dzr/myCode01/AWAN_master/AWAN_master/AWAN_Clean/test/test_results1/ARAD_HS_0466.mat')['RAD_HS_0466']
# imgs = loadmat('Indian_pines_corrected.mat')['indian_pines_corrected']
spectral.settings.WX_GL_DEPTH_SIZE = 16
view_cube(imgs, bands=[29, 19, 9])

遇到的错误以及解决方案:

1、错误一、关于包mat73

Please use HDF reader for matlab v7.3 files

解决方案:

import mat73  # 记得
imgs = sio.loadmat(r'/home/ubuntu/lr_Dzr/myCode01/AWAN_master/AWAN_master/AWAN_Clean/test/test_results1/ARAD_HS_0466.mat')['RAD_HS_0466']
将上面的这句话改写成:
imgs = mat73.loadmat(r'/home/ubuntu/lr_Dzr/myCode01/AWAN_master/AWAN_master/AWAN_Clean/test/test_results1/ARAD_HS_0466.mat')['RAD_HS_0466']

2、错误二、关于缺少wxpython库

ImportError: Required dependency wx.glcanvas not present

解决方法:

conda install wxpython

3、错误三、 缺少OpenGL库

ModuleNotFoundError: No module named 'OpenGL'

解决方案:

conda install PyOpenGL

4、错误四、

UserWarning: There is no current wx.App object - creating one now.

解决方案:

# 不要在idle中运行,可以在cmd下运行。

5、KeyError: ‘RAD_HS_0466’。错误五、也是最重要的一个错误,可能很多人最后一直搞不出来就是因为这个!

imgs = mat73.loadmat(r'/home/ubuntu/lr_Dzr/myCode01/AWAN_master/AWAN_master/AWAN_Clean/test/test_results1/ARAD_HS_0466.mat')['RAD_HS_0466']

解决方案:

# 这条语句中,后面中括号!!

# 可能看很多帖子,后面就是其名字,其实是不然的,看了loadmat的用法,后面应该填的是是一个名字:但是这个名字怎么看呢?就是把后面的中括号去掉,然后进行debug,后面可以看到:

即就是这个名称!!!

然后回到代码,将中括号进行填写['cube'];即

imgs = mat73.loadmat(r'/home/ubuntu/lr_Dzr/myCode01/AWAN_master/AWAN_master/AWAN_Clean/test/test_results1/ARAD_HS_0466.mat')['cube']

6、还有就是在pycharm中终端运行时,一开始应该加上这个:%pylab(wx是一个GUI库)

最终代码:

%pylab
import spectral
from pylab import *
from spectral import *
from scipy.io import loadmat