matlab中值滤波去噪
时间: 2023-07-30 17:06:19 浏览: 112
MATLAB的图像中值滤波?_matlab_中值滤波_
5星 · 资源好评率100%
在MATLAB中,可以使用medfilt2函数来进行中值滤波去噪。该函数可以对图像进行二维中值滤波操作,其中第一个参数是需要进行处理的图像,第二个参数是中值滤波器的大小(通常是一个奇数),可以根据需要进行调整。
以下是一个示例代码,演示如何使用medfilt2函数进行中值滤波去噪:
```matlab
% 读取图像
img = imread('lena.png');
% 添加高斯噪声
noisyImg = imnoise(img, 'gaussian', 0.05);
% 中值滤波去噪
filteredImg = medfilt2(noisyImg, [3 3]);
% 显示结果
subplot(1,3,1), imshow(img), title('Original Image');
subplot(1,3,2), imshow(noisyImg), title('Noisy Image');
subplot(1,3,3), imshow(filteredImg), title('Filtered Image');
```
在这个例子中,我们首先读取了一张图像,然后使用imnoise函数添加了高斯噪声。接着,我们使用medfilt2函数对加噪后的图像进行中值滤波去噪。最后,我们使用subplot和imshow函数将原始图像、加噪图像和去噪后的图像显示在同一幅图像中,方便比较效果。
阅读全文