高光谱图像立方图的显示

高光谱图像立方图的显示

试了半天,最后这么写成功了:

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

data = sio.loadmat('xxx.mat')['xxx'] # 两个xxx按需要换成自己的
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])	# bands参数按需要换成自己的
app.MainLoop()

效果大概是这样,控制台运行就行:
在这里插入图片描述
如果是tif图像,先转成mat就行,网上有其他教程。

### 如何在ENVI中实现高光谱图像立方体的可视化 #### 实验准备 为了顺利进行高光谱图像立方体的可视化,在实验前需准备好相应的硬件和软件环境。具体来说,需要一台安装有Windows 10操作系统的PC电脑以及ENVI 5.3版本以上的软件[^1]。 #### 打开并加载数据 启动ENVI后,通过文件菜单中的`Open Image File...`选项来加载待可视化的高光谱数据集。对于特定的数据格式如`.dat`或其他由ENVI支持的格式,确保路径指向正确的文件位置。 #### 构建三维立方体视 一旦数据被成功导入到环境中,则可以通过以下方式构建三维立方体视: - **选择命令**:导航至工具栏上的`Spectral -> Build 3D Cube`。 - **设置参数**:弹出的对话框允许指定要用于生成立体视角的具体波段组合。通常情况下,默认配置已经足够满足大多数需求,但如果希望自定义颜色映射效果,可以调整这些数值以获得更佳视觉体验[^2]。 ```python import scipy.io as sio import spectral import numpy as np import wx # 加载MATLAB格式存储的高光谱数据 data = sio.loadmat('CupriteReflectance.mat')['reflectance'] # 归一化处理以便于显示 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 # 使用RGB模式展示三个选定波段构成的颜色合成像 spectral.view_cube(vv, bands=[59, 38, 20]) app.MainLoop() ``` 上述Python脚本提供了一种替代方案,适用于那些希望通过编程接口快速预览结果的研究人员或开发者们[^3]。 #### 结果保存与分析 完成以上步骤之后,即可看到屏幕上呈现出交互式的高光谱图像立方体表示形式。此时可以根据研究目的进一步探索不同波段下的特征变化情况,并尝试不同的渲染风格直至找到最合适的表达方式。记得按照指导书的要求妥善保存所得成果并与团队成员分享交流心得。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值