MATLAB 中值滤波程序
时间: 2023-10-19 22:07:54 浏览: 44
MATLAB 中的中值滤波可以使用 `medfilt2` 函数来实现。该函数的语法如下:
```matlab
B = medfilt2(A, [m n])
```
其中,`A` 是需要进行中值滤波的图像,`[m n]` 是滤波器的大小(即窗口大小),`B` 是滤波后的图像。
例如,下面的代码演示了如何对一张图像进行中值滤波:
```matlab
% 读入图像
I = imread('lena.jpg');
% 显示原图
subplot(1, 2, 1);
imshow(I);
title('Original Image');
% 对图像进行中值滤波
J = medfilt2(I, [5 5]);
% 显示滤波后的图像
subplot(1, 2, 2);
imshow(J);
title('Filtered Image');
```
其中,`[5 5]` 表示滤波器的大小为 $5 \times 5$。
需要注意的是,中值滤波可以有效地去除图像中的椒盐噪声和斑点噪声,但会导致图像细节的损失。因此,在进行中值滤波时,需要根据需要选择合适的滤波器大小。
相关问题
matlab中值滤波程序
以下是一个简单的 MATLAB 中的值滤波程序:
```Matlab
function img_filtered = my_median_filter(img, mask_size)
% img: 输入图像
% mask_size: 模板尺寸
% img_filtered: 经过中值滤波后的图像
% 转换为灰度图像
if size(img, 3) == 3
img = rgb2gray(img);
end
% 补零操作
border_size = floor(mask_size / 2);
img = padarray(img, [border_size border_size], 'symmetric');
% 初始化输出图像
img_filtered = zeros(size(img));
% 遍历图像
for y = 1 + border_size : size(img, 1) - border_size
for x = 1 + border_size : size(img, 2) - border_size
% 提取当前像素的局部区域
local_region = img(y - border_size : y + border_size, x - border_size : x + border_size);
% 对局部区域进行排序,并取其中位数作为当前像素的输出值
img_filtered(y, x) = median(local_region(:));
end
end
% 去除补零操作产生的边缘效应
img_filtered = img_filtered(1 + border_size : end - border_size, 1 + border_size : end - border_size);
end
```
调用方式:
```Matlab
img = imread('lena.png');
img_filtered = my_median_filter(img, 3);
```
其中, `img` 是需要滤波的图像,`mask_size` 是模板大小(必须是奇数)。函数返回经过中值滤波后的图像 `img_filtered`。
matlab中值滤波 波浪
中值滤波是一种常用的图像处理方法,用于去除图像中的噪声。在MATLAB中,可以使用medfilt2函数来实现中值滤波。
下面是一个示例代码,演示了如何在MATLAB中使用中值滤波对图像进行平滑处理:
```matlab
% 读取图像
img = imread('wave.png');
% 将图像转换为灰度图像
gray_img = rgb2gray(img);
% 对灰度图像进行中值滤波
filtered_img = medfilt2(gray_img);
% 显示原始图像和滤波后的图像
subplot(1,2,1);
imshow(gray_img);
title('原始图像');
subplot(1,2,2);
imshow(filtered_img);
title('中值滤波后的图像');
```
上述代码中,首先使用imread函数读取图像,然后使用rgb2gray函数将图像转换为灰度图像。接下来,使用medfilt2函数对灰度图像进行中值滤波处理。最后,使用subplot和imshow函数将原始图像和滤波后的图像显示出来。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)