数字图像处理与分析(matlab实现)——实现空域线性及非线性低通平滑滤波
空域低通滤波
将空间域模板用于图像处理,通常称为空间滤波,而空间域模板称为空间滤波器。
空间域滤波按线性和非线性特点有:线性、非线性平滑滤波器。线性滤波在消除图像噪声的同时也会模糊图像的细节,利用非线性平滑滤波可在消除图像中噪声的同时较好的保持图像的细节。
线性平滑滤波器包括邻近域平均法。非线性平滑滤波器有中值滤波器。
平滑滤波:平滑滤波能减弱或消除图像中高频率的分量,但不影响低频率的分量。因为高频分量对应图像中的区域边缘等灰度值具有较大、变化较快的部分,平滑滤波将这个分量滤除可以减少局部灰度的起伏,使图像变得平滑。经常用于模糊处理和减小噪声。
- 邻域平均法
邻域平均法的思想是用像素及其指定邻域内像素的平均值或加权平均值作为该像素的新值,以便去除突变的像素点,从而滤除一定的噪声。邻域平均法的数学含义可用下式表示:
式中:x,y =0,1,2,…,N-1;S为(x,y)点邻域中到的坐标集合,但其中不包括(x,y)点;M为集合坐标点的总数。
邻域平均法中常用的模板是(线性平滑滤波所用的卷积模板均为正值):
邻域平均处理方法是以图像模糊为代价来减小噪声的,且模板尺寸越大,噪声减小的效果越显著,灰度突变的边缘图像更模糊。
- 中值滤波器
中值滤波的算法原理是,首先确定一个奇数像素的窗口W,窗口内各像素按灰度大小排队后,用其中间位置的灰度值代替原f(x,y)灰度值成为窗口中心的灰度值g(x,y)。数学含义可用下式表示:
式中:W为选定窗口大小,f(m-i,n-j)为窗口W的像素灰度值。通常窗内像素为奇数,以便于有中间像素。若窗内像素为偶数时,则中值取中间两像素灰度值的平均值。
给选定的图像加上椒盐噪声、高斯噪声
P=rgb2gray(imread('E:\文本文件\作业\数字图像处理与分析\camema.jpg'));
noise_bl=imnoise(P,'salt & pepper',0.1); %添加椒盐噪声
noise_gs=imnoise(P,'gaussian'); %添加高斯噪声
subplot(131),imshow(P),title('原图'); %一行三列第一个显示原图
subplot(132),imshow(noise_bl),title('添加椒盐噪声'); %一行三列第二个显示添加椒盐噪声图像
subplot(133),imshow(noise_gs),title('添加高斯噪声'); %一行三列第三个显示添加高斯噪声图像
运行结果如下:
( 1 )邻域平均法
- 用P=imread('E:\文本文件\作业\数字图像处理与分析\camema.jpg')读取图像转化为二维矩阵;
- 用noise_jy=imnoise(P,’salt & pepper’,0.1);得到椒盐噪声图像
- 用noise_gs=imnoise(P,’gaussian’);得到高斯噪声图像
- 用 h1=fspecial(‘average’) 得到默认的h为3x3的邻域平均模板
- 用 h2=fspecial(‘average’,7])得到h为7x7的邻域平均模板。
- P1=imfilter(P,h1) 进行3x3模板的平滑处理
- P2=imfilter(P,h2) 进行7x7模板的平滑处理
- 相同函数对椒盐噪声图片和高斯噪声图片进行平滑处理
- 显示原图和处理后的图片
代码如下:
clear;close all;clc;
P=rgb2gray(imread('E:\\作业\数字图像处理与分析\图片\camema.jpg')); %读取图像并转为灰色图像
noise_jy=imnoise(P,'salt & pepper',0.1); %添加椒盐噪声
noise_gs=imnoise(P,'gaussian'); %添加高斯噪声
h1=fspecial('average'); % 产生3x3的默认均值模板
h2=fspecial('average',7); % 产生7x7的均值模板
P1=imfilter(P,h1); %进行3*3模板的均值滤波处理
P2=imfilter(P,h2); %进行7*7模板的均值滤波处理
B1=imfilter(noise_jy,h1); %3x3模板均值滤波处理椒盐噪声图片
B2=imfilter(noise_gs,h1); %3x3模板均值滤波处理高斯噪声图片
subplot(3,3,1),imshow(P),title('原图');
subplot(3,3,2),imshow(noise_jy),title('添加椒盐噪声');
subplot(3,3,3),imshow(noise_gs),title('添加高斯噪声');
subplot(3,3,4);imshow(P1);title('3*3 均值滤波处理原图后的图像 ');
subplot(3,3,5);imshow(B1);title('3*3 均值滤波处理椒盐噪声图片后的图像 ');
subplot(3,3,6);imshow(B2);title('3*3 均值滤波处理高斯噪声图片后的图像 ');
subplot(3,3,7);imshow(P2);title('7*7 均值滤波处理原图后的图像 ');
运行结果如下:
原 图
添加椒盐噪声图
添加高斯噪声图
3*3均值处理椒盐噪声图
3*3均值处理高斯噪声图
3*3均值处理原图
7*7均值处理原图
( 2 )中值滤波
中值滤波的基本步骤是:
(1)将模板在图中漫游,并将模板中心与图中某个像素位置重合;
(2)读取模板下各对应像素的灰度值;
(3)将这些灰度值从小到大排成一列;
(4)找出这些灰度值里排在中间的一个;
(5)将这个中间值赋给对应模板中心位置的像素。
选定了一幅二维图像,分别加入椒盐噪声和高斯噪声,均是期望为 0 ,椒盐噪声方差为 0.1 。然后利用中值滤波法进行滤波去噪。 Matlab 自带了中值滤波的函数,因此较为便捷。
①用P=imread(’图片位置’)与读取图像;
②用noise_jy=imnoise(P,’salt & pepper’,0.1);得到椒盐噪声图像
③用noise_gs=imnoise(P,’gaussian’);得到高斯噪声图像
④用 h1= medfilt2(noise_jy,[5,5] ); 对有椒盐噪声图像进行5×5方形窗口中值滤波
⑤相同函数对高斯噪声图片进行平滑处理
⑥显示原图和处理后的图片
代码如下:
clear;close all;clc;
P=rgb2gray(imread('E:\文本文件\作业\数字图像处理与分析\图片\camema.jpg'));
noise_jy=imnoise(P,'salt & pepper',0.1); %添加椒盐噪声
noise_gs=imnoise(P,'gaussian'); %添加高斯噪声
h1= medfilt2(noise_jy,[5,5] ); %对有椒盐噪声图像进行5×5方形窗口中值滤波
h2= medfilt2(noise_gs,[5,5] ); %对有高斯噪声图像进行5×5方形窗口中值滤波
subplot(2,3,1),imshow(P),title('原图');
subplot(2,3,2),imshow(noise_jy),title('添加椒盐噪声');
subplot(2,3,3),imshow(noise_gs),title('添加高斯噪声');
subplot(2,3,5);imshow(h1);title('中值滤波处理椒盐噪声图片后的图像 ');
subplot(2,3,6);imshow(h2);title('中值滤波处理高斯噪声图片后的图像 ');
运行结果如下:
原图
添加椒盐噪声图
添加高斯噪声图
中值滤波处理椒盐噪声图
中值滤波处理高斯噪声图
比较处理后的图像结果可知:
(1)邻域平均法的平滑效果与所采用邻域的编辑有关,模板尺寸越大,则图像的模糊程度越大;此时消除噪声的效果也将增强,但同时所得到的图像将变得更模糊;
(2)加入椒盐噪声的图呈现出随机分布的黑白斑点,用均值滤波后,噪声并未消除多少,且图片反而变得更加模糊了,而经过中值滤波器之后噪声不但得到了有效的消除,同时图片也并没怎么模糊。
数字图像处理与分析(matlab实现)——实现空域线性及非线性低通平滑滤波相关推荐
- 【数字图像处理2.1 】频率域中的 高通滤波 和 低通滤波 Python+Opencv+Numpy
文章目录 前言 1.实验目的 2.频率域中高通.低通的效果图 3.代码 4.空间域滤波 与 频率域滤波比较 (1).回顾空间滤波 (2).相同点: (3).不同点: (4).二者关系: 前言 1.图像 ...
- 数字图像处理考点分析(一)
数字图像的基本概念 文章目录 数字图像的基本概念 数字图像处理基础 图像的采样和量化 数字图像的格式 数字图像的质量 像素间的基本关系 彩色基础 Q: 什么是图像? 定义为一个二维函数f(x,y),其 ...
- matlab图像处理基础实验,数字图像处理实验报告 Matlab图像处理基础
<数字图像处理实验报告 Matlab图像处理基础>由会员分享,可在线阅读,更多相关<数字图像处理实验报告 Matlab图像处理基础(27页珍藏版)>请在人人文库网上搜索. 1. ...
- matlab数字图像实验报告,数字图像处理实验报告(matlab)
数字图像处理实验报告(matlab) 学院:自动化学院 班级:电081班 姓名:李林树 学号:40850099 2011年10月 实验一 直方图均衡化 一. 实验目的: 1. 熟悉图像数据在计算机中的 ...
- 《数字图像处理》冈萨雷斯matlab函数statmoments、计算均值和n阶中心矩,并返回行向量
<数字图像处理>冈萨雷斯matlab函数statmoments statmoments:计算均值和n阶中心矩,并返回行向量 ○ [v, unv] = statmoments(p,n) ○ ...
- 数字图像处理考点分析(六)
上一篇:数字图像处理考点分析(五) 介绍了图像的形态学处理方法,这一篇我们介绍图像压缩! 文章目录 图像压缩 1.概念 2. 无损压缩技术 2.1 一些基本概念 2.2 Huffman编码 2.3 香 ...
- 数字图像处理之在matlab中做彩色图像的加减乘除
数字图像处理之在matlab中做彩色图像的加减乘除 图像与数做运算 clc; clear all; A = imread('C:\Users\Administrator\Desktop\333.jpg ...
- Matlab语音信号去噪程序,使用低通巴特沃斯滤波器
Matlab语音信号去噪程序,使用低通巴特沃斯滤波器. 1.读取一段歌曲的信号,绘制时域频域图,并播放. 2.添加正弦噪声: 3.设计巴特沃斯低通滤波器: 4.使用滤波器去除噪声,并画出时域频域图,播 ...
- 【数字图像处理】图像直方图均衡化、空域滤波(均值滤波、中值滤波)、图像锐化(Laplace算子)、图像傅里叶变换实验
图像直方图均衡化.空域滤波.图像锐化.图像傅里叶变换 一.图像直方图均衡化 二.图像空域滤波 1.均值滤波(滤波次数n→3) 2.中值滤波(滤波次数n→3) 3.图像锐化(Laplace算子) 三.图 ...
- 数字图像处理:基于MATLAB的车牌识别项目
学过了数字图像处理,就进行一个综合性强的小项目来巩固一下知识吧.前阵子编写调试了一套基于MATLAB的车牌识别的项目的代码.今天又重新改进了一下代码,识别的效果好一点了,也精简了一些代码.这里没有使用 ...
最新文章
- matlab arr3(5 end),matlab复习笔记.doc
- php artisan常用方法
- DevExpress的TextEdit限制输入内容的格式,比如只能输入数字
- firefox 39 linux,Mozilla Firefox 39.0 Beta 4 发布下载
- 阻塞队列BlockingQueue用法
- Ubuntu通过vnc连接Windows主机的问题解决
- HDU 2088 Box of Bricks
- C语言九九乘法表(五种输出形式)
- K8S集群Calico网络组件报错BIRD is not ready: BGP not established with
- JAVA开发的人力资源管理系统
- LoadRunner详细使用教程
- 三维重建(知识点详细解读、主要流程)
- Lonlife 1016 Change of Life
- 产品经理怎样提升自己的需求分析能力?
- django项目中使用crontab定时任务
- 网上交易的卫兵—数字证书和数字签名
- sklearn 随机森林(Random Forest)多分类问题
- 微信小程序真机调试功能失常
- Chrome 创建快捷方式后在单页面打开网页内容
- openstack restful api 使用
热门文章
- Mybatis框架Mybatis下载步骤
- rust腐蚀机场蓝卡_rust怎么弄蓝卡和红卡
- Hive从身份证号中提取相关信息_性别_年龄_出生日期_详细地址
- 电风扇标准集合(BS/EN/IEC/UL) - 安规+性能
- LVS(三)lvs+keeplive
- AutoCAD LT 2020 for Mac在升级了MacOS 11后打不开了怎么处理?那么教程来了哦
- 唐纳德 高德纳给年轻人的建议 Donald Knuth - My advice to young people
- 常见的协议号和端口号
- linux vim替换指定字符串
- 三端稳压7805和7905稳压原理及典型电路