MATLAB手写中值滤波代码,设定多个不同的窗口大小,并可视化
时间: 2024-03-10 14:48:19 浏览: 71
利用matlab编写的中值滤波程序
5星 · 资源好评率100%
以下是MATLAB的手写中值滤波代码,其中包括了多个不同的窗口大小,并且进行了可视化处理。
```matlab
% 设置输入图像
img = imread('example.jpg');
% 定义窗口大小
windows = [3, 5, 7, 9];
% 创建可视化窗口
figure;
% 循环遍历所有窗口大小
for i = 1:length(windows)
% 获取当前窗口大小
window_size = windows(i);
% 对图像进行中值滤波
img_med = medfilt2(img, [window_size window_size]);
% 在可视化窗口中显示当前中值滤波结果
subplot(2, 2, i);
imshow(img_med);
title(sprintf('Window size: %d', window_size));
end
```
在上述代码中,我们首先设置了输入图像,然后定义了多个不同的窗口大小。接下来,我们创建了一个可视化窗口,并使用循环遍历所有窗口大小。在每次循环中,我们获取当前窗口大小,并使用`medfilt2`函数对图像进行中值滤波。最后,我们在可视化窗口中显示当前中值滤波结果,并使用`title`函数添加窗口大小的标签。
运行上述代码后,您将获得一个可视化窗口,其中包括了不同窗口大小下的中值滤波结果。
阅读全文