Matlab圖像濾波imfilter與fspecial

http://blog.csdn.net/star_gdx/article/details/14523937

imfilter()

功能:對任意類型數組或多維圖像進行濾波

用法: 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)

 

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 filte
r

為高斯低通濾波,有兩個參數, 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.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值