MATLAB: Thin the boundary of objects of black & white images

image segmentation

I have a black and white image consists of very simple geometric shapes. the boundaries of the shapes are very thick. i want to thin them and skel. how can i do it?

Best Answer

  • Use imerode.
    From Matlab documentation:
    IM2 = imerode(IM,SE) erodes the grayscale, binary, or packed binary image IM, returning the eroded image IM2. The argument SE is a structuring element object or array of structuring element objects returned by the strel function.
    Erode a binary image with a disk structuring element.
    originalBW = imread('circles.png');
    se = strel('disk',11);
    erodedBW = imerode(originalBW,se);
    imshow(originalBW), figure, imshow(erodedBW)