【图像去噪】带脉冲检测器通用噪声图像去噪(含PSNR)【含Matlab源码 3632期】

在这里插入图片描述

⛄一、图像去噪及滤波简介

1 图像去噪
1.1 图像噪声定义
噪声是干扰图像视觉效果的重要因素,图像去噪是指减少图像中噪声的过程。噪声分类有三种:加性噪声,乘性噪声和量化噪声。我们用f(x,y)表示图像,g(x,y)表示图像信号,n(x,y)表示噪声。
图像去噪是指减少数字图像中噪声的过程。现实中的数字图像在数字化和传输过程中常受到成像设备与外部环境噪声干扰等影响,称为含噪图像或噪声图像。去噪是图像处理研究中的一个重点内容。在图像的获取、传输、发送、接收、复制、输出等过程中,往往都会产生噪声,其中的椒盐噪声是比较常见的一种噪声,它属于加性噪声。

1.2 图像噪声来源
(1)图像获取过程中
图像传感器CCD和CMOS采集图像过程中受传感器材料属性、工作环境、电子元器件和电路结构等影响,会引入各种噪声。
(2)图像信号传输过程中
传输介质和记录设备等的不完善,数字图像在其传输记录过程中往往会受到多种噪声的污染。

1.3 噪声分类
噪声按照不同的分类标准可以有不同的分类形式:
基于产生原因:内部噪声,外部噪声。
基于噪声与信号的关系:
加性噪声:加性噪声和图像信号强度是不相关的,这类带有噪声的图像g可看成为理想无噪声图像f与噪声n之和:
g = f + n;
乘性嗓声:乘性噪声和图像信号是相关的,往往随图像信号的变化而变化,载送每一个象素信息的载体的变化而产生的噪声受信息本身调制。在某些情况下,如信号变化很小,噪声也不大。为了分析处理方便,常常将乘性噪声近似认为是加性噪声,而且总是假定信号和噪声是互相统计独立。
g = f + f*n
按照基于统计后的概率密度函数:
是比较重要的,主要因为引入数学模型这就有助于运用数学手段去除噪声。在不同场景下噪声的施加方式都不同,由于在外界的某种条件下,噪声下图像-原图像(没有噪声时)的概率密度函数(统计结果)服从某种分布函数,那么就把它归类为相应的噪声。下面将具体说明基于统计后的概率密度函数的噪声分类及其消除方式。

2 带脉冲检测器通用噪声图像去噪
基于小波分析的去噪方法可以用于带脉冲检测器通用噪声图像去噪。具体步骤如下:
(1)对含有噪声的图像进行小波变换,得到小波系数。
(2)对小波系数进行阈值处理,将小于阈值的系数置为0,大于阈值的系数保留。
(3)对处理后的小波系数进行反变换,得到去噪后的图像。

⛄二、部分源代码

clc;
clear;

% noise parameters
p = 0.04; % probability of impulse noise
stdev = 10; % gaussian noise standard deviation [0, 255]
stdev = stdev/255; % normalized standard deviation [0, 1]

% filter parameters
nbd = 2; % neighbourhood size : (2nbd + 1)X(2nbd + 1)
s_s = 0.7;
s_i = 25;
s_j = 50;

img_orig = imread(“lena.tif”);
[M,N] = size(img_orig);
img_noisy = impulseNoise(img_orig,p);
img_noisy = gaussian_noise(img_noisy,stdev);

tgt = UNF_filter(img_noisy,nbd,s_s,s_i,s_j);
s_s = 4;
tgt = UNF_filter(tgt,nbd,s_s,s_i,s_j);
median_filtered = my_median_filter(img_noisy,1);

PSNR_noisy = 10log10(255255MN/sum((double(img_orig)-double(img_noisy)).^2,“all”));
PSNR_UNF = 10log10(255255MN/sum((double(img_orig)-double(tgt)).^2,“all”));
PSNR_median = 10log10(255255MN/sum((double(img_orig)-double(median_filtered)).^2,“all”));

figure;
subplot(1,2,1);
imshow(tgt);
title(sprintf(“UNF filtered PSNR = %0.2f”,PSNR_UNF));
subplot(1,2,2);
imshow(median_filtered);
title(sprintf(“median filtered PSNR = %0.2f”,PSNR_median));
shg;

% original noisy and UNF
% figure;
% subplot(1,3,1);
% imshow(img_orig);
% title(“original”);
% subplot(1,3,2);
% imshow(img_noisy);
% title(sprintf(“p = %0.2f %%”,p*100));
% subplot(1,3,3);
% imshow(tgt);
% title(sprintf(“UNF filtered PSNR = %0.2f”,PSNR_UNF));
% shg;

⛄三、运行结果

在这里插入图片描述

⛄四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1] 蔡利梅.MATLAB图像处理——理论、算法与实例分析[M].清华大学出版社,2020.
[2]杨丹,赵海滨,龙哲.MATLAB图像处理实例详解[M].清华大学出版社,2013.
[3]周品.MATLAB图像处理与图形用户界面设计[M].清华大学出版社,2013.
[4]刘成龙.精通MATLAB图像处理[M].清华大学出版社,2015.
[5]基于matlab的传统算法图像去噪的实现原理

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

  • 18
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Matlab领域

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值