Monday, September 5, 2011

Morphological Operations

Morphological operations are post processing done to binary images in order to extract information or remove unnecessary structures. In this activity, we discuss the different types of morphological operations that can be done in scilab.


Dilation

This morphological operation is a treatment that increases the surface area of the areas that have a value of 1. The dilation between set A and B is defined as the set of all z's which are translations of a reflected B that when intersected with A is not an empty set. That sound pretty complicated, and to my understanding, it means to use B to increase the surface area of A as seen below:



The red regions are the parts of A that overlap with B, while the yellow shaded region is the dilated part of the original structure. Note, however that this is only my understanding of the use of dilation. When I wrote a code for dilation what happened is this:

We can see that although it was correct for the most part, there have been some errors in my predictions. The most obvious error is when using either the cross or diagonal structuring element. In my predictions the corners of the dilated image would be chipped like a sawtooth. Instead what I obtain is a corner with only 1 pixel removed.


Erosion

Like an opposite to dilation erosion is used to decrease the the area of the regions with the value of 1. The erosion of sets A and B is defined as the set of all points z such that B translated by z is
contained in A. Erosion is designed such that the reduction in the area of A is defined by the structuring element B.

Unlike for dilation which I just covered the edge of the image with the structuring element, for erosion I chose an origin for the structuring element. This origin is then placed on each pixel of the image and if the whole structuring element is not inside the image, that pixel will be equal to zero. We would then obtain an eroded image as shown below:


Where the red regions are the eroded parts of the image. Writing the code for erosion we obtain these images:

Again, most of my predictions were correct however, if we look at the eroded images for the annulus and cross with the diagonal structuring element. the program obtained a different image. This may be due to my arbitrary assignment of the origin.

Thin/Skel

a) Original Image, b)Skel, c) Thin
Thin/ Skel are other morphological transforms that one can use using the SIP Tool in scilab.The Skel function "skeletonizes" the image by creating a hypothetical frame for the image. The thin function like its name says, thins the image. This is done eroding the borders of the image.

All in all it was an easy activity, however, I found drawing my predictions (the original plan) quite a hassle so I used paint for my predictions. For this activity I give myself an 8/10

No comments:

Post a Comment