MATLAB详解高斯噪声、椒盐噪声,简单实现图像的均值滤波、中值滤波并分析其有效性

本文主要是介绍MATLAB详解高斯噪声、椒盐噪声,简单实现图像的均值滤波、中值滤波并分析其有效性,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • 一、高斯噪声与椒盐噪声的基本特点
    • 二、使用Matlab的imnoise()函数为图像添加噪声
    • 三、使用imfilter()进行均值滤波处理
    • 四、使用medfilt3()进行中值滤波处理
    • 五、两种滤波处理高斯噪声、椒盐噪声效果对比
    • 六、参考代码

一、高斯噪声与椒盐噪声的基本特点

噪声类型基本特点滤波处理
高斯噪声噪声的概率密度函数服从高斯分布(即正态分布),即某个强度的噪声点个数最多,离这个强度越远噪声点个数越少。高斯噪声是一种加性噪声,即噪声直接加到原图像上,因此可以用线性滤波器滤除。使用均值滤波等线性滤波方法效果更佳
椒盐噪声由图像传感器、传输信道、解码处理等产生的黑白相间的亮暗点噪声,往往由图像切割引起。椒盐噪声是指两种噪声,盐噪声(高灰度噪声)、胡椒噪声(低灰度噪声)。同时出现时,在图像上呈现为黑白杂点使用中值滤波方法效果更佳

二、使用Matlab的imnoise()函数为图像添加噪声

在Matlab中使用imnoise函数可为图像加入不同类型的噪声,常用调用方法如下:J=imnoise(I,type,parameters)
其中,I指原图像,type指噪声类型,parameters指不同类型噪声的参数,J为添加噪声后的图像。

type的参数值代表的噪声
gaussian高斯噪声
salt & pepper (注意中间有空格)椒盐噪声
speckle乘法噪声
poission泊松噪声

三、使用imfilter()进行均值滤波处理

在Matlab中使用imfilter函数可对多维图像进行线性滤波处理,常用调用方法如下:
B = imfilter(A,H)
H=fspecial(‘average’,para)

其中,A指原图像,B为输出图像,H指滤波算子,‘average’指算子类型为均值,para是指定相应的参数,默认值为3。para的数值越大,均值滤波效果越显著,不过图像也会变得越模糊,测试后挑选一个合适的值即可。
均值滤波处理灰度图
均值滤波处理灰度图
均值滤波处理彩色图像
均值滤波处理彩色图像

四、使用medfilt3()进行中值滤波处理

在Matlab中使用medfilt3函数可对多维图像进行中值滤波处理,常用调用方法如下:
B = medfilt3(A)
其中,A指原图像,B为输出图像。
中值滤波处理灰度图
中值滤波处理灰度图
中值滤波处理彩色图像
中值滤波处理彩色图像

五、两种滤波处理高斯噪声、椒盐噪声效果对比

1.使用均值滤波、中值滤波处理椒盐噪声
使用均值滤波、中值滤波处理椒盐噪声
使用均值滤波、中值滤波处理椒盐噪声
2.使用均值滤波、中值滤波处理高斯噪声
使用均值滤波、中值滤波处理高斯噪声**
使用均值滤波、中值滤波处理高斯噪声

  1. 根据以上图片对比可知,用均值滤波处理高斯噪声,中值滤波处理椒盐噪声效果更显著,不过在用中值滤波处理彩色图像时可能会出现图像颜色变浅的现象。当然啦,这或许和具体的滤波算法有关。
  2. 至于为什么用中值滤波处理椒盐噪声效果更好,可以这么理解,椒盐噪声只影响了图片的部分像素点而不是全部像素点,使用中值滤波方法正好排除了被噪声影响的像素点(被椒盐噪声影响的像素点表现为灰度值255的盐噪点和灰度值0的胡椒噪点),而均值滤波方法采用了包含噪声像素点在内的所有像素点的平均值,效果自然不如中值滤波。
  3. 高斯噪声影响了图片的全部像素点,如果只用像素中的中间值来替代所有像素点,会损失掉其他同样受噪声影响的像素点信息,效果不如采用所有像素点平均值的均值滤波。

六、参考代码

imread()内为所需处理的图片路径,具体代码如下:

A=imread('D:\matlab\Fig1119(a).tif');
figure('name','对高斯噪声进行滤波处理')
subplot(2,2,1)
imshow(A)
title('原图像')
subplot(2,2,2)
B=imnoise(A,'gaussian',0,0.03);
imshow(B)
title('高斯噪声图像')
subplot(2,2,3)
C=imfilter(B,fspecial('average',3));
imshow(C,[])
title('均值滤波处理')
subplot(2,2,4)
D=medfilt3(B);
imshow(D,[])
title('中值滤波处理')

这篇关于MATLAB详解高斯噪声、椒盐噪声,简单实现图像的均值滤波、中值滤波并分析其有效性的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/391143

相关文章

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

基于人工智能的图像分类系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 图像分类是计算机视觉中的一个重要任务,目标是自动识别图像中的对象类别。通过卷积神经网络(CNN)等深度学习技术,我们可以构建高效的图像分类系统,广泛应用于自动驾驶、医疗影像诊断、监控分析等领域。本文将介绍如何构建一个基于人工智能的图像分类系统,包括环境

hdu1043(八数码问题,广搜 + hash(实现状态压缩) )

利用康拓展开将一个排列映射成一个自然数,然后就变成了普通的广搜题。 #include<iostream>#include<algorithm>#include<string>#include<stack>#include<queue>#include<map>#include<stdio.h>#include<stdlib.h>#include<ctype.h>#inclu

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

csu 1446 Problem J Modified LCS (扩展欧几里得算法的简单应用)

这是一道扩展欧几里得算法的简单应用题,这题是在湖南多校训练赛中队友ac的一道题,在比赛之后请教了队友,然后自己把它a掉 这也是自己独自做扩展欧几里得算法的题目 题意:把题意转变下就变成了:求d1*x - d2*y = f2 - f1的解,很明显用exgcd来解 下面介绍一下exgcd的一些知识点:求ax + by = c的解 一、首先求ax + by = gcd(a,b)的解 这个

hdu2289(简单二分)

虽说是简单二分,但是我还是wa死了  题意:已知圆台的体积,求高度 首先要知道圆台体积怎么求:设上下底的半径分别为r1,r2,高为h,V = PI*(r1*r1+r1*r2+r2*r2)*h/3 然后以h进行二分 代码如下: #include<iostream>#include<algorithm>#include<cstring>#include<stack>#includ

Open3D 基于法线的双边滤波

目录 一、概述 1.1原理 1.2实现步骤 1.3应用场景 二、代码实现 2.1关键函数 输入参数: 输出参数: 参数影响: 2.2完整代码 三、实现效果 3.1原始点云 3.2滤波后点云 Open3D点云算法汇总及实战案例汇总的目录地址: Open3D点云算法与点云深度学习案例汇总(长期更新)-CSDN博客 一、概述         基于法线的双边

OpenHarmony鸿蒙开发( Beta5.0)无感配网详解

1、简介 无感配网是指在设备联网过程中无需输入热点相关账号信息,即可快速实现设备配网,是一种兼顾高效性、可靠性和安全性的配网方式。 2、配网原理 2.1 通信原理 手机和智能设备之间的信息传递,利用特有的NAN协议实现。利用手机和智能设备之间的WiFi 感知订阅、发布能力,实现了数字管家应用和设备之间的发现。在完成设备间的认证和响应后,即可发送相关配网数据。同时还支持与常规Sof

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi