数据分析 day06(四)

scipy

scipy是基于numpy的一个扩展工具,提供了许多复杂科学计算的方法,比如:微积分、图像处理、微分方程、傅里叶变换、信号处理等

模块安装

pip install scipy
# 如果安装太慢,使用国内镜像源
pip install -i  https://pypi.tuna.tsinghua.edu.cn/simple scipy

默认安装的是最新版本,以下有一些模块功能可能已经修改,如果提示模块中没有这个功能,可能有以下几个问题

  1. 没有安装Pillow
    解决方式:
pip install Pillow
  1. 版本问题,更新后模块这个功能已经修改
    解决方案:
    查找官网 https://docs.scipy.org/doc/scipy/reference/
    或者卸载该版本,重新安装旧版本

1、微积分

导入模块

import numpy as np
from scipy import integrate

用integrate给y=1-x^2在区间(-1,1)内积分
在这里插入图片描述

练习:
用微积分的方法来推导圆周率用,提示最好用半径为1的圆

将圆的方程用y表示,圆心位于原点,将图像分上下两部分积分
在这里插入图片描述

2、输入输出

scipy可以处理mat格式的文件
从scipy中导入io模块

from scipy import io

mat文件的存储和读取
在这里插入图片描述
可以看到生成了一个mat文件
在这里插入图片描述
此mat文件只能用scipy读取

3、图片处理

使用scipy可以进行图片的移位、旋转、切割、缩放等操作

导入模块

import matplotlib.pyplot as plt
%matplotlib inline
from scipy import misc,ndimage

1、读取图片
misc.imread()就相当于 plt.imread() 读取图片
在这里插入图片描述

2、旋转

  1. 用misc来旋转
    在这里插入图片描述
  2. 用ndimage来旋转
    在这里插入图片描述

3、缩放

  1. 用misc来重置大小
    在这里插入图片描述
  2. 用ndimage来缩放比例
    在这里插入图片描述

4、滤镜
在这里插入图片描述
滤镜的参数有
‘blur’, ‘contour’, ‘detail’, ‘edge_enhance’, ‘edge_enhance_more’, ‘emboss’, ‘find_edges’
‘smooth’, ‘smooth_more’, ‘sharpen’
在这里插入图片描述

5、移位

移位的mode取值:constant,nearest,reflect,mirror,wrap,代表如何来填充移出去的部分
nearest 最近的像素填充
在这里插入图片描述
在这里插入图片描述

6、滤波
首先看这张图片
这些条条是一些高频信号,接下来需要把这些高频信号去掉,使图片边清晰
在这里插入图片描述

  1. 高斯滤波 ndimage.gaussian_filter(pic,sigma=3)
    参数pic表示这张图片
    参数sigma用于控制滤波的频率,sigma越大代表滤波的频率就越小,滤掉的高频信号就越多
    在这里插入图片描述
  2. 中位数滤波 ndimage.median_filter(pic,size=15)
    size越大,滤波的频率越低
    在这里插入图片描述
  3. winner滤波 signal.wiener(pic,mysize=8)
    mysize越大,滤波的频率越低
    使用winner滤波,首先要导入 signal
    在这里插入图片描述
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值