✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab仿真内容点击👇
⛄ 内容介绍
在这项研究中,提出了一种新的自适应滤波器来消除椒盐噪声(SPN)。所提出方法的基础包括两个阶段。(1) 在有多个像素具有相同距离的情况下,用最接近的像素值改变噪声像素值或将它们的平均值分配给噪声像素;(2) 通过将计算出的噪声像素值与噪声比相关联,用平均滤波器更新计算出的噪声像素值。由于在第一阶段使用最近距离的像素值,因此开发的方法被命名为基于最近值的均值滤波器(NVBMF)。使用所提出的方法获得的结果:它已经与使用自适应频率中值滤波器、自适应 Riesz 均值滤波器、改进的自适应加权均值滤波器、自适应切换权重均值滤波器获得的结果进行了比较,自适应加权均值滤波器、差分应用中值滤波器、迭代均值滤波器、两级滤波器、多级选择性卷积滤波器、差分自适应改进 Riesz 均值滤波器、基于稳态小帧变换的滤波器和一种新型自适应中值滤波器方法。在比较阶段,对原始图像应用了九种不同的噪声水平。使用峰值信噪比、图像增强因子和结构相似性指数图图像质量指标比较去噪图像。使用三个独立的图像数据集和 Cameraman、Airplane 图像进行了比较。NVBMF 在 PSNR 的 84 次比较中有 52 次取得了最好的结果,在 SSIM 的 84 次比较中有 47 次取得了最好的结果,在 IEF 的 84 次比较中有 36 次取得了最好的结果。此外,在无法达到最佳结果的比较中获得接近最佳结果的值。获得的结果表明,NVBMF 可以作为一种有效的 SPN 去噪方法。
⛄ 部分代码
clc;close all;
clear all;
io=imread('cameraman.tif');
%io=rgb2gray(io);
io=imresize(io,2);
Noise_Image=imnoise(io,'salt & pepper',0.1);
tic
Denoised_Image=NVBMF(Noise_Image);
toc
% figure,subplotimshow(io);
% figure,imshow(Noise_Image);
% figure,imshow(Denoised_Image);
psnr_results=psnr(io,uint8(Denoised_Image));
ssim_results=ssim(io,uint8(Denoised_Image));
montage({io, Noise_Image, Denoised_Image}, 'Size', [1 3])
⛄ 运行结果
⛄ 参考文献
Turan, Bülent. “A New Approach for SPN Removal: Nearest Value Based Mean Filter.” PeerJ Computer Science, vol. 8, PeerJ, Nov. 2022, p. e1160, doi:10.7717/peerj-cs.1160.