PROJECT 03-05
Enhancement Using theLaplacian
(a) Use theprograms developed in Projects 03-03 and 03-04 to implement the
Laplacian enhancement techniquedescribed in connection with Eq. (3.7-5). Use the
mask shown in Fig. 3.39(d).
(b) Duplicate the results in Fig.3.40. You will need to download Fig. 3.40(a).
方案1:
close all
f=imread('I:\ImagineProcessing\PROJECT\DIP3E_Original_Images_CH03\Fig0340(a)(dipxe_text).tif');
imshow(f),title('原图像');
w3=[1 1 1;1 -8 1;1 1 1];
g3=imfilter(f,w3,'replicate');
figure,imshow(g3),title('拉普拉斯滤波后图像');
im3=f-g3;figure,imshow(im3),title('增强后图像');%增强后图像
方案2:
close all
f=imread('I:\ImagineProcessing\PROJECT\DIP3E_Original_Images_CH03\Fig0340(a)(dipxe_text).tif');
figure,imshow(f),title('原图像');
mask = [-1,-1,-1;-1,8,-1;-1,-1,-1];
imf1 = myimfilter(f,mask);
figure,imshow(imf1),title('拉普拉斯滤波后图像');
imc = imadd(im2double(f),im2double(imf1));
imc = uint8(imc);
figure,imshow(imc),title('增强后图像');
% myimfilter函数
function imft = myimfilter(ima,mask)
%空间滤波
%输入参数为ima 、mask,输出参数为imft
imftt = double(ima);
[xs,ys] = size(ima);
imft = zeros(xs,ys);
for x = 2:xs-1
for y = 2:ys-1
imft(x,y)=imftt(x-1,y-1)*mask(1,1)+imftt(x-1,y)*mask(1,2)+imftt(x-1,y+1)*mask(1,3)... +imftt(x,y-1)*mask(2,1)+imftt(x,y)*mask(2,2)+imftt(x,y+1)*mask(2,3)... imftt(x+1,y-1)*mask(3,1)+imftt(x+1,y)*mask(3,2)+imftt(x+1,y+1)*mask(3,3);
end
end
return;