matlab图像低通滤波和高通滤波的代码是啥
时间: 2024-05-05 15:20:37 浏览: 140
DFT的matlab源代码-Image-High-Pass-Filter-DFT-CUDA-:使用离散傅里叶变换的频域图像高通滤波
以下是 MATLAB 中实现图像低通滤波和高通滤波的代码:
1. 图像低通滤波:
```matlab
% 读取图像
img = imread('image.jpg');
% 转换为灰度图像
gray_img = rgb2gray(img);
% 定义低通滤波器
low_pass_filter = fspecial('average', [5 5]);
% 应用低通滤波器
filtered_img = imfilter(gray_img, low_pass_filter);
% 显示结果
imshow(filtered_img);
```
2. 图像高通滤波:
```matlab
% 读取图像
img = imread('image.jpg');
% 转换为灰度图像
gray_img = rgb2gray(img);
% 定义高通滤波器
high_pass_filter = fspecial('laplacian', 0.5);
% 应用高通滤波器
filtered_img = imfilter(gray_img, high_pass_filter);
% 显示结果
imshow(filtered_img);
```
其中,`fspecial` 函数用于创建滤波器,第一个参数表示滤波器类型,第二个参数表示滤波器大小。`imfilter` 函数用于将滤波器应用于图像。在这里,我们使用了 `average` 和 `laplacian` 两种滤波器类型,分别用于低通滤波和高通滤波。
阅读全文