【图像去噪】基于绝对差分中值滤波、加权中值滤波法、改进加权中值滤波实现脉冲噪声图像去噪附matlab代码
【图像去噪】基于绝对差分中值滤波、加权中值滤波法、改进加权中值滤波实现脉冲噪声图像去噪附matlab代码
TT_Matlab
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,完整matlab代码或者程序定制加qq1575304183。
1 简介
脉冲噪声作为一种来源于图像在获取、传输以及压缩等环节中,由于传感器发生故障、硬件存储单位失效,错误地开关操作等因素而产生的非线性噪声,在图像中以大量的“黑点”或“白点”的形式出现,严重阻碍了图像后续的处理和应用。自适应伪中值滤波[8]作为一种分区域中值滤波方法,将大小为 m×m 的滤波模板分解为 m 个大小为 1×m 的滤波子窗口,通过各子窗口中分别进行中值滤波获得一系列的滤波值序列,然后再对该序列进行中值滤波。基于绝对差分中值滤波、加权中值滤波法、改进加权中值滤波实现脉冲噪声图像去噪。
2 部分代码
function
RVIN_img=add_RVIN(init_img,nl)
%init_img----原始图像矩阵
%reflesh_img----恢复后的图像
%nl----噪声密度值
[M,N,Z]
=
size(init_img);
if
Z>1
init_img
=
rgb2gray(init_img);
end
noise_img
=
imnoise(uint8(init_img),’salt & pepper’,nl);%加入椒盐噪声
RVIN_img
=
init_img;
noise_num
=
0;
for
i=1:M
for
j=1:N
if
init_img(i,j)~=noise_img(i,j)
noise_num
=
noise_num+1;
rand_num
=
round(rand(1,1)*255);
RVIN_img(i,j)
=
rand_num;
end
end
end
noise_density
=
noise_num/(M*N);
noise_map
=
zeros(M,N);
noise_map
=
RVIN_img-init_img~=0;
noise_total
=
sum(noise_map(:));
end
3 仿真结果
4 参考文献
[1]郑明言. 一种小波域多方向自适应加权伪中值滤波算法[J]. 红外技术, 2014, 36(9):6.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。
-
2023年血糖新标准公布,不是3.9-6.1,快来看看你的血糖正常吗? 2023-02-07
-
2023年各省最新电价一览!8省中午执行谷段电价! 2023-01-03
-
GB 55009-2021《燃气工程项目规范》(含条文说明),2022年1月1日起实施 2021-11-07
-
PPT导出高分辨率图片的四种方法 2022-09-22
-
2023年最新!国家电网27家省级电力公司负责人大盘点 2023-03-14
-
全国消防救援总队主官及简历(2023.2) 2023-02-10
-
盘点 l 中国石油大庆油田现任领导班子 2023-02-28
-
我们的前辈!历届全国工程勘察设计大师完整名单! 2022-11-18
-
关于某送变电公司“4·22”人身死亡事故的快报 2022-04-26
