matlab中值滤波代码
时间: 2023-07-09 13:40:33 浏览: 92
以下是 MATLAB 中的基本值滤波代码:
```matlab
% 读取图像
I = imread('image.jpg');
% 定义滤波器大小
filter_size = 5;
% 创建平均滤波器
h = fspecial('average', filter_size);
% 对图像进行滤波
J = imfilter(I, h);
% 显示原始图像和滤波后的图像
figure;
subplot(1,2,1); imshow(I); title('Original Image');
subplot(1,2,2); imshow(J); title('Filtered Image');
```
在这里,我们使用 `imread` 函数读取图像,然后使用 `fspecial` 函数创建一个平均滤波器。`imfilter` 函数用滤波器对图像进行卷积,最终得到滤波后的图像。最后,我们使用 `subplot` 函数将原始图像和滤波后的图像显示在同一张图中。
相关问题
matlab 中值滤波代码
MATLAB 中可以使用 medfilt2 函数实现二维中值滤波,示例代码如下:
```matlab
% 读取图像
I = imread('lena.png');
% 添加椒盐噪声
J = imnoise(I, 'salt & pepper', 0.02);
% 中值滤波
K = medfilt2(J);
% 显示结果
subplot(1, 2, 1), imshow(J), title('添加噪声的图像');
subplot(1, 2, 2), imshow(K), title('中值滤波后的图像');
```
上述代码中,首先读取一张图像并添加椒盐噪声,然后使用 medfilt2 函数进行中值滤波,最后显示原图和处理后的图像。其中,medfilt2 函数的参数可以指定滤波器的大小,例如:
```matlab
K = medfilt2(J, [3 3]); % 3x3 的滤波器
```
这将使用 3x3 的滤波器进行中值滤波。
matlab中值滤波函数代码
在Matlab中,可以使用“medfilt2()”函数来进行二维中值滤波。
语法:
B = medfilt2(A,[m n])
其中,A是输入的图像矩阵,B是经过中值滤波后的图像矩阵,[m n]是因子矩阵的大小。
函数操作步骤:
1.将因子矩形框选在源矩形上(默认情况下,因子矩形大小为3×3)。
2.从源矩阵中获取元素块,将其排序并返回中间值。
3.将中间值存储在输出图像矩阵中。
4.重复2-3步,直到处理完源矩形上的所有像素。
使用示例:
1.读取图像:
I = imread('cameraman.tif');
2.对图像进行中值滤波:
B = medfilt2(I,[3 3]);
3.显示原始图像和中值滤波后的图像:
subplot(1,2,1), imshow(I), title('原始图像');
subplot(1,2,2), imshow(B), title('中值滤波后的图像');
联系当地Matlab专业人员查询更多细节信息和建议。
阅读全文
相关推荐












