matlab空间域滤波增强的实现
时间: 2023-07-13 16:04:58 浏览: 86
Matlab 实现图像空间滤波
5星 · 资源好评率100%
MATLAB中可以使用一些函数来实现空间域滤波增强,以下是其中一些常见的函数:
1. imread:读取图像文件;
2. imnoise:添加噪声;
3. imfilter:进行滤波;
4. imshow:显示图像。
下面是一个简单的空间域滤波增强的实现代码:
```matlab
% 读取图像
img = imread('lena.png');
% 添加高斯噪声
noisy_img = imnoise(img, 'gaussian', 0, 0.01);
% 中值滤波去噪
denoised_img = medfilt2(noisy_img);
% Sobel算子锐化
sobel_filter = [-1, -2, -1; 0, 0, 0; 1, 2, 1];
sharpened_img = imfilter(denoised_img, sobel_filter);
% 显示结果
subplot(1, 3, 1), imshow(img), title('原始图像');
subplot(1, 3, 2), imshow(noisy_img), title('添加高斯噪声');
subplot(1, 3, 3), imshow(sharpened_img), title('中值滤波去噪并Sobel算子锐化');
```
其中,使用 imnoise 函数添加高斯噪声,使用 medfilt2 函数进行中值滤波去噪,使用 imfilter 函数进行 Sobel 算子锐化。最后使用 subplot 和 imshow 函数将结果显示出来。
阅读全文