#最近在学习利用深度学习进行高光谱分类,下载了几个常用的高光谱公开数据集后,发现其是mat文件,可以用matlab打开,但在python中不能直接使用。

在python中加载mat文件需要使用scipy.io.loadmat()函数

参考前人的代码:

from scipy.io import loadmat
input_image = loadmat('D:\pycharmProj\HSIclassify\Pines\Indian_pines.mat')['indian_pines']
output_image = loadmat('D:\pycharmProj\HSIclassify\Pines\Indian_pines_gt.mat')['indian_pines_gt']

但运行之后程序报错:

上CSDN查找解决方案,他提出在使用loadmat函数的地方Debug,并且在Debugger处敲入X.keys(),X就是你给loadmat函数读取的mat文件赋予的变量名,该博主演示如下:

但这种方法对我的代码似乎并不适用:

还有其他人说方括号里的字母都要小写,这显然是没道理的,因为我还是报错。


经过我的不断试错,终于解决了这个问题。因为loadmat函数读取出来的高光谱数据是dict格式的所以需要定位才能进行后续操作,定位通常是通过列名,所以找到正确的列名,并修改源代码,问题就能解决。可以直接在matlab中打开mat文件查看列名,或者利用python代码查看列名:

input_image = loadmat('D:\pycharmProj\HSIclassify\Pines\Indian_pines.mat')
print(input_image.keys())
output_image = loadmat('D:\pycharmProj\HSIclassify\Pines\Indian_pines_gt.mat')
print(output_image.keys())

运行结果:

可以看到列名是'indian_pines_corrected'和‘indian_pines_gt',所以正确的代码应该是:

再运行就不会报错啦!

写这个博客的目的是帮助像我一样的高光谱图像处理小白,大家共勉;也欢迎此邻域的大牛们莅临指导。

感谢您的阅读。

使用scipy.io.loadmat()加载高光谱数据集.mat时报错:KeyError:‘indian_pines’处理办法分享相关推荐

  1. sio.loadmat加载高光谱图像出错:OSError: could not read bytes

    错误: 错误原因:下载高光谱图像时出现网络错误,文件缺损. 解决办法:重新下载数据集. 归类:低级错误

  2. 记录--深度学习加载大数据集遭遇内存和磁盘io瓶颈的问题

    1--问题描述 在最近的一个课题中,需要加载接近1T的数据集.由于内存的限制,无法一次加载整个数据集到内存中. 想到的一个解决方案是,将大数据集处理为单个样本,根据DataLoader随机产生的索引i ...

  3. TensorFlow2数据加载与数据集

    加载数据集 keras 加载在线数据集 tf.keras.datasets提供了加载在线数据集的API,其中可加载的数据集包括: boston_housing module: Boston housi ...

  4. tensflow中加载 fashion_mnist 数据集时

    在tensflow中加载 fashion_mnist 数据集时,由于网络原因.可能会长时间加载不到或报错 此时我们可以通过离线的方式加载 1.首先下载数据集:fashion_mnist (下载后解压) ...

  5. 使用pytorch自定义DataSet,以加载图像数据集为例,实现一些骚操作

    使用pytorch自定义DataSet,以加载图像数据集为例,实现一些骚操作 总共分为四步 构造一个my_dataset类,继承自torch.utils.data.Dataset 重写__getite ...

  6. [Python] 读取存储.mat数据 scipy.io.loadmat(FileName)和scipy.io.savemat('XXX.mat', {'x': x,'y': y,'z': z})

    读取.mat数据 scipy.io.loadmat("FilePath") 功能: 读取路径为"FilePath"的.mat文件,函数返回值为字典类型dict. ...

  7. 本地加载mnist数据集的方法

    本地加载mnist数据集的方法: 在学习keras的过程中需要联网下载mnist,而总是在下载一半时出现连接错误 报错:ConnectionResetError: [WinError 10054] 远 ...

  8. 在colab上加载minst数据集

    在colab上加载minst数据集 `` // An highlighted block import numpy as np from keras.datasets import mnist fro ...

  9. Django 无法加载静态文件(js,css,image)解决办法

    Django 无法加载静态文件(js,css,image)解决办法 按照这个配置成功: https://jingyan.baidu.com/article/8cdccae92ffc16315413cd ...

最新文章

  1. Android基础——框架模式MVC在安卓中的实践
  2. linux 进程 setuid,Linux SetUID(SUID)文件特殊权限用法详解
  3. odoo中的filtered_domain
  4. 切换Debug/Release编译模式和Archive的作用
  5. 纹理和基元_Java的精妙之处,包括基元和变量参数数组
  6. 灵动标签调用友情链接
  7. android 脚本运行命令大全,【Android】Monkey之命令详解
  8. 博图买什么样配置的笔记本_3dsmax需要什么样的笔记本配置?
  9. 2020国际机器翻译大赛:火山翻译力夺五项冠军
  10. 关于InnerHTML存在的问题
  11. Java基本数据类型有哪些
  12. 任务管理器显示命令行
  13. 超强的苹果官网滚动文字特效实现
  14. 006 研究生学信网的电子注册备案表在哪里弄
  15. win10 系统版本号获取的三种方法
  16. Ultra Recal 一款DIY的个人管理软件
  17. project2016如何设置日历
  18. mysql 查询最多的_MySQL中用通用查询日志找出查询次数最多的语句的教程
  19. IDEA怎么查看现在的项目使用的JDK版本?
  20. 《中国互联网发展报告(2018)》发布 大数据市场交易旺盛

热门文章

  1. 凸集、凸函数及其充分必要条件
  2. C++吃豆人(附源码)
  3. Hadoop入门教程
  4. 华硕Win10强制恢复出厂设置操作
  5. 品读鸿蒙HDF架构(一)
  6. 国外家喻户晓的搜索引擎优化SEO工具商SEOmoz公司获$1800万融资
  7. 骏安产业一站式解决企业纳税筹划方面的痛点
  8. C#学习笔记--this关键字和索引器
  9. ntp服务restrict_ntp服务器restrict和server选项格式
  10. 谷粒学院(九)EasyExcel | 课程分类模块