Lets Learn together... Happy Reading

" Two roads diverged in a wood, and I,
I took the one less traveled by,
And that has made all the difference "-Robert Frost

Image Sharpening using second order derivative –(Laplacian)


Prerequisite: Read EdgeDetection- fundamentals

The derivative operator Laplacian for an Image is defined as



For X-direction,

For Y-direction,


By substituting, Equations in Fig.B and Fig.C in Fig.A, we obtain the following equation







The equation  represented in terms of Mask:
0
1
0
1
-4
1
0
1
0

When the diagonals also considered then the equation becomes,



The Mask representation of the above equation,
1
1
1
1
-8
1
1
1
1

Now let’s discuss further how image sharpening is done using Laplacian.

Equation:
Where f(x,y)  is the input image
              g(x,y) is the sharpened image and
               c= -1 for the above mentioned filter masks.(fig.D and fig.E)

MATLAB CODE:

%Input Image
A=imread('coins.png');
figure,imshow(A);



%Preallocate the matrices with zeros
I1=A;
I=zeros(size(A));
I2=zeros(size(A));

%Filter Masks
F1=[0 1 0;1 -4 1; 0 1 0];
F2=[1 1 1;1 -8 1; 1 1 1];

%Padarray with zeros
A=padarray(A,[1,1]);
A=double(A);

%Implementation of the equation in Fig.D
for i=1:size(A,1)-2
    for j=1:size(A,2)-2
       
        I(i,j)=sum(sum(F1.*A(i:i+2,j:j+2)));
       
    end
end

I=uint8(I);
figure,imshow(I);title('Filtered Image');









The Laplacian derivative equation has produced grayish edge lines and other areas are made dark(background)

%Sharpenend Image
%Refer Equation in Fig.F
B=I1-I;
figure,imshow(B);title('Sharpened Image');




The Filter Image is combined with the Original input image thus the background is preserved and the sharpened image is obtained .



For a Filter Mask that includes Diagonal,


1
1
1
1
-8
1
1
1
1

Filtered Image:


Sharpened Image:



like button Like "IMAGE PROCESSING" page

6 comments:

Unknown said... Reply to comment

i dnt have computer vision toolbox in my matlab,without that vision cascade object detector is not possible,what can i do?

Unknown said... Reply to comment

what about
I(i,j)=sum(sum(F1.*A(i:i+2,j:j+2)));

Unknown said... Reply to comment

hey i want php code for Image Sharpening using second order derivative Laplacian transform...
I have a project on image mining..to detect the difference between two images, i ant to use the edge detection technique...so i want php code fot this image sharpening...
kindly help me

Hazayan said... Reply to comment

Hello.
Can you tell me why I get this error every time I run this.

Subscript indices must either be real positive integers or logicals.

Anonymous said... Reply to comment

Aoa

in second order derivation code does not work.nd not display resultant image.plz anyone guide me

Clipping Path Adept said... Reply to comment

It is really good Image Processing

Enjoyed Reading? Share Your Views

Previous Post Next Post Home
Google ping Hypersmash.com