Matlab fspecial和imfilter对图像进行空间滤波
2015-09-23 20:36
531 查看
对图像空间滤波,简单点理解就是通过利用滤波器模板对图像像素进行操作,从而实现滤波功能。
这里介绍matlab中几个相关函数:
imnoise(I,type…):为图像I添加type类型的噪声;
type有以下一些类型: ‘gaussian’ ‘localvar’ ‘poisson’ ‘salt & pepper’ ‘speckle’ ,各类型都有相关参数;
fspecial(type):创建type类型的二维滤波器模板;
type有下面一些类型: ‘average’ ‘disk’ ‘gaussian’ ‘laplacian’ ‘log’ ‘motion’ ‘prewitt’ ‘sobel’
每一种类型都具有其各自的参数设置,详细查看>>help fspecial;
imfilter(A,H,OPTION1,OPTION2,…) : 对图像进行滤波处理,A为原图像,H为滤波模板,OPTION1等为参数选项,可以设置边界,尺寸和模式等;
medfilt2(A,[ ]): 中值滤波,A为图像,[ ]代表滤波模板大小,默认为3*3;
简单应用:
这里介绍matlab中几个相关函数:
imnoise(I,type…):为图像I添加type类型的噪声;
type有以下一些类型: ‘gaussian’ ‘localvar’ ‘poisson’ ‘salt & pepper’ ‘speckle’ ,各类型都有相关参数;
fspecial(type):创建type类型的二维滤波器模板;
type有下面一些类型: ‘average’ ‘disk’ ‘gaussian’ ‘laplacian’ ‘log’ ‘motion’ ‘prewitt’ ‘sobel’
每一种类型都具有其各自的参数设置,详细查看>>help fspecial;
imfilter(A,H,OPTION1,OPTION2,…) : 对图像进行滤波处理,A为原图像,H为滤波模板,OPTION1等为参数选项,可以设置边界,尺寸和模式等;
medfilt2(A,[ ]): 中值滤波,A为图像,[ ]代表滤波模板大小,默认为3*3;
简单应用:
I = imread('F:\Myfile\Matlab\Test_picture\0_1.jpg'); I1 = imnoise(I,'gaussian',0,0.01); %添加均值为0,方差为0.01的高斯噪声 h1 = fspecial('average',[5,5]); %大小为5*5的平滑滤波模板 h2 = fspecial('gaussian',[5,5],0.2);%大小为5*5,sigma为0.2的高斯滤波模板 Ia = imfilter(I1,h1,'replicate','same','corr'); %滤波 Ib = imfilter(I1,h2); %默认参数滤波 Ic = medfilt2(I1,[5,5]); %中值滤波 %显示 subplot(2,3,1);imshow(I);title('I,origin'); subplot(2,3,2);imshow(I1);title('I1,gaussian noise'); subplot(2,3,4);imshow(Ia);title('Ia,average'); subplot(2,3,5);imshow(Ib);title('Ib,gaussian'); subplot(2,3,6);imshow(Ic);title('Ic,med');
相关文章推荐
- 图像灰度化的三种方法及matlab,c++,python实现
- matlab路径及其文件问题
- matlab获取函数参数数目nargout与nargin
- matlab对于文本文件(txt)数据读取
- matlab的xml操作
- matlab plot绘图
- 【Retinex】【Frankle-McCann Retinex】matlab代码注释
- 【Matlab学习笔记】【函数学习】cat函数
- MATLAB画三维红心源代码
- matlab的excel的读和写(生成脚本m文件)
- matlab矩阵函数操作
- matlab的元胞和结构体
- matlab数据类型操作
- Matlab 图像灰度变换
- Matlab-图像直方图函数imhist详解
- 12.matlab数据的导入和导出,以matlab工作区workspace为source和destination
- 深度学习Matlab工具箱代码详解
- MATLAB使用笔记
- [转载]Matlab fmincon函数用法
- 深度学习Matlab工具箱代码注释——cnnbp.m