用matlab进行拉普拉斯滤波,[转载]matlab滤波技术及区域处理---线性滤波

数字图像处理中,通常用滤波的方法去除图像噪声,提高图像质量,突出图像特征。

线性滤波就是通过输入图像像素领域的加权平均得到输出图像的像素值。

1.创建预定义滤波器命令fspecial()

调用格式:h=fspecial(type);

h=fspecial(type,parameters);

其中,type为过滤器类型,parameters为可选参数。fspecial()函数用于生成预定义滤波器,并返回计算模块到矩阵h中。

type的取值可以为以下值:

'average':均值滤波器;

'disk':圆均值滤波器;

'gaussian':高斯低通滤波器;

'laplacian':2-D拉普拉斯算子;

'log':用于高斯滤波器的拉普拉斯算子;

'motion':运动滤波器;

'prewitt':Prewitt水平边缘检测滤波器;

'sobel':Sobel水平边缘检测滤波器;

'unsharp':unsharp对比增强滤波器;

通过parameters参数可以根据不同滤波器类型设置各个滤波器相应的属性,如h矩阵的大小等。

2.二维线性滤波函数filter2()

调用格式:Y=filter2(h,X);

Y=filter2(h,X,'shape');

其中,h为预定义滤波器生成的计算模块,X为原始图像数据矩阵,返回结果存储在矩阵Y中。

参数'shape',可以为以下3种:

'same':输出矩阵Y与X维数相同;

'valid':只输出相关部分,Y的维数小于X的维数;

'full':完整输出,Y的维数大于X的维数。

参数shape的默认值为same。

3.多维图像滤波函数imfilter()

调用格式:B=imfilter(A,h);

B=imfilter(A,h,OPTION1,OPTION2,...);

其中,A为原始图像数据矩阵,h为预定义滤波器生成的计算模块,OPTION1,OPTION2,...为可选参数,滤波计算后输出到矩阵B中。可选参数包括边界选项(X、‘symmetric’、‘replicate’、‘circular’)、输出维数选项(‘same’、‘full’)、相关与卷积选项(‘corr’、‘conv’)等。

你可能感兴趣的:(用matlab进行拉普拉斯滤波)