码迷,mamicode.com
首页 > 其他好文 > 详细

scipy-图片处理

时间:2019-11-24 11:58:02      阅读:110      评论:0      收藏:0      [点我收藏+]

标签:median   元素   超过   enc   com   gauss   数组   mode   head   

图片消噪

scipy.fftpack模块用来计算快速傅里叶变换

图片是二维数据,注意使用fftpack的二维转变方法

from scipy.fftpack import fft2, ifft2

1.使用傅里叶变换把图片转化为频率

2.频率超过一定的阈值,我们认为是噪点,赋值为0

3.把频率还原为图片.

4.显示最终的效果.

moon_fft = fft2(moon) # 傅里叶变换, 图片转化为频率
np.abs(moon_fft)
?
threshold = 8e2  # 设置过滤的阈值 ,  
res = np.where(np.abs(moon_fft) > threshold, 0 , moon_fft) # 频率绝对值 超过该阈值,认为是噪点,赋值为0
?
moon_ifft = ifft2(res)   # 傅里叶逆变换 将过滤后的结果转换回来
moon_clean = np.real(moon_ifft)   # 只取实部
?
?

 

数值积分,求解圆周率

import scipy.integrate as integrate

half_pi, deviation = integrate.quad(lambda x: (1-x ** 2)**0.5, -1, 1) # 半个pi , 误差

 

Scipy文件输入/输出

导包: from scipy import io / import scipy.io as io

io.savemat()

使用scipy中的io.savemat()保存数组 文件格式是.mat,标准的二进制文件

io.savemat(‘moon_clean.mat‘, mdict={‘data‘: moon_clean})
io.loadmat()

使用io.loadmat()读取数据

moon_mdict = spio.loadmat(‘moon_clean.mat‘)
?
moon_clean = moon_mdict[‘data‘]

 

PIL

from PIL import Image,ImageFilter

cat = Image.open(‘../data/cat.jpg‘)

cat.filter(ImageFilter.BLUR) # 模糊处理

cat.filter(ImageFilter.CONTOUR) # 轮廓

 

图片处理

from scipy import ndimage

ndimage用于处理多维图片
shift移动坐标
# mode : {‘reflect‘, ‘constant‘, ‘nearest‘, ‘mirror‘, ‘wrap‘}
face_shift = ndimage.shift(face, (200,300,0),mode=‘constant‘)
rotate旋转图片

face_rotate = ndimage.rotate(face,90, mode=‘mirror‘) # angle : 旋转角度

zoom缩放图片

face_zoom = ndimage.zoom(face,(2,3)) # 使用灰白图片

切割图片

face_split = face[200:500,500:800]

图片进行过滤

添加噪声,对噪声图片使用ndimage中的高斯滤波、中值滤波、signal中维纳滤波进行处理 使图片变清楚

使用灰色图片添加噪声

face_noise = face.copy().astype(np.float64) face_noise += face_noise.std() * 0.5 * np.random.randn(*face.shape)

  • 高斯滤波sigma:高斯核的标准偏差

face_gaussian = ndimage.gaussian_filter(face_noise,sigma=1)  # sigma 标准差   越大范围取得越大,反之
  • 中值滤波参数size:给出在每个元素上从输入数组中取出的形状位置,定义过滤器功能的输入

face_median = ndimage.median_filter(face_noise,size=4)
  • signal维纳滤波mysize:滤镜尺寸的标量

face_wiener = wiener(face_noise, mysize=5)

 

scipy-图片处理

标签:median   元素   超过   enc   com   gauss   数组   mode   head   

原文地址:https://www.cnblogs.com/Deaseyy/p/11921654.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!