图像增强(拉普拉斯锐化增强)

图1为原图像,图2为拉普拉斯模板滤波器模板和带有对角项的公式的扩展模板进行处理以及锐化后的图像,图3为实践常用拉普拉斯模板1和模板2进行图像处理以及锐化后的图像。

对图像经过拉普拉斯滤波后,可以得到图像的边缘,再用原图减去模糊图像得出模板后再加到原图上去,可以得到锐化增强的效果。可以看出用第二个模板的锐化效果更好,这是因为第二个模板处于中心位置的像素所乘的值的绝对值更大。锐化后的图像的细节部分会得到增强,同时也会很好的保留图像的背景色调。

由图2可以看出,图像经过拉普拉斯滤波器模板后,图像的清晰度明显提升,细节部分得到了增强,使用带有对角项的公式的扩展模板进行处理后,在对角方向上产生了额外的区别(锐化),可以看出使用带有对角项的公式的扩展模板的处理效果更好,锐化后的图像的细节部分会得到更大地增强。

图3也可以看出,原图像经过拉普拉斯处理后,增强了图像中灰度突变处地对比度,图像地细节部分得到了增强,很好地表现出原图像所要呈现的效果。

图像增强(拉普拉斯锐化增强)_第1张图片

图1 

图像增强(拉普拉斯锐化增强)_第2张图片

图2 

图像增强(拉普拉斯锐化增强)_第3张图片

图3 

程序代码如下:

clc        %清除命令窗口的内容
close all  %关闭所有的Figure窗口
clear all  %清除工作空间的所有变量

%% 实现拉普拉斯图像锐化增强技术
A=imread('Fig.3.38(a).tif');
figure;
imshow(A);
title('Fig.3.38(a)原图像');
B=[0 -1 0;-1 4 -1;0 -1 0];
C=[1 1 1;1 -8 1;1 1 1];
D=[0 -1 0;-1 4 -1;0 -1 0];
E=[-1 -1 -1;-1 8 -1;-1 -1 -1];
b=smoothfilter(A,B);
enhance1=im2double(A)+im2double(A)+b;
figure;
subplot(2,2,1),imshow(b),title('拉普拉斯模板滤波器模板');
subplot(2,2,2),imshow(enhance1),title('模板锐化后');
c=smoothfilter(A,C);
enhance2=im2double(A)+im2double(A)+c;
subplot(2,2,3),imshow(c),title('带有对角项的公式的扩展模板');
subplot(2,2,4),imshow(enhance2),title('模板锐化后');
d=smoothfilter(A,D);
enhance3=im2double(A)+im2double(A)+d;
figure;
subplot(2,2,1),imshow(d),title('实践常用拉普拉斯模板1');
subplot(2,2,2),imshow(enhance3),title('模板锐化后');
e=smoothfilter(A,E);
enhance4=im2double(A)+im2double(A)+e;
subplot(2,2,3),imshow(e),title('实践常用拉普拉斯模板2');
subplot(2,2,4),imshow(enhance4),title('模板锐化后');


你可能感兴趣的:(matlab)