SciPy中的io和misc模块怎么使用(io,scipy,开发技术)

时间:2024-05-02 19:46:20 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

    SciPy%E4%B8%AD%E7%9A%84io%E5%92%8Cmisc%E6%A8%A1%E5%9D%97%E6%80%8E%E4%B9%88%E4%BD%BF%E7%94%A8

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

上面代码中,data 对象包含一个字典,字典中的键对应于保存在原始.mat 文件中的变量名。由于这些变量是数组格式的,因此可以很方便地保存到.mat 文件中。

你仅需创建一个字典(其中要包含你想要保存的所有变量),然后使用savemat() 函数:

因为上面的脚本保存的是数组x,所以当读入到Matlab 中时,变量的名字仍为x。

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

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

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

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

补充:图像预处理的几个模块:PIL、scipy.misc、OpenCV、TensorFlow

Python Imaging Library (PIL)是PythonWare公司提供的免费的图像处理工具包,是python下的图像处理模块,支持多种格式,并提供强大的图形与图像处理功能。

虽然在这个软件包上要实现类似MATLAB中的复杂的图像处理算法并不太适合,但是Python的快速开发能力以及面向对象等等诸多特点使得它非常适合用来进行原型开发。

对于简单的图像处理或者大批量的简单图像处理任务,python+PIL是很好的选择。

注意:Image只接收uint8类型的数据,如果传入float32类型的数据就会出错。

python在科学计算领域有三个非常受欢迎库,numpy、SciPy、matplotlib。

numpy是一个高性能的多维数组的计算库,SciPy是构建在numpy的基础之上的,它提供了许多的操作numpy的数组的函数。SciPy是一款方便、易于使用、专为科学和工程设计的python工具包,它包括了统计、优化、整合以及线性代数模块、傅里叶变换、信号和图像图例,常微分方差的求解等。

下面就简单的介绍一下SciPy在图像处理方面的应用,如果专业做图像处理当然还是建议使用opencv。

OpenCV是一个开放源代码的计算机视觉应用平台,由英特尔公司下属研发中心俄罗斯团队发起该项目,开源BSD证书,OpenCV的目标是实现实时计算机视觉,,是一个跨平台的计算机视觉库。从开发之日起就得到了迅猛发展,获得了众多公司和业界大牛的鼎力支持与贡献,因为是BSD开源许可,因此可以免费应用在科研和商业应用领域。

OpenCV中已经包含如下应用领域功能:二维和三维特征工具箱、运动估算、人脸识别系统、姿势识别、人机交互、移动机器人、运动理解、对象鉴别、分割与识别、立体视觉、运动跟踪、增强现实(AR技术)。基于上述功能实现需要,OpenCV中还包括以下基于统计学机器学习库:Boosting算法、Decision Tree(决策树)学习、Gradient Boosting算法、EM算法(期望最大化)、KNN算法、朴素贝叶斯分类、人工神经网络、随机森林、支掌向量机。

编程语言:OpenCV中多数模块是基于C++实现,其中有少部分是基于C语言实现,当前OpenCV提供的SDK已经支持C++、Java、Python等语言应用开发。当前OpenCV本身新开发的算法和模块接口都是基于C++产生。OpenCV-Python使用Numpy,这是一个高度优化的数据库操作库,具有MATLAB风格的语法。所有OpenCV数组结构都转换为Numpy数组。这也使得与使用Numpy的其他库(如SciPy和Matplotlib)集成更容易。接下来介绍OpenCV的核心操作:

注意:cv2默认为 BGR顺序,而其他软件(PIL、scopy.misc)一般使用RGB,所以当cv2和其它混用时需要用cv2.cvtColor()转换通道

如果传入的数据类型为uint8,该函数可以将0-255的uint8类型的像素值归一化为0-1。如果传入的数据类型为tf.float32,则该函数对图像不做任何处理。如果传入的数据类型为tf.int32,则处理后会变成极小的小数。

本文:SciPy中的io和misc模块怎么使用的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:web前端SEO是什么意思下一篇:

4 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18