赞
踩
为了使用Envi,需要使用matlab将高光谱数据从mat格式转为tif格式。
- Mat2Tif('E:\2023\数据集\Indian Pines\Indian_pines_corrected.mat', 'Indian_pines_corrected.tif');
- function Mat2Tif(InputMatFileName,OutputTifFilename)
- load(InputMatFileName);
- %需要修改indian_pines_corrected
- InputMatImg=indian_pines_corrected;
- t = Tiff(OutputTifFilename,'w');
- if size(InputMatImg,3) == 3
- t.setTag('Photometric',Tiff.Photometric.RGB);
- else
- t.setTag('Photometric',Tiff.Photometric.MinIsBlack);%颜色空间解释方式
- end
- t.setTag('Compression',Tiff.Compression.None);%无压缩
- t.setTag('BitsPerSample',64);% 由于输入.mat为double类型,所以选择了64位
- t.setTag('SamplesPerPixel',size(InputMatImg,3));% 每个像素的波段数目
- t.setTag('SampleFormat',Tiff.SampleFormat.IEEEFP);% 配合BitsPerSample64位double类型,选择IEEEFP来对应
- t.setTag('ImageLength',size(InputMatImg,1));% 影像宽度
- t.setTag('ImageWidth',size(InputMatImg,2));% 影像高度
- t.setTag('PlanarConfiguration',Tiff.PlanarConfiguration.Chunky);%平面配置选择集中式
- t.write(InputMatImg);% 准备好了头文件,开始写影像数据
- t.close();% 关闭影像
- end
使用ENVI生成高光谱数据立方体:
(1)使用build 3D cube
Open -> New File
(2)使用自带的高光谱数据:
(3)选择三个通道作为RGB通道
(4)选择颜色表,并选择输出文件名。
(5)此时,就得到了高光谱数据立方体的示意图。
(6) 文件-导出选中图层为TIFF,得到输出的文件。
(7)注意到此时有黑色边框,使用windows自带的画图工具打开。
使用颜色填充工具将边框填充为白色,即可得到高光谱数据立方体。
参考资料:
Building a 3D Cube - For data users - PDS Geosciences Node Community
Matlab读取高光谱遥感数据.Mat 和 .tif(2020.12.27)_遥感数据集下载是matlab格式-CSDN博客
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。