Finding/calculating area after edge detection

5 次查看(过去 30 天)
Hi, I am a new MATLAB user. I am working on this image . The objectives are: a) to separate/detect the droplets and ligaments, b) find out dimensions (centre, area, diameter for drops, length for ligaments) of drops and ligaments. To simplify, I am currently working on the drops only. I am done with the detection of drops.
I = imread('test_17.tif');
figure, imshow(I)
bw1 = im2bw(I, graythresh(I));
figure, imshow(bw1)
D = -bwdist(~bw1);
figure, imshow(D,[])
Ld = watershed(D);
figure, imshow(label2rgb(Ld))
bw4 = bw1;
bw4(Ld == 0) = 0;
figure, imshow(bw4)
mask = imextendedmin(D,2);
figure, imshowpair(bw1,mask,'blend')
D2 = imimposemin(D,mask);
Ld2 = watershed(D2);
bw5 = bw1;
bw5(Ld2 == 0) = 0;
figure, imshow(bw5)
bw6 = edge(bw5,'log'); %detect edges with Laplacian of Gaussian
figure, imshow(bw6)
bw7 = imfill(bw6,'holes');
figure, imshow(bw7)
Now, I am stuck with finding out the centres, areas and diameters of the all the drops. Also, any other suggestion to improve the code is welcome.

采纳的回答

AMAR P
AMAR P 2018-9-25
编辑:AMAR P 2018-9-25
Hi, Use below function, available in Image Processing Toolbox
regionprops()
to find the objects and their properties in the image.

更多回答(0 个)

类别

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

产品


版本

R2016b

Community Treasure Hunt

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

Start Hunting!

Translated by