SciPy中两个模块:io 和misc

Posted 风声风语

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SciPy中两个模块:io 和misc相关的知识,希望对你有一定的参考价值。

 
  1. 读写.mat文件

如果你有一些数据,或者在网上下载到一些有趣的数据集,这些数据以Matlab的.mat 文件格式存储,那么可以使用scipy.io 模块进行读取。

data = scipy.io.loadmat(‘test.mat‘) 
  • 1
  • 2

上面代码中,data 对象包含一个字典,字典中的键对应于保存在原始.mat 文件中的变量名。由于这些变量是数组格式的,因此可以很方便地保存到.mat 文件中。你仅需创建一个字典(其中要包含你想要保存的所有变量),然后使用savemat() 函数:

data = {}  
data[‘x‘] = x  
scipy.io.savemat(‘test.mat‘,data) 
  • 1
  • 2
  • 3
  • 4

因为上面的脚本保存的是数组x,所以当读入到Matlab 中时,变量的名字仍为x。关于scipy.io 模块的更多内容, 请参见在线文档http://docs.scipy.org/doc/scipy/ reference/io.html

  1. 以图像形式保存数组

因为我们需要对图像进行操作,并且需要使用数组对象来做运算,所以将数组直接保存为图像文件1 非常有用。本书中的很多图像都是这样的创建的。

imsave() 函数可以从scipy.misc 模块中载入。要将数组im 保存到文件中,可以使用下面的命令:

from scipy.misc import imsave  
imsave(‘test.jpg‘,im) 
  • 1
  • 2
  • 3

scipy.misc 模块同样包含了著名的Lena 测试图像:

lena = scipy.misc.lena() 
  • 1
  • 2

该脚本返回一个512×512 的灰度图像数组。

 

以上是关于SciPy中两个模块:io 和misc的主要内容,如果未能解决你的问题,请参考以下文章

ModuleNotFoundError:没有名为“scipy.misc.pilutil”的模块

scipy.misc 模块没有属性 imread?

scipy

我的 scipy.misc 模块似乎缺少 imsave

如何修复“-scipy.misc 没有属性“imresize””

搞定Python中from scipy.misc import imread & imresize 报错问题