fspecial在matlab中什么意思,Matlab中fspecial的用法 | 学步园

本文详细介绍了Matlab中fspecial函数的各种类型,如均值滤波、高斯滤波、拉普拉斯算子等,并展示了如何通过参数调整实现不同效果。实例演示了如何使用fspecial创建各种预定义滤波器矩阵,对于图像处理初学者和开发者来说是实用指南。
摘要由CSDN通过智能技术生成

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

h = fspecial(type)

h = fspecial(type,parameters,sigma)

参数type制定算子类型,parameters指定相应的参数,具体格式为:

type='average',为均值滤波,参数为n,代表模版尺寸,用向量表示,默认值为[3,3]。

type= 'gaussian',为高斯低通滤波器,参数有两个,n表示模版尺寸,默认值为[3,3],sigma表示滤波器的标准差,单位为像素,默认值为

0.5。

type= 'laplacian',为拉普拉斯算子,参数为alpha,用于控制拉普拉斯算子的形状,取值范围为[0,1],默认值为0.2。

type= 'log',为拉普拉斯高斯算子,参数有两个,n表示模版尺寸,默认值为[3,3],sigma为滤波器的标准差,单位为像素,默认值为0.5

type= 'prewitt',为prewitt算子,用于边缘增强,无参数。

type= 'sobel',为著名的sobel算子,用于边缘提取,无参数。

type= 'unsharp',为对比度增强滤波器,参数alpha用于控制滤波器的形状,范围为[0,1],默认值为0.2。

例子:

>> G=fspecial('gaussian',5)%参数为5,表示产生5*5的gaussian矩阵,如果没有,默认为3*3的矩阵。

G =

0.0000    0.0000    0.0002    0.0000    0.0000

0.0000    0.0113    0.0837    0.0113    0.0000

0.0002    0.0837    0.6187    0.0837    0.0002

0.0000    0.0113    0.0837    0.0113    0.0000

0.0000    0.0000    0.0002    0.0000    0.0000

>> G=fspecial('gaussian',5,1.5)%1.5为滤波器的标准差。

G =

0.0144    0.0281    0.0351    0.0281    0.0144

0.0281    0.0547    0.0683    0.0547    0.0281

0.0351    0.0683    0.0853    0.0683    0.0351

0.0281    0.0547    0.0683    0.0547    0.0281

0.0144    0.0281    0.0351    0.0281    0.0144

>>

>> G=fspecial('average')%默认为3*3的矩阵。均值滤波

G =

0.1111    0.1111    0.1111

0.1111    0.1111    0.1111

0.1111    0.1111    0.1111

>> G=fspecial('average',5)%会产生5*5的矩阵。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值