数学建模社区-数学中国

标题: [求助]matlab编程:图像高斯噪声去除 基于小波 [打印本页]

作者: 雪影之风    时间: 2007-5-5 14:24
标题: [求助]matlab编程:图像高斯噪声去除 基于小波

如题,要求用matlab设计一程序,图像高斯去噪[em06]

怎么显示图像呢??imshow不知怎么用,强的教教我啊!

谁有代码的给个给我啊哈~~~不胜感激!


作者: 小溪的空气    时间: 2007-6-22 23:38

这是一个关于小波去噪的程序。你可以作参考。

% 本程序先生成一个“Blocks”信号,然后加上高斯白噪声,再用'db3'小波进行分解,
% 以说明信号和噪声在各个尺度上的表现。

clear all;

% 生成“Blocks”信号
M = 1/1024;
N = 1/M;
t =0:M:1-1/1024;
TPoint = [0.1,0.13,0.15,0.23,0.25,0.40,0.44,0.65,0.76,0.78,0.81];
h = [4,-5,3,-4,5,-4.2,2.1,4.3,-3.1,2.1,-4.2];
[aaa,TSize] = size(TPoint);
FBlock = zeros(N,1);
for j = 1:N
    for i = 1:TSize
        if (t(j) - TPoint(i))> 0
            sgnt = 1;
        elseif (t(j) - TPoint(i))< 0
            sgnt  = -1;
        else
            sgnt =0;
        end
        FBlock(j) = FBlock(j) +h(i)*(1+sgnt)/2;
    end
end
%sig=FBlock';
subplot(321)
plot(FBlock)
%title(' 原信号'); 
grid on;

% 加上白噪声
sigma=0.1;
sig= GWNoisy(FBlock',sigma);
subplot(323)
plot(sig)
%title(' 带噪信号'); 
grid on;

% 小波分解
[c,l]=wavedec(sig,2,'db3');  
ca2=appcoef(c,l,'db3',2);
cd2=detcoef(c,l,2);
cd1=detcoef(c,l,1);
subplot(322)
plot(cd1)
subplot(324)
plot(cd2)
subplot(326)
plot(ca2)

dl=length(cd2)+length(cd1);
c1=[ca2,zeros(1,dl)];
y=waverec(c1,l,'db3');
subplot(325)
plot(y)


作者: taotaojiang    时间: 2007-10-28 20:20

顶一下

我也有用。。


作者: 1127472848    时间: 2011-7-21 13:48
请问GWNoisy是干嘛的
作者: hahaysw    时间: 2011-8-14 16:57
我觉得你还是用小波工具箱好吧!db3行不行还得判断什么的,用编的程序反而太麻烦了。




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5