imfilter与fspecial imfilter函数

功能:对任意类型数组或多维图像进行滤波。用法:B =imfilter(A,H)
imfilter与fspecial imfilter函数
   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 ofsize

HSIZE. HSIZE can be a vector specifying the number of rows andcolumns 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 averagingfilter

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

The default RADIUS is 5.

3、'gaussian'

Gaussian lowpass filter

为高斯低通滤波,有两个参数,hsize表示模板尺寸,默认值为【33】,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 specifyingthe

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

square matrix.

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

4、'laplacian' filter approximating the 2-D Laplacianoperator

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

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

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表示模板尺寸,默认值为【33】,sigma为滤波器的标准差,单位为像素,默认值为0.5.

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

Laplacian of Gaussian filter of size HSIZE with standarddeviation

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

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

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 toapproximate, once

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

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 toa

horizontal motion of 9 pixels.

7、'prewitt'

Prewitt horizontal edge-emphasizing filter

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

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

horizontal edges by approximating a vertical gradient. If youneed 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 approximatinga

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 unsharpcontrast

enhancement filter. FSPECIAL creates the unsharp filter fromthe

negative of the Laplacian filter with parameter ALPHA. ALPHAcontrols

the shape of the Laplacian and must be in the range 0.0 to1.0.

The default ALPHA is 0.2

  

爱华网本文地址 » http://www.413yy.cn/a/25101016/308306.html

更多阅读

函数COUNT与COUNTA的区别 excel count和counta

函数COUNT与COUNTA的区别——简介COUNT与COUNTA经常用在Excel统计参数列表中指定项个数的情景中。而两者也是存在这差别的,如果不注意的话,这两个函数就容易搞混;这两个函数应该说很简单,也比较容易掌握,但大多数人可能只知COUNT不知COUN

backtrace函数与堆栈 函数调用堆栈

一般察看函数运行时堆栈的方法是使用GDB之类的外部调试器,但是,有些时候为了分析程序的BUG,(主要针对长时间运行程序的分析),在程序出错时打印出函数的调用堆栈是非常有用的。在头文件"execinfo.h"中声明了三个函数用于获取当前线程

声明:《imfilter与fspecial imfilter函数》为网友落叶数思念分享!如侵犯到您的合法权益请联系我们删除