How can I identify/Detect regions in grayscale image with thin border?

Hi All, Am working on a problem where I wish to extract regions in the image below.
Objective: - Identify every region. - Calculate the Area and related parameters.
What I have done?
  • Read image and convert to Grayscale
[MainImg, MainImg_Map] = imread('MainImg');
GrayImg = ind2gray(MainImg,MainImg_Map); #Convert to Gray
  • Detect Edges
FindEdge_Sobel = edge(GrayImg, 'sobel');
  • Create structuring element to make borders more visible
se1 = strel('line',3, 90);
se0 = strel('line',3, 0);
  • Dilate the Image objects
ImgDill = imdilate(FindEdge_Sobel ,[se1 se0]);
  • Result:
MORE QUESTIONS: > How to set foreground and Background for the image? > How I can make those border to enclose region as in Original Image?

Answers (1)

Have a look on regionprops

1 Comment

Hey Thanks, I tried that earlier. Below is the Output. Red *'s are Center of the object, measured using 'Centeroid'
Am trying to use couple of Morphological operations on the image. What do you think?

Sign in to comment.

Categories

Products

Release

R2015a

Asked:

on 21 Aug 2018

Reopened:

on 22 Dec 2018

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!