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 的灰度图像数组。

 
05-28 13:22