matlab空间滤波函数代码
时间: 2023-08-14 15:05:20 浏览: 149
Matlab中有多种空间滤波函数,以下是其中两种的代码示例:
1. 中值滤波:可以使用medfilt2函数实现中值滤波,语法如下:
```
B = medfilt2(A)
```
其中,A为原始图像,B为经过中值滤波后的图像。
2. 高斯滤波:可以使用fspecial函数生成高斯滤波器,然后使用imfilter函数进行滤波,语法如下:
```
H = fspecial('gaussian', hsize, sigma)
B = imfilter(A, H)
```
其中,hsize为滤波器大小,sigma为高斯函数的标准差,A为原始图像,B为经过高斯滤波后的图像。
以下是一个示例代码,演示如何使用中值滤波和高斯滤波对图像进行滤波:
```
% 读取原始图像
I = imread('lena.jpg');
figure, imshow(I), title('原始图像')
% 中值滤波
I_med = medfilt2(I);
figure, imshow(I_med), title('中值滤波')
% 高斯滤波
hsize = [5 5];
sigma = 2;
H = fspecial('gaussian', hsize, sigma);
I_gauss = imfilter(I, H);
figure, imshow(I_gauss), title('高斯滤波')
```
运行代码后,将显示原始图像、中值滤波后的图像和高斯滤波后的图像。
阅读全文