图像去噪】基于ITTM 滤波器实现图像去噪附matlab代码"/>
【图像去噪】基于ITTM 滤波器实现图像去噪附matlab代码
1 简介
提出了一种迭代修整和截断算术平均值(ITTM)算法,并开发了ITTM滤波器。在这里,修剪样本意味着将其删除并截断样本是将其值替换为阈值。同时修整和截断使所提出的滤波器能够有效地衰减混合的添加剂和专有噪声。建议的修剪和截断规则可确保ITTM过滤器的输出收敛到中值。它提供了一种有效的方法来估计中位数,而无需进行费时的数据排序。理论分析表明,大小为n的ITTM过滤器具有线性计算复杂度O(n)。与中值滤波器和迭代截短算术平均值(ITM)滤波器相比,所提出的ITTM滤波器在某些情况下可以更有效地抑制噪声,并且具有较低的计算复杂度。在合成数据和真实图像上进行的实验验证了滤镜的特性。
2 部分代码
%demo code 2: single type of noise suppession
%%
% Please report bugs and/or send comments to Miao Zhenwei.
% zwmiao@ntu.edu.sg
% Reference: Z. W. Miao and X. D. Jiang, "Additive and Exclusive Noise Suppression byIterative Trimmed and Truncated Mean Algorithm,?Signal Processing, vol. 99, pp. 147-158, June, 2014.
% Related papers
%
ITTM_compile
%% 1. fixed number of iterations
n = 49; %% filter size
Lo = 10000; L = Lo*n;
%% Noise signal
%Gaussian noise
% xo = normrnd(0,1,L,1); xo = xo./std(xo);
%Laplacian noise
xo = log(rand(L,1)./rand(L,1)); xo = xo./std(xo);
%% Filtering
for i=1:Lo
xw = xo(i*n-n+1:i*n);
ymedian(i) = median(xw);
ymean(i) = mean(xw);
for ii = 0:10
yITTM_fix(ii+1,i) = ITTM_fix_c(xw,ii,1);
end
end
CRLB = 1/(2*n);
%% Noise signal
%Gaussian noise
% xo = normrnd(0,1,L,1); xo = xo./std(xo);
%Laplacian noise
xo = log(rand(L,1)./rand(L,1)); xo = xo./std(xo);
ymedian = [];
ymean = [];
yITM = [];
%% Filtering
for i=1:Lo
xw = xo(i*n-n+1:i*n);
ymedian(i) = median(xw);
ymean(i) = mean(xw);
yITTM(i) = ITTM_c(xw,1);
end
CRLB = 1/(2*n);
vmean = ymean*ymean'/Lo;
vmedian = ymedian*ymedian'/Lo;
vITM = yITTM*yITTM'/Lo;
vmean_result(ii) = vmean/CRLB;
vmedian_result(ii) = vmedian/CRLB;
varitmfix_result(ii) = vITM/CRLB;
end
xx = ww
subplot(1,2,2)
plot(xx,ones(lw,1),'black-','LineWidth',1.5)
hold on
plot(xx,vmean_result,'blue-diamond','LineWidth',1,'MarkerSize',8)
plot(xx,vmedian_result,'g-*','LineWidth',1,'MarkerSize',8)
plot(xx,varitmfix_result,'r-o','LineWidth',1,'MarkerSize',8)
% xlim([0.9 4.1])
ylim([0.95 2.05])
legend('CRLB','mean','median','ITTM1')
xlabel('filter size $n$')
lh=findall(gca,'type','line');
lh=findall(gca,'type','text');
set(lh,'FontSize',12)
lh=findall(gca,'type','Axes');
set(lh,'FontSize',12)
3 仿真结果
4 参考文献
[1] Miao Z , Jiang X . Additive and exclusive noise suppression by iterative trimmed and truncated mean algorithm[J]. Signal processing, 2014, 99(jun.):147-158.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。
更多推荐
【图像去噪】基于ITTM 滤波器实现图像去噪附matlab代码
发布评论