功能:对任意类型数组或多维图像进行滤波。

用法:B = imfilter(A,H)
   B = imfilter(A,H,option1,option2,...)
   或写作g = imfilter(f, w, filtering_mode, boundary_options, size_options)
其中,f为输入图像,w为滤波掩模,g为滤波后图像。filtering_mode用于指定在滤波过程中是使用“相关”还是“卷积”。boundary_options用于处理边界充零问题,边界的大小由滤波器的大小确定。具体参数选项见下表:

  选项 描述
filtering_mode ‘corr’ 通过使用相关来完成,该值为默认。
  ‘conv’ 通过使用卷积来完成
boundary_options ‘X’ 输入图像的边界通过用值X(无引号)来填充扩展
其默认值为0
  ‘replicate’ 图像大小通过复制外边界的值来扩展
  ‘symmetric’ 图像大小通过镜像反射其边界来扩展
  ‘circular’ 图像大小通过将图像看成是一个二维周期函数的一个周期来扩展
size_options ‘full’ 输出图像的大小与被扩展图像的大小相同
  ‘same’ 输出图像的大小与输入图像的大小相同。这可通过将滤波掩模的中心点的偏移限制到原图像中包含的点来实现,该值为默认值。

举例:

originalRGB = imread('peppers.png');
imshow(originalRGB)
h = fspecial('motion', 50, 45);%创建一个滤波器
filteredRGB = imfilter(originalRGB, h);
figure, imshow(filteredRGB)

  

Matlab 的fspecial函数用法

fspecial函数用于建立预定义的滤波算子,其语法格式为:

h = fspecial(type)

h = fspecial(type,para)

其中type指定算子的类型,para指定相应的参数;

type的类型有:

1、'average'

averaging filter

为均值滤波,参数为hsize代表模板尺寸,默认值为【3,3】。

H = FSPECIAL('average',HSIZE) returns an averaging filter H of size

HSIZE. HSIZE can be a vector specifying the number of rows and columns in

H or a scalar, in which case H is a square matrix.

The default HSIZE is [3 3].

2、 'disk'

circular averaging filter

为圆形区域均值滤波,参数为radius代表区域半径,默认值为5.

H = FSPECIAL('disk',RADIUS) returns a circular averaging filter

(pillbox) within the square matrix of side 2*RADIUS+1.

The default RADIUS is 5.

3、'gaussian'

Gaussian lowpass filter

为高斯低通滤波,有两个参数,hsize表示模板尺寸,默认值为【3 3】,sigma为滤波器的标准值,单位为像素,默认值为0.5.

H = FSPECIAL('gaussian',HSIZE,SIGMA) returns a rotationally

symmetric Gaussian lowpass filter

of size HSIZE with standard

deviation SIGMA (positive). HSIZE can be a vector specifying the

number of rows and columns in H or a scalar, in which case H is a

square matrix.

The default HSIZE is [3 3], the default SIGMA is 0.5.

4、'laplacian' filter approximating the 2-D Laplacian operator

为拉普拉斯算子,参数alpha用于控制算子形状,取值范围为【0,1】,默认值为0.2.

H = FSPECIAL('laplacian',ALPHA) returns a 3-by-3 filter

approximating the shape of the two-dimensional Laplacian

operator. The parameter ALPHA controls the shape of the

Laplacian and must be in the range 0.0 to 1.0.

The default ALPHA is 0.2.

5、'log'

Laplacian of Gaussian filter

为拉普拉斯高斯算子,有两个参数,hsize表示模板尺寸,默认值为【3 3】,sigma为滤波器的标准差,单位为像素,默认值为0.5.

H = FSPECIAL('log',HSIZE,SIGMA) returns a rotationally symmetric

Laplacian of Gaussian filter of size HSIZE with standard deviation

SIGMA (positive). HSIZE can be a vector specifying the number of rows

and columns in H or a scalar, in which case H is a square matrix.

The default HSIZE is [5 5], the default SIGMA is 0.5.

6、'motion'

motion filter

为运动模糊算子,有两个参数,表示摄像物体逆时针方向以theta角度运动了len个像素,len的默认值为9,theta的默认值为0;

H = FSPECIAL('motion',LEN,THETA) returns a filter to approximate, once

convolved with an image, the linear motion of a camera by LEN pixels,

with an angle of THETA degrees in a counter-clockwise direction. The

filter becomes a vector for horizontal and vertical motions.

The

default LEN is 9, the default THETA is 0, which corresponds to a

horizontal motion of 9 pixels.

7、'prewitt'

Prewitt horizontal edge-emphasizing filter

用于边缘增强,大小为【3 3】,无参数

H = FSPECIAL('prewitt') returns 3-by-3 filter that emphasizes

horizontal edges by approximating a vertical gradient. If you need to

emphasize vertical edges, transpose the filter H: H'.

[1 1 1;0 0 0;-1 -1 -1].

8、'sobel'

Sobel horizontal edge-emphasizing filter

用于边缘提取,无参数

H = FSPECIAL('sobel') returns 3-by-3 filter that emphasizes

horizontal edges utilizing the smoothing effect by approximating a

vertical gradient. If you need to emphasize vertical edges, transpose

the filter H: H'.

[1 2 1;0 0 0;-1 -2 -1].

9、'unsharp'

unsharp contrast enhancement filter

为对比度增强滤波器。参数alpha用于控制滤波器的形状,范围为【0,1】,默认值为0.2.

H = FSPECIAL('unsharp',ALPHA) returns a 3-by-3 unsharp contrast

enhancement filter. FSPECIAL creates the unsharp filter from the

negative of the Laplacian filter with parameter ALPHA. ALPHA controls

the shape of the Laplacian and must be in the range 0.0 to 1.0.

The default ALPHA is 0.2

转载于:https://www.cnblogs.com/molakejin/p/5465998.html

paper 63 :函数比较:imfilter与fspecial相关推荐

  1. Matlab中fspecial函数 和imfilter函数的用法

    fspecial函数用于建立预定义的滤波算子,其语法格式为: h = fspecial(type) h = fspecial(type,para) 其中type指定算子的类型,para指定相应的参数: ...

  2. imfilter,conv,fspecial,imgaussfilt的区别

    1.高斯函数的几种使用 imgaussfilt直接对图片进行高斯滤波,相关设置包括 FilterSize - 高斯滤波器的大小 正奇整数 | 由正奇整数组成的二元素向量 Padding - 图像填充 ...

  3. imfilter函数详解

    [matlab函数描述] 功能:对任意类型数组或多维图像进行滤波. 用法:B = imfilter(A,H) B = imfilter(A,H,option1,option2,-) 或写作g = im ...

  4. 【Matlab】conv、filter、conv2、filter2和imfilter卷积函数总结

    [Matlab]conv.filter.conv2.filter2和imfilter函数总结 1. conv函数 作用: 1.计算一维向量卷积 u = [1 1 1]; v = [1 1 0 0 0 ...

  5. MATLAB--数字图像处理 fspecial()与imfilter()的使用

    fspecial()与imfilter()的使用 函数说明 fspecial(): h = fspecial(type) h = fspecial(type,para) 根据函数原型对fspecial ...

  6. matlab 卷积算子,matlab  矩阵卷积imfilter  conv2  filter 区别探究

    imfilter实现的是线性空间滤波: conv2是计算两个矩阵的二维卷积 1.MATLAB中提供了卷积运算的函数命令conv2,其语法格式为: C = conv2(A,B) C = conv2(A, ...

  7. 中值滤波时K = filter2(fspecial('average',3),img)/255,原因

    imshow是用来显示图片的,如 >> I = imread('lena.jpg'); >> figure,imshow(I);正常 为了把读取的图片信息转化为更高的精度, 加 ...

  8. 一些图像处理函数用法

    % imshow imshow是用来显示图片的,如 >> I = imread('moon.tif'); >> figure,imshow(I); 而有时为了数据处理,要把读取 ...

  9. matlab中的imshow函数使用

    转自 http://hi.baidu.com/redaiyu1989/item/3f39fe151b446fc039cb3087 网上搜的好东西 一些图像处理函数用法 % imshow imshow是 ...

  10. imfilter用法以及滤波讲解

    [matlab函数描述] 功能:对任意类型数组或多维图像进行滤波. 用法:B = imfilter(A,H) B = imfilter(A,H,option1,option2,-) 或写作g = im ...

最新文章

  1. 电阻存储器为edge-AI提供了仿生架构
  2. 《Excel 职场手册:260招菜鸟变达人》一第 20 招 怎样在单元格文字前加空白
  3. Java未被捕获的异常
  4. Vue+Spring boot前后端响应流程总结
  5. 丑数 Ugly Number
  6. php语言cookie,如何创建一个简单的PHP cookie语言切换?
  7. 字符串拼接在Oracle和mysql中的用法
  8. java根据模板导出pdf,java开发面试笔试题
  9. 现代ups电源及电路图集_不间断电源维修,服务靠谱
  10. Spring之对象依赖关系
  11. js能调用c语言吗,HTML页面,测试JS对C函数的调用
  12. oracle weblogic 补丁,Oralce weblogic 补丁下载方法
  13. 【物联网】阿里云iot物联网平台监控设备 在线离线状态 解决方案
  14. 经典文学之三:鲁迅·故乡
  15. 什么?你连个三色渐变圆角按钮都需要UI切图?
  16. pandas用法小结
  17. centos7下面php5.6添加postgresql相关扩展【试行】
  18. ctf pwn 萌新学习记录 基本rop(题目来自Wiki)
  19. 【原创】来自远方的“僵尸之手”
  20. 腾讯云服务器 linux系统 安装桌面环境

热门文章

  1. 小程序 switch 自定义_微信小程序自定义组件问题一:获取组件DOM元素
  2. 模拟串口收发数据Configure Virtual Serial Port Driver(VSPD)
  3. JAVA数组元素的遍历_Java数组元素的遍历
  4. Latex初学入门记载
  5. LINUX编译Android ffmpeg
  6. WINDOWS获得当前执行程序路径的办法
  7. 什么样的文档能够帮助理解代码
  8. docker 运行 php nginx_使用docker运行nginx
  9. win10 桌面的的文件都不见了 提示不注销保存都文件都为临时_Windows10隐藏的8个小技巧,每一个都非常实用又高效...
  10. 更改mysql默认连接数_修改mysql最大连接数