Scipy之图片降噪

我们知道,scipy 是基于numpy 的,在这里我们详细探索一下scipy在图片上的应用。scipy.fftpack模块用来计算快速傅里叶变换,其速度比传统傅里叶变换更快,是对之前的算法的改进。我们知道,黑白图片是二维数据,所以在使用时,我们要注意使用fftpack的二维转变方法。

# 登月图片,噪声,白色的圆环,圆环里面和外面图片的背景,圆环就像山峰凸起----圆环处的频率突然变高
# 消除噪声,就将频率高的地方频率降低
import numpy as np

from scipy.fftpack import fft2,ifft2

import matplotlib.pyplot as plt

from PIL import Image
# 第一步:plt读取图片,二维的图片
moon = plt.imread('./moonlanding.png')
display(moon.dtype,moon)
Out[]:
dtype('float32')
array([[0.04705882, 0.        , 0.23921569, ..., 0.        , 0.00392157,
        0.53333336],
       [0.        , 0.        , 0.6784314 , ..., 0.10196079, 0.2901961 ,
        0.        ],
       [0.72156864, 0.10980392, 0.6039216 , ..., 0.        , 0.21568628,
        1.        ],
       ...,
       [0.00392157, 0.        , 1.        , ..., 1.        , 1.        ,
        0.95686275],
       [0.        , 0.        , 0.15686275, ..., 0.        , 0.        ,
        0.3529412 ],
       [1.        , 0.52156866, 0.04705882, ..., 0.        , 0.        ,
        1.        ]], dtype=float32)
#把图片转换成RGB格式的,这样显示出来的信息
#图片是png的,png的颜色代表是从0-1的,要转换成RPG需要乘以255,转换成int8,
np.uint8(moon.reshape(-1)*255)[:100]
Out[]:
array([ 12,   0,  61, 119,   0,   0, 130,  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值