用卷积运算实现图像的平滑和锐化matlab
时间: 2023-11-26 10:05:42 浏览: 89
图像平滑与锐化
使用卷积运算实现图像平滑和锐化的 Matlab 代码如下:
1. 图像平滑
```matlab
% 读入图像
img = imread('lena.jpg');
% 定义平滑滤波器
h = fspecial('average', [3 3]);
% 进行卷积运算
img_smooth = imfilter(img, h);
% 显示结果
figure;
subplot(1, 2, 1);
imshow(img);
title('原始图像');
subplot(1, 2, 2);
imshow(img_smooth);
title('平滑后的图像');
```
2. 图像锐化
```matlab
% 读入图像
img = imread('lena.jpg');
% 定义锐化滤波器
h = fspecial('unsharp');
% 进行卷积运算
img_sharp = imfilter(img, h);
% 显示结果
figure;
subplot(1, 2, 1);
imshow(img);
title('原始图像');
subplot(1, 2, 2);
imshow(img_sharp);
title('锐化后的图像');
```
其中,`fspecial` 函数用于生成特定类型的滤波器,`imfilter` 函数用于进行卷积运算。在平滑滤波器中,我们使用的是平均滤波器,而在锐化滤波器中,我们使用的是 unsharp 滤波器。可以根据需求选择不同类型的滤波器。
阅读全文