python将tif(多光谱,高光谱)遥感图像转为mat格式数据

import scipy.io as sio
import skimage.io

读入tif图

imgpath = r'E:\高光谱数据\014140790010_01\014140790010_01_P001_MUL\19AUG26035324-M2AS_R1C1-014140790010_01_P001.tif'
imggt = skimage.io.imread(imgpath)

转为mat

sio.savemat(r"E:\高光谱数据\014140790010_01\014140790010_01_P001_MUL\19AUG26035324-M2AS_R1C1-014140790010_01_P001.mat", {'imggt': imggt})

注意:

安装skimage包的时候:

scikit-image 而非 skimage

python -m pip install scikit-image

实现将维度为:
在这里插入图片描述
8个波段的数据转为
在这里插入图片描述
需要对mat数据进一步转置

经过matlab语句:

permute(imggt,[3 2 1]);

在这里插入图片描述

  • 3
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: 你可以使用 python 中的 scipy 库来载入 .mat 格式数据集,然后使用 numpy 库的 save() 函数将数据保存为 .npy 格式。 例如,你可以使用以下代码将 .mat 格式数据集转换为 .npy 格式: ``` import scipy.io import numpy as np # 载入 .mat 格式数据mat_data = scipy.io.loadmat('data.mat') # 将数据转换为 numpy 数组 data = mat_data['data'] # 保存为 .npy 格式 np.save('data.npy', data) ``` 在这里,我们假设你的 .mat 格式数据集中有一个叫做 'data' 的数据变量。你也可以使用其他的变量名称,只需要将它替换为你的变量名称即可。 ### 回答2: 在Python中,将.mat格式高光谱图像数据集转换为.npy格式,可以使用SciPy库的io模块来处理。 首先,导入必要的库: ```python import scipy.io as sio import numpy as np ``` 接下来,加载.mat文件: ```python data = sio.loadmat('input.mat') ``` 加载后,数据将以字典的形式存储在变量`data`中。可以通过键值对的方式获取数据。假设高光谱图像数据存储在键名为`image_data`的键值中: ```python image_data = data['image_data'] ``` 然后,将数据转换为numpy数组,并保存为.npy文件: ```python np.save('output.npy', image_data) ``` 此时,数据已经以.npy格式保存在了名为`output.npy`的文件中。 完整的代码如下: ```python import scipy.io as sio import numpy as np data = sio.loadmat('input.mat') image_data = data['image_data'] np.save('output.npy', image_data) ``` 运行以上代码,就可以将.mat格式高光谱图像数据集转换为.npy格式。 ### 回答3: 要将.mat格式高光谱图像数据集转换为.npy格式,可以使用Python中的SciPy库和NumPy库进行转换。下面是具体的步骤: 1. 导入所需的库: ``` import numpy as np from scipy.io import loadmat ``` 2. 使用`loadmat`函数加载.mat文件,并将数据保存为一个Python字典: ``` data = loadmat('input_data.mat') ``` 3. 获取需要转换的高光谱图像数据集,通常在字典中有一个或多个键对应于数据集中的不同字段。根据你的数据集命名来获取对应的字段数据。例如,假设高光谱图像数据集在字段‘image_data’中,可以使用以下代码获取该字段数据: ``` image_data = data['image_data'] ``` 4. 将获取到的高光谱图像数据集转换为NumPy数组: ``` image_data_array = np.array(image_data) ``` 5. 最后,使用NumPy库的`save`函数将NumPy数组保存为.npy文件: ``` np.save('output_data.npy', image_data_array) ``` 完成以上步骤后,你将得到一个.npy格式高光谱图像数据集文件,该文件包含了.mat文件中的数据。可以根据需要修改文件名和路径以适应你的情况。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值