admin管理员组

文章数量:1660164

使用小波变换对图像进行去噪

实现效果

代码

import matplotlib.pyplot as plt
from  skimage.restoration import (denoise_wavelet,estimate_sigma)
from skimage.util import random_noise
from skimage.metrics import peak_signal_noise_ratio
import skimage.io
import cv2


def waveletDenoiseGray(src):
    #读取图片,并转换成flaot类型
    img=skimage.io.imread(src)
    img=skimage.img_as_float(img)

    #往图片添加随机噪声
    sigma=0.1
    imgNoise=random_noise(img,var=sigma**2)

    #估计当前的图像的噪声的方差
    #由于随机噪声的裁切,估计的sigma值将小于指定的sigma的值
    sigma_est=estimate_sigma(imgNoise,average_sigmas=True)

    #对图像分别使用Bayesshink算法和Visushrink算法
    #输入带噪图像,小波变换模式选择 ,阈值模式,小波分解的级别,小波基,
    imgBayes=denoise_wavelet(imgNoise,method='BayesShrink',mode='soft',
                            wavelet_levels=3,wavelet='bior6.8',
                            rescale_sigma=True)

    imgVisushrink=denoise_wavelet(imgNoise,method&#

本文标签: 小波图像