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

4 次查看(过去 30 天)
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?

回答(1 个)

KSSV
KSSV 2018-8-21
Have a look on regionprops
  1 个评论
AMAR P
AMAR P 2018-8-21
编辑:AMAR P 2018-8-21
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?

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Image Segmentation and Analysis 的更多信息

产品


版本

R2015a

Community Treasure Hunt

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

Start Hunting!

Translated by