MATLAB数字图像处理(3)滤波
来源:互联网 发布:android chroot linux 编辑:程序博客网 时间:2024/05/22 15:26
滤波是图像处理中常用的技术,可以锐化图像、模糊图像、去除噪声、增强图像等等。这里只讲空间滤波,频率域滤波将在以后讲。
空间滤波:简单来说,是用一个模板(3x3矩阵、5x5矩阵…一般为奇数)扣在图像上,用模板中每一个元素对扣住的范围中对应的像素进行数学操作,将产生的数值赋给模板中心点所对应。
分类:线形空间滤波、非线形空间滤波。
线性空间滤波:基于计算乘积和(线形操作)的滤波。例如New=a*g1+b*g2+c*g3+d*g4+e*g5,这是一个线形操作。
非线性空间滤波:基于某种机制进行滤波,如中值滤波,对模板范围内的图像像素选取中间值,赋予中心点对应的像素。
线性空间滤波
这里必须要理解两个概念:相关和卷积。这两个在具体运算上与前面所有的空间滤波相同。两个在运算上的不同点是,卷积在进行运算前将模板旋转180度(逆、顺时针均可以)。卷积和相关的具体概念容易把人讲糊涂,这里只讲具体应用,只需要知道怎么运算的即可。
运算过程:
相关:R5(中心像素)=R1G1 + R2G2 + R3G3 + R4G4 + R5G5 + R6G6 + R7G7 + R8G8 + R9G9
卷积(模板又称核,旋转180度):
R5(中心像素)=R1G9 + R2G8 + R3G7 + R4G6+ R5G5 + R6G4 + R7G3 + R8G2 + R9G1
MATLAB中提供了函数imfilter()进行滤波操作。
g=imfilter(f,w,'replicate')
f是待处理的图像,w是滤波器,replicate指定通过复制图像边界外的值来扩展。MATLAB提供了函数fspecial(),生成各类二维线形滤波器,函数如下。
w=fspecial('type'parameters)
type滤波器的类型,parameters,可选参数。
下面来运行一下,看看如何应用和效果。
f=imread('1.jpg'); imshow(f),title('原图'); w=fspecial('average');%3x3(默认)均匀滤波器 f1=imfilter(f,w,'replicate'); figure,imshow(f1),title('线性滤波直方图');
非线性空间滤波
非线性空间滤波:基于设计滤波器保卫的邻域内的像素的非线性操作,例如,令每一个中心点响应等于邻域内最大的像素值。
对于非线性空间滤波,由于其规则太多如:取最大值,最小值,中值或者定义一个非线性函数进行运算。这里只讲最著名、常用的中值滤波。
中值滤波常会用在去除噪声上,特别是椒盐噪声。具体应用如下
f=imread('1.jpg');f=imnoise(f,'salt & pepper',0.2);g=medfilt2(f);g=medfilt2(f,'symmetric');subplot(1,2,1);imshow(f);title('噪声污染');subplot(1,2,2);imshow(g);title('中值滤波');
注:MATLAB提供了函数参数手册(help),点击?即可查询各种函数的用法。当然是纯英文的。以前看过一句话,想要学好计算机,英语一定要好好学,不然你可能连一个函数原型的英文帮助文档都看不懂。 - MATLAB数字图像处理(3)滤波
- 使用 matlab 数字图像处理(六)—— 空域滤波
- MATLAB数字图像处理(三)空间滤波
- Matlab数字图像 空间滤波
- 使用 matlab 数字图像处理(九)—— 去卷积(deconvolution,逆滤波复原)
- 数字图像处理,经典滤波算法去噪对比实验(Matlab实现)
- 使用 matlab 数字图像处理(十)—— 维纳滤波复原
- 171031 Matlab数字图像处理-02-灰度变换与空间滤波
- python数字图像处理(14):高级滤波
- python数字图像处理(14):高级滤波
- 数字图像处理 平滑滤波
- [数字图像处理]空间滤波
- 数字图像处理------中值滤波
- 数字图像处理--空间滤波
- Matlab数字图像处理基础【3】
- MATLAB数字图像处理(一)
- MATLAB数字图像处理(二)
- 数字图像处理—图像滤波(中值滤波)
- 机器学习算法-层次聚类AGNES
- IDA sp-analysis failed 不能F5的 解决方案
- 程序包databinding不存在的各种坑。
- Activiti工作流学习总结
- 直方图
- MATLAB数字图像处理(3)滤波
- 初测vgg16
- 一个男生如此深情却与我无关
- wxWidgets+CodeBlocks搭建环境
- c++拷贝构造函数(深拷贝,浅拷贝)详解
- linux下C实现客户端服务器通信框架
- 手机端下滑时隐藏标题栏
- 无法实现接口成员,因为它不是公共的-----------interface
- MOOC清华《VC++面向对象与可视化程序设计》第1章:空白窗口的创建(空项目)