1 简介
基于小波的图像去噪算法是目前图像处理研究的一个热点.该文提出了一种结合椭圆型方向窗和数学形态学的小波域双重局部维纳滤波图像去噪算法.该算法同时利用了小波域子带的方向信息和图像本身所固有的几何结构:首先使用数学形态学把图像分成纹理区域和光滑区域两部分,然后结合椭圆型方向窗去估计小波域方向子带中每一点的信号方差,最后使用双重维纳滤波器对含噪图像进行去噪.实验结果表明该算法的去噪效果优于其它的采用二维可分离实小波进行图像去噪的算法.
2 部分代码
clear;close all;
%---------Load the original image and show it------------------------------
im_original=imread('images\lena.png','png');% load the original image
im_original=double(im_original); % convert it to double
figure(1);imshow(im_original,[]);title('The original image');% show it
%--------Generate a noisy image, the noise is assumed to be additive,------
%--------white,Gaussian and independent of the original image--------------
sigma=25; % Standard deviation of the noise
im_noisy=im_original+sigma*randn(size(im_original));% Generate noisy image
%--------Show the noisy image----------------------------------------------
figure(2);imshow(im_noisy,[]);title('The noisy image');
%--------Set the parameters of the denoising algorithm---------------------
% Attention: the parameters is set for reproducing the result of our IEEE
% Signal Processing Letters paper, do not change them unless you
% are an advanced user with a deep understanding of the theory.
wav_base1='db4'; % the wavelet base used in the first LWFDW
wav_base2='sym8';% the wavelet base used in the second LWFDW
level=5; % the wavelet decomposition level
pad_mode=0;% 0:stands for the period extention mode
% 1:stands for the symmetric extention mode
symbol=0; % 0: stands for denoising using Decimated wavelet transform
% 1: stands for denoising using Undecimated wavelet transform
% If symbol=0, uncomment the following 4 code lines for reproducing the
% results of denoising image using maximal decimated wavelet transform
r1=[5,4,4,3,3];a1=2; % the parameters of the directional window used in
% the first LWFDW under Decimated wavelet transform
r2=[3,2,2,1,1];a2=1.5;% the parameters of the directional window used in
% the second LWFDW
% If symbol=1, uncomment the following 4 code lines for reproducing the
% results of denoising image using Undecimated wavelet transform
% r1=[7,8,8,9,9];a1=2; % the parameters of the directional window used in
% % first LWFDW under Undecimated wavelet transform
% r2=[3,4,4,5,5];a2=2;% the parameters of the directional window used in
% % the second LWFDW
%--------Call the denoising function to denoise the noisy image------------
tic;
im_denoised=denoise_DLWFDW(im_noisy,wav_base1,wav_base2,level,r1,a1...
,r2,a2,pad_mode,symbol);
toc;
%--------Compute the PSNR and show the result------------------------------
PSNR=10*log10(255^2/mse(im_original-im_denoised))
figure(3);imshow(im_denoised,[]);title('The denoised image using DLWFDW');
3 仿真结果
4 参考文献
[1]周祚峰, & 水鹏朗. (2008). 利用数学形态学和方向窗的小波域双重局部维纳滤波图像去噪算法. 电子与信息学报, 30(4), 4.