以登月图片为例,通过使用Scipy 傅立叶变换,实现图片消噪

scipy.fftpack模块用来计算快速傅里叶变换
速度比传统傅里叶变换更快,是对之前算法的改进
图片是二维数据,注意使用fftpack的二维转变方法

一、导包

import numpy as np
import scipy as sp # ifft2 inverse 反转 fft2 处理二维数据
from scipy.fftpack import fft2,ifft2 # 绘图工具
import matplotlib.pyplot as plt
%matplotlib inline

二、图片处理

 # 图片载入
moon = plt.imread('./moonlanding.png') # 设置展示尺寸大小
plt.figure(figsize=(12,9)) # 图片展示 cmap=plt.cm.gray (设置展示颜色)
plt.imshow(moon,cmap=plt.cm.gray)
 # 随时查看图片数据,指导操作
display(moon,moon.shape)
 # 将图片进行傅立叶转换
moon_fft2 = fft2(moon) # 查看傅立叶转换后的数据
display(moon_fft2,moon_fft2.shape) # 计算所有数据波动频率的平均值
np.abs(moon_fft2).mean()
 # 开始消噪:大于10倍平均值波动,波动比较大,过滤掉
cond = np.abs(moon_fft2) > 510 # 过滤:重新赋值为平均值
moon_fft2[cond] = 51 # 查看图片数据
display(moon_fft2,moon_fft2.shape)
 # 将频域----逆变换--->时域(即肉眼可见的图片)
moon_result = ifft2(moon_fft2) display(moon_result,moon_result.shape) # 去掉虚数
moon2 = np.real(moon_result) display(moon2,moon2.shape)
 # 展示图片
plt.figure(figsize=(12,9)) plt.imshow(moon2,cmap=plt.cm.gray)
 # 图片保存
plt.imsave('./moonlanding_fft2_result.png',moon2)

三、处理前后的图片对比

处理前:

处理后:

图片降噪(Scipy)的更多相关文章

  1. 读入图片显示scipy.misc module has no attribute imread?

    >>> import scipy >>> scipy.misc <module 'scipy.misc' from 'C:\Python27\lib\site ...

  2. opencv 图片降噪

    —— # -*- coding: utf-8 -* import numpy as np import cv2 cap = cv2.VideoCapture(0) while True: _ , fr ...

  3. Scipy实现图片去噪

    先贴要处理的图片如下 由图片显示可知: # 图片中存在噪声点,白色的圆环# 圆环上的数据和圆环里面和外面不同,所以可以显示出肉眼可识别的图片# 波动# 存在噪声的地方,波动比较大 # 傅里叶变换可以将 ...

  4. 1.5 Scipy:高级科学计算

    sklearn实战-乳腺癌细胞数据挖掘(博主亲自录制视频教程) https://study.163.com/course/introduction.htm?courseId=1005269003&am ...

  5. Python下尝试实现图片的高斯模糊化

    资源下载 #本文PDF版下载Python下尝试实现图片的高斯模糊化#本文代码下载高斯模糊代码下载 高斯模糊是什么? (先来看一下维基百科对它的定义) 高斯模糊是模糊图像的结果.它是一种广泛使用的图形软 ...

  6. 数据分析之scipy常用方法(五)

    1 Scipy简介 Scipy依赖于Numpy Scipy提供了真正的矩阵 Scipy包含的功能:最优化.线性代数.积分.插值.拟合.特殊函数.快速傅里叶变换.信号处理.图像处理.常微分方程求解器等 ...

  7. Scipy的应用

    首先总体概括一下Scipy的用处 >>> #Scipy依赖于numpy>>> #Scipy提供了真正的矩阵>>> #Scipy包含的功能:最优化, ...

  8. (转)scipy详解

    原文:https://www.cnblogs.com/ws0751/p/8361353.html#top 登月图片消噪   scipy.fftpack模块用来计算快速傅里叶变换速度比传统傅里叶变换更快 ...

  9. scipy详解

    登月图片消噪   scipy.fftpack模块用来计算快速傅里叶变换速度比传统傅里叶变换更快,是对之前算法的改进图片是二维数据,注意使用fftpack的二维转变方法   import numpy a ...

随机推荐

  1. 关于页面布局中,如何让一个div水平和垂直居中的五个方案

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. sqlite文件的建立和as的应用,

    建立目录D:\android_projects\qrscan\app\src\main\assets把数据库文件d:\sqlite_files\device.db 拷贝到 D:\android_pro ...

  3. SpringBoot学习之整合Druid的简单应用

    一.Druid介绍 Druid简介 Druid是目前Java语言中最好的数据库连接池之一.结合了 C3P0.DBCP 等 DB 池的优点,同时加入了日志监控.Druid 是一个分布式的.支持实时多维 ...

  4. PHP jdtojewish() 函数

    ------------恢复内容开始------------ 实例 把儒略日计数转换为犹太历法的日期: <?php$jd=jdtojewish(1789430); echo $jd;?> ...

  5. PHP fgetss() 函数

    定义和用法 fgetss() 函数从打开的文件中返回一行,并过滤掉 HTML 和 PHP 标签. fgetss() 函数会在到达指定长度或读到文件末尾(EOF)时(以先到者为准),停止返回一个新行. ...

  6. day13. 迭代器与高阶函数

    一.迭代器 """ 能被next调用,并不断返回下一个值的对象,叫做迭代器(对象) 概念: 迭代器指的是迭代取值的工具,迭代是一个重复的过程,每次重复都是基于上一次的结果 ...

  7. 注重代码习惯,Python零基础从这本书籍开始!

    笨办法学 Python是Zed Shaw 编写的一本Python入门书籍.适合对计算机了解不多,没有学过编程,但对编程感兴趣的朋友学习使用.这本书以习题的方式引导读者一步一步学习编 程,从简单的打印一 ...

  8. Python笔试——毕业旅行问题

    毕业旅行问题 小明目前在做一份毕业旅行的规划.打算从北京出发,分别去若干个城市,然后再回到北京,每个城市之间均乘坐高铁,且每个城市只去一次.由于经费有限,希望能够通过合理的路线安排尽可能的省一些路上的 ...

  9. 牛客 51011 可达性统计(拓扑排序,bitset)

    牛客 51011 可达性统计(拓扑排序,bitset) 题意: 给一个 n个点,m条边的有向无环图,分别统计每个点出发能够到达的点的数量(包括自身) \(n,m\le30000\). 样例: 10 1 ...

  10. 使用java API进行zip递归压缩文件夹以及解压

    一.概述 在本篇文章中,给大家介绍一下如何将文件进行zip压缩以及如何对zip包解压.所有这些都是使用Java提供的核心库java.util.zip来实现的. 二.压缩文件 首先我们来学习一个简单的例 ...