python 高光谱图像 3维立体显示及各种报错处理方法

需要的文件、包

numpy、matplotlib、spectral、wxpython、OpenGL这些包

1、numpy、matplotlib、wxpython可以直接在anaconda安装,其他的建议单独安装。

2、spectral:安装,GitHub上可以直接下载安装,主页也有教程。
SPy下载链接
这个是spectral主页,里边有关于spectral的介绍。

我建议直接在GitHub上下载之后在安装会方便点,因为其他的方法我试过,我是没成功。
如果GitHub不能用的话,pypi下载连接 这个链接也可以下载

下载之后,打开anaconda prompt,切换自己的环境,然后转换到下载的路径处,输入下边的路径就安装好了。

python setup.py install

3、OpenGL:这个我当时直接在anaconda上下的,然后就报错不能用,然后我用了pip安装第三方修改的whl安装包。地址:python的各种包直接搜索OpenGL下载OpenGL和PyOpenGL_accelerate的包

下载完后在本地安装,安装本地包方法: pip install ‘包’,还有就是注意本地pip要和下载的文件对应(具体我上篇文章有讲)。

正文

这些包下载好之后,然后就今天的主题,高光谱图像显示。

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


imgs = sio.loadmat(r'D:/PyCharm/pytorch/data.mat')['aa']

spectral.settings.WX_GL_DEPTH_SIZE = 16

view_cube(imgs, bands=[54,34,20])

上边是需要的代码,运行的话我是在ipython中运行的。pycharm中的terminal终端输入ipython(如果没有安装的话安装一下)。然后一句一句输入就行

本来想直接用pycharm跑,但是一直报错(提示编译器有问题),spyder也可以用(我同门用的这个跑的),我试过了我跑不通,但他可以。

里边的%pylab 要导入一下的,不导入会显示窗口内容为空且处于卡死状态。
其中

imgs = sio.loadmat(r'D:/PyCharm/pytorch/data.mat')['aa']

这一句是导入数据,后边的字典的话是数据对应的名字,我当时看别人写的时候没人介绍这个,就提示字典报错
最后一行,bands后边是对应的三个光谱,要形成一个主面的rgb图像的,研究高光谱的这个应该都懂的。

各种报错

导入数据时,字典报错

报错内容:KeyError: ‘S’。
这个就是导入的数据后边跟的字典跟文件里边的不对应。当时看别人写的都是字典处是数据的名字,我也跟着打,就报错了。然后看了才知道loadmat的用法。查询方法就是先把后边加的去掉,然后看一下数据内容显示
在这里插入图片描述比如是我的显示是aa,所有我后边跟的就是【‘aa’】

pylab

内容:
%pylab
^
SyntaxError: invalid syntax
解决方法:这个就是要在ipython中运行,不过后来试了不加%pylab也可以。

内容:SPy graphics functions are inteded to be run from IPython with the
pylab mode set for wxWindows. For example,
解决方法:这个是因为没导入pylab。

"module ‘numpy’ has no attribute ‘float128’ "。

上边是报错内容,原因就是微软编译器不支持numpy.float128数据类型。OpenGL
解决方法:
使用pip安装第三方修改的whl安装包。(先删除OpenGL,然后转到上边的OpenGL安装)

最后在ipython上跑就能显示了在这里插入图片描述

好像大概就是这么多。然后就是还有一个报错,我跑出来之后提示:
There is no current wx.App object - creating one now.
UserWarning
还有一个这个,不过跑出来可以显示了(who care!)。
然后就是退出,多开几张图片可以点关闭,但是只剩一张的时候是退不掉的,命令行输入 ‘ exit ’
就可以了

总的来说,想要显示图片的话跟着步骤走应该是没问题的。
%pylab这个加或不加都可以,加的话多一个警告,对使用没啥影响

  • 7
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值