郑州个人做网站,视频推广方案模板,wordpress用cdn打不开后台,装饰设计有限公司简介1.基于小波变换的阈值收缩法去噪
该方法利用小波变换分离出信号中的噪声成分#xff0c;并通过设置合适的阈值对小波系数进行收缩#xff0c;保留主要信息的同时#xff0c;去除噪声。
%基于小波变换的阈值收缩法去噪算法
clear
clc
Iimread(nana.png);
X im2double(I); …1.基于小波变换的阈值收缩法去噪
该方法利用小波变换分离出信号中的噪声成分并通过设置合适的阈值对小波系数进行收缩保留主要信息的同时去除噪声。
%基于小波变换的阈值收缩法去噪算法
clear
clc
Iimread(nana.png);
X im2double(I); % 转换成双精度类型
x_noise noise(X, gaussian, 0.01); % 加入高斯噪声
% 提取三个通道信息
xr x_noise(:, :, 1); % R通道
xg x_noise(:, :, 2); % G通道
xb x_noise(:, :, 3); % B通道
% 估计三个通道的阈值
[Cr, Sr] wavedec2(xr, 2, sym4);
[Cg, Sg] wavedec2(xg, 2, sym4);
[Cb, Sb] wavedec2(xb, 2, sym4);
x_r den(xr, sym4, 2);
x_g den(xg, sym4, 2);
x_b den(xb, sym4, 2);
x cat(3, x_r, x_g, x_b);
subplot(121)
imshow(x_noise);title(加噪图像);
subplot(122)
imshow(x);title(去噪后); 2.基于小波变换的模极大值法去噪算法
模极大值法通过分析小波变换中信号的极大值点提取信号的结构特征进而有效去除噪声并且能保留信号的边缘信息。
%基于小波变换的模极大值法去噪算法
clear
clc
I imread(nana.png, png); % 读入图像
X im2double(I); % 转换成双精度类型
x_noise noise(X,gaussian, 0.01); % 加入高斯噪声
% 提取三个通道信息
xr x_noise(:, :, 1); % R通道
xg x_noise(:, :, 2); % G通道
xb x_noise(:, :, 3); % B通道
%基于小波变换的模极大值法
[Cr, Sr] wavedec2(xr, 2, sym4);
[Cg, Sg] wavedec2(xg, 2, sym4);
[Cb, Sb] wavedec2(xb, 2, sym4);
thr_lvd_r momax(Cr, Sr); % R通道局部阈值
thr_lvd_g momax(Cg, Sg); % G通道局部阈值
thr_lvd_b momax(Cb, Sb); % B通道局部阈值
x_soft_lvd_r wdenoise(xr, lvd, s, thr_lvd_r, sym4, 2);
x_soft_lvd_g wdenoise(xg, lvd, s, thr_lvd_g, sym4, 2);
x_soft_lvd_b wdenoise(xb, lvd, s, thr_lvd_b, sym4, 2);
x_soft_lvd cat(3, x_soft_lvd_r, x_soft_lvd_g, x_soft_lvd_b); subplot(121)
imshow(x_noise); title(噪声图像);
subplot(122)
imshow(x_soft_lvd); title(模极大值去噪); 3.基于小波变换的相关法去噪算法
该算法基于小波变换后不同尺度信号间的相关性利用噪声和信号的统计特性来提取信号达到去噪的目的。
%基于小波变换的相关法去噪算法
clear
clc
I imread(nana.png, png); % 读入图像
X im2double(I); % 转换成双精度类型
x_noise noise(X,gaussian, 0.01); % 加入高斯噪声
% 提取三个通道信息
xr x_noise(:, :, 1); % R通道
xg x_noise(:, :, 2); % G通道
xb x_noise(:, :, 3); % B通道
% 小波变换去相关计算阈值
thr_r xiangguan(xr); % R通道全局阈值
thr_g xiangguan(xg); % G通道全局阈值
thr_b xiangguan(xb); % B通道全局阈值
x_soft_r wdenoise(xr, gbl, s, thr_r, sym4, 2);
x_soft_g wdenoise(xg, gbl, s, thr_g, sym4, 2);
x_soft_b wdenoise(xb, gbl, s, thr_b, sym4, 2);
x_soft cat(3, x_soft_r, x_soft_g, x_soft_b);
subplot(121)
imshow(x_noise); title(噪声图像);
subplot(122)
imshow(x_soft); title(相关法去噪); 4.改进基于离散余弦变换的小波去噪算法
在传统小波去噪的基础上结合离散余弦变换DCT的优势对信号进行进一步处理以提高去噪效果特别适用于周期性或具有强局部特征的信号 %改进基于离散余弦变换的小波去噪算法
clear
clc
init 2055615866;
randn(seed,init);
img imread(nana.png);
X double(img);
x X 10*randn(size(X));%噪声
x uint8(x);
[h,w,c] size(x);
R_channel x(:,:,1);
G_channel x(:,:,2);
B_channel x(:,:,3);outimg1 block_dct(R_channel,8,3);
outimg2 block_dct(G_channel,8,3);
outimg3 block_dct(B_channel,8,3);
[h,w] size(outimg1)
outimg zeros([h,w,3]);
outimg(:,:,1) outimg1;
outimg(:,:,2) outimg2;
outimg(:,:,3) outimg3;subplot(121)
imshow(x);
xlabel(噪声图像);
subplot(122)
imshow(uint8(outimg))
xlabel(分块DCT去噪); 5.基于最大熵原理的小波去噪算法
通过引入最大熵原理该算法在去噪过程中对信号进行最优估计保持信号的信息量最大化从而实现平衡信号和噪声的去除
%基于最大熵原理的小波去噪算法
clear
clc
I imread(nana.png);
X rgb2gray(I);
Ximnoise(X,salt pepper,0.05);%加入椒盐噪声
vHistimhist(X); %得到灰度直方图
[m,n]size(X);
pvHist(find(vHist0))/(m*n); %求每一不为零的灰度值的概率
Ptcumsum(p); %计算出选择不同t值时A区域的概率
Ht-cumsum(p.*log(p)); %计算出选择不同t值时A区域的熵
HL-sum(p.*log(p)); %计算出全图的熵
Ytlog(Pt.*(1-Pt)eps)Ht./(Pteps)(HL-Ht)./(1-Pteps); %计算出选择不同t值时判别函数的值
thmax(Yt); % th即为最佳阈值
[height width]size(X);
Xim2double(X);
Y1double(X);
Aimnoise(X,salt pepper,0.05);%加入椒盐噪声
wnamesym3 ;
n3;
[c,s]wavedec2(A,n,wname);
for i1:3
step(i)s((i1),1)*s((i1),2); %得到高频每层分解系数的长度
end
num(1,1)s(1,1)*s(1,2)1; %获取各层各高频分量在c向量中的坐标 H|V|D
num(1,2)num(1,1)s(2,1)*s(2,2);
num(1,3)num(1,2)s(2,1)*s(2,2);
num(2,1)num(1,3)s(2,1)*s(2,2);
num(2,2)num(2,1)s(3,1)*s(3,2);
num(2,3)num(2,2)s(3,1)*s(3,2);
num(3,1)num(2,3)s(3,1)*s(3,2);
num(3,2)num(3,1)s(4,1)*s(4,2);
num(3,3)num(3,2)s(4,1)*s(4,2);
%m0.02;
Cc;
Yc;
for i1:3
[H,V,D]detcoef2(a,c,s,i);%提取第i层各高频系数,提取二维信号小波分解的细节分量
B[H V D];
[L,T]size(B);
for k1:Lfor w1:Tsigmamedian(abs(B(k,w)))/0.6745;%噪声方差end
end
chc(1,num(4-i,1):num(4-i,3)step(4-i)-1);%确定高频系数的范围为下一步阈值处理和更新高频系数做准备
chllength(ch);
for j1:chlif abs(ch(j))thch(j)sign(ch(j))*(abs(ch(j))-th);%软阈值处理函数elsech(j)0;end
end
C(1,num(4-i,1):num(4-i,3)step(4-i)-1)ch(1,1:chl);
end
X0waverec2(C,s,wname);
figure
subplot(121);imshow(X);title(加噪图像)
subplot(122);imshow(X0,[]);title(最大熵法去噪后图像) 6.基于主成分分析的小波去噪算法
主成分分析PCA被用来提取信号的主要特征结合小波变换可以有效分离信号和噪声尤其适用于多维数据的去噪任务。
%基于主成分分析的小波去噪算法
clear;
clc;
A imread(nana.png); %读取图像
Aimnoise(A,salt pepper,0.05);%加入椒盐噪声
subplot(121)
imshow(A); title(加噪图像);
k PCA_Process(A);
subplot(122)
imshow(k,[]);title(去噪图片); 7.BM3D去噪算法
%BM3D去噪算法
clear
clc
A imread(nana.png); %读取图像
Argb2gray(A);
Aimnoise(A,salt pepper,0.05);%加入椒盐噪声
subplot(121)
imshow(A); title(加噪图像);
k BM3D(A);
subplot(122)
imshow(k,[]);title(去噪图片); 免费获取完整代码
Matlab数字信号处理——基于改进小波变换的图像去噪方法7种去噪算法
最后
小编会不定期发布相关设计内容包括但不限于如下内容:信号处理、通信仿真、算法设计、matlab appdesignergui设计、simulink仿真......希望能帮到你