【图像去噪】基于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 iterationsn    = 49; %% filter sizeLo = 10000; L = Lo*n;%% Noise signal%Gaussian noise% xo = normrnd(0,1,L,1);  xo = xo./std(xo);%Laplacian noisexo = log(rand(L,1)./rand(L,1)); xo = xo./std(xo);%% Filteringfor 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    endCRLB          = 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;    endxx = wwsubplot(1,2,2)plot(xx,ones(lw,1),'black-','LineWidth',1.5)hold onplot(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代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。




相关文章
基于粒子滤波器的电池剩余使用寿命计算matlab仿真
本研究基于粒子滤波器预测电池剩余使用寿命(RUL),采用MATLAB2022a实现。通过非线性动力学模型模拟电池老化过程,利用粒子滤波器处理非线性和非高斯问题,准确估计电池SOH变化趋势,进而预测RUL。系统仿真结果显示了良好的预测性能。
|
4月前
|
安全
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
本文介绍了2023年高教社杯数学建模竞赛D题的圈养湖羊空间利用率问题,包括问题分析、数学模型建立和MATLAB代码实现,旨在优化养殖场的生产计划和空间利用效率。
216 6
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
|
4月前
|
存储 算法 搜索推荐
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
本文提供了2022年华为杯数学建模竞赛B题的详细方案和MATLAB代码实现,包括方形件组批优化问题和排样优化问题,以及相关数学模型的建立和求解方法。
139 3
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
|
4月前
|
数据采集 存储 移动开发
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
本文介绍了2023年五一杯数学建模竞赛B题的解题方法,详细阐述了如何通过数学建模和MATLAB编程来分析快递需求、预测运输数量、优化运输成本,并估计固定和非固定需求,提供了完整的建模方案和代码实现。
105 0
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
基于高通滤波器的ECG信号滤波及心率统计matlab仿真
**摘要:** 使用MATLAB2022a,实施高通滤波对ECG信号预处理,消除基线漂移,随后分析心率。系统仿真展示效果,核心代码涉及IIR HPF设计,如二阶滤波器的差分方程。通过滤波后的信号,检测R波计算RR间期,从而得到心率。滤波与R波检测是心电生理研究的关键步骤,平衡滤波性能与计算资源是设计挑战。
|
7月前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)
|
7月前
|
算法 调度
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
|
7月前
|
Serverless
基于Logistic函数的负荷需求响应(matlab代码)
基于Logistic函数的负荷需求响应(matlab代码)
|
7月前
|
供应链 算法
基于分布式优化的多产消者非合作博弈能量共享(Matlab代码)
基于分布式优化的多产消者非合作博弈能量共享(Matlab代码)