matlab均值滤波实现
一、噪声添加
椒盐噪声:
I_noise=double(imnoise(I,'salt & pepper',0.02));%后面0.02为参数
高斯噪声:
I_noise=double(imnoise(I,'gaussian',0.02));
二、均值滤波原理
主要思想为邻域平均法,即用几个像素灰度的平均值来代替每个像素的灰度。有效抑制加性噪声。
缺点:容易引起图像模糊,可以对其进行改进,主要避开对景物边缘的平滑处理。
原像素值:
|1|2|3|
|4|5|6|
|7|8|9|
均值后:(123456789去均值为5,放在中心位置,由此可见均值滤波会忽略掉四周的像素值,四周会变得模糊)
| | | |
| |5| |
| | | |
以下代码分别添加了 高斯噪声和椒盐噪声 然后进行均值滤波处理
- 对椒盐噪声的各种均值滤波处理
%均值滤波
%椒盐噪声部分
figure(2);
%显示原图
subplot(2,3,1);
imshow(I,[]);%[]自动产生适当的比例显示图像
title('原图');
%添加椒盐信号
subplot(2,3,2);
I_noise=double(imnoise(I,'salt & pepper',0.02));%salt & pepper注意中间的空格 无空格报错
imshow(I_noise,[]);title('椒盐噪声');
%均值滤波
subplot(2,3,3);
I_3=fspecial('average',[3,3]);%3*3均值滤波
I_3=imfilter(I_noise,I_3);
imshow(I_3,[]);title('3*3算数均值滤波');
subplot(2,3,4);
I_=exp(imfilter(log(I_noise),fspecial('average',3)));%算数均值滤波
imshow(I_,[]);title('3*3几何均值滤波');subplot(2,3,5);
Q=-1.5;
I_mean=imfilter(I_noise.^(Q+1),fspecial('average',3))./imfilter(I_noise.^Q,fspecial('average',3));
imshow(I_mean,[]);title('Q=-1.5逆谐波滤波器滤波');subplot(2,3,6);
Q=1.5;
I_mean=imfilter(I_noise.^(Q+1),fspecial('average',3))./imfilter(I_noise.^Q,fspecial('average',3));
imshow(I_mean,[]);title('Q=-1.5逆谐波滤波器滤波')
2. 对高斯噪声的各种均值滤波处理
%%均值滤波
%高斯噪声部分
clc;clear;
I=imread('1.jpg');
I=im2double(I);
I=rgb2gray(I);
%MappedData = mapminmax(I ,0, 255)
h=figure(1);
%显示原图
subplot(2,3,1);
imshow(I,[]);%[]自动产生适当的比例显示图像
title('原图');
%添加高斯噪声
subplot(2,3,2);
I_noise=double(imnoise(I,'gaussian',0.02));%salt & pepper注意中间的空格 无空格报错
imshow(I_noise,[]);title('高斯噪声');
%均值滤波
subplot(2,3,3);
I_3=fspecial('average',[3,3]);%3*3均值滤波 建立预定义的滤波算子
I_3=imfilter(I_noise,I_3);%(待处理矩阵,滤波器)
imshow(I_3,[]);title('3*3均值滤波');
subplot(2,3,4);
I_=exp(imfilter(log(I_noise),fspecial('average',3)));%算数均值滤波
imshow(I_,[]);title('3*3几何均值滤波');
subplot(2,3,5);
Q=-1.5;
I_mean=imfilter(I_noise.^(Q+1),fspecial('average',3))./imfilter(I_noise.^Q,fspecial('average',3));
imshow(I_mean,[]);title('Q=-1.5逆谐波滤波器滤波');
subplot(2,3,6);
Q=1.5;
I_mean=imfilter(I_noise.^(Q+1),fspecial('average',3))./imfilter(I_noise.^Q,fspecial('average',3));
imshow(I_mean,[]);title('Q=1.5逆谐波滤波器滤波');
均值滤波方法二:https://wenku.baidu.com/view/bef73431366baf1ffc4ffe4733687e21af45ff14.html
- 函数说明
imfilter函数:
功能:对任意类型数组或者图像进行滤波,或者理解为建立一个自定义功能的类型滤波器(个人理解,不知道对否)。
意义:
imfilter(img,filter);
img:带处理矩阵
filter: 滤波器
其他详解:https://blog.csdn.net/zhuwei0710/article/details/68169317fspecial函数:
建立预处理的预定义的滤波算子
https://blog.csdn.net/hustrains/article/details/9153553
结果分析
4.1、对高斯噪声图像进行滤波:
总体来说两个逆谐波均值滤波器的去噪小效果不如均值滤波器滤波的效果。算数均值滤波会使得图像边界变得模糊,而几何均值滤波不会导致此问题。
原因是:算术均值滤波器的将多个像素的灰度值线性平均,用均值来代替各个像素值,会导致边界图像模糊。采用线性的方法,平均整个窗口范围内的像素值,它不能很好地保护图像细节,在图像去噪的同时也破坏了图像的细节部分,从而使图像变得模糊,不能很好地去除噪声点。4.2、对椒盐噪声图像进行滤波:
算数均值滤波对椒盐噪声的去除效果较好;Q=-1.5的逆谐波滤波器留下了黑色的胡椒噪声,而Q=1.5的逆谐波滤波器留下了白色的盐噪声。均值滤波对高斯噪声表现较好,对椒盐噪声表现较差。
原理:对于“胡椒”噪声应该采用Q值为正值的滤波器去噪,而用Q值为负值的滤波器对“盐”噪声进行去噪。
matlab均值滤波实现相关推荐
- matlab 均值滤波_数字图像处理基础 — 高斯滤波
高斯滤波,本文主要讲其如何通过C语言实现.不太擅长写理论性质的文章,这里仅仅阐述自己怎么实现以及简单的优化过程. 通常我们对获取的图像进行进一步处理时,往往需要先进行一次降噪,而通常我们选择的是高斯滤 ...
- matlab均值滤波,中值滤波
滤波核3×3的均值滤波. F=imread('D:\Desktop\66.png'); F=rgb2gray(F); f=double(F); [row,col]=size(f); f1=zeros( ...
- matlab均值滤波 工频干扰,为什么会有工频干扰_工频干扰产生原因及解决方案
描述 工频干扰使我们在开发设计之中常见的现象,工频干扰为何会产生?如何解决呢?下文给你带来详细介绍. 工频干扰产生原因 示波器的低频输入阻抗是很高的.对于高频信号,由于输入电容的容抗下降,输入阻抗就会 ...
- matlab调和均值滤波_matlab均值滤波(原创).doc
matlab均值滤波(原创) clear all;close all;P=input('input picture data:');d=size(P);if(d(3)>1) P=rgb2gray ...
- 平滑均值滤波讲解-Matlab
具体说明参考上一篇文章: Matlab代码: %平滑均值滤波-Lab10 file='Datanog7'; x=importdata([file,'/A_x.txt']); subplot(2,1,1 ...
- 非局部相似性 matlab,非局部均值滤波(NLM)和MATLAB程序详解视频教程保持图像细节...
[内容简介]<非局部均值滤波与应用和MATLAB程序详解视频>共6章28节视频,总学时698分钟,合11.6小时.主要内容包括:非局部均值滤波类算法入门,基于滤波参数自适应的非局部均值滤波 ...
- 均值滤波、中值滤波【MATLAB】【图像处理】
1. 均值滤波:即线性滤波,有: a.邻域平均, b. 加权平均两种. a. 邻域平均:用一个像素邻域平均值作为滤波结果,此时滤波器模板的所系数都取1,为保证输出图仍在原来的灰度值范围,在算得R后要 ...
- 详解非局部均值滤波原理以及用MATLAB源码实现
详解非局部均值滤波原理以及用MATLAB源码实现 序言 均值滤波.中值滤波.高斯滤波在滤除噪声的过程中,无可避免的使图像的边缘细节和纹理信息所被滤除.针对此问题,Buades[1]等人提出了非局部均值 ...
- 第七周作业:matlab分别对图片加入高斯噪音和椒盐噪音,然而利用均值滤波和中值滤波分别对上述两种噪音进行去噪。
文章目录 题目 原图 1.添加椒盐噪声 2.添加高斯噪声 3.均值滤波处理椒盐噪声 4.中值滤波处理椒盐噪声 5.均值滤波处理高斯噪声 6.中值滤波处理高斯噪声 题目 利用MATLAB编程,制作一张照 ...
- 基于MATLAB的图像平滑滤波降噪(去噪)系统(通信毕业设计)(中值滤波,维纳滤波,小波降噪,均值滤波,椒盐噪声)
基于MATLAB GUI的平滑滤波降噪系统设计 此系统可以作为毕业设计,可以尝试在此基础上稍微可以加一些其他方法. 此系统设计了GUI界面,首先点击打开图像来导入图像,再加入不同的噪声,用多种方法来降 ...
最新文章
- 几款高压、高阻电阻测试
- Python实例 遍历文件夹和文件
- 一起来开发Android的天气软件(三)——使用Volley实现网络通信
- 循环冗余校验码CRC,求解步骤
- SMMS 2016 啟用深色主題
- 洛谷 P1396 营救
- JSP和Servlet
- Leetcode Trie Conclusion
- 谈谈互动型网站中垃圾贴的应对方案,互联网营销
- CSDN 社区内容创作规范
- r语言爬虫和python爬虫哪个好-R语言爬虫常用方法总结(以案例说明)
- 斑马打印机驱动安装(ZT410)
- Android Camera 实时滤镜(五)
- 长文回顾NIPS大会最精彩一日:AlphaZero遭受质疑;NIPS史上第一场正式辩论和LeCun的激情抗辩/据理力争;元学习深度强化学习亮点复盘。
- JavaFX简单音乐播放器
- android studio 运行按钮为灰色的解决办法之一
- 韦根读卡电路c语言程序,RFID读卡模块电路图、PCB源文件 125K RFID读卡模块 - 下载 - 搜珍网...
- C语言 输入三个字符串,由小到大输出
- VisualStudio 调试时会不断刷新 WPF 应用渲染
- 《Visual C++ 2010入门教程》