用 MATLAB 语言编程完成图像的一阶和二阶微分锐化
时间: 2024-05-08 11:17:18 浏览: 84
一阶微分锐化:
```matlab
clc;
clear all;
close all;
% 读取图像
I = imread('lena.jpg');
% 转成灰度图像
I = rgb2gray(I);
% 一阶微分锐化
h1 = [-1 0 1];
h2 = [-1; 0; 1];
I1 = imfilter(I,h1);
I2 = imfilter(I,h2);
I3 = sqrt(I1.^2+I2.^2);
% 显示图像
subplot(121), imshow(I), title('原图像');
subplot(122), imshow(I3), title('一阶微分锐化');
```
二阶微分锐化:
```matlab
clc;
clear all;
close all;
% 读取图像
I = imread('lena.jpg');
% 转成灰度图像
I = rgb2gray(I);
% 二阶微分锐化
h = [0 1 0; 1 -4 1; 0 1 0];
I4 = imfilter(I,h);
% 显示图像
subplot(121), imshow(I), title('原图像');
subplot(122), imshow(I4), title('二阶微分锐化');
```
阅读全文