How to extract more objects after watershed segmentation

hello, i am trying to extract these two parts of tooth on this picture (penis and egg shapes). problem is that the tooth parts are surounded by bone, which is very similar to the tooth structure (similar intensity, eccentricity, perimeter, solidity). I am not able to find some parameter that is different with bone and tooth. Problem is that we have houndrends of images like this, where bone size / tooth size changes
should i try some filtering?
I am not able to succeed with regionprops.
Thank youwater_tooth.jpg

 Accepted Answer

There are several things you could try to extract those two regions only. It might be a multi-step process. I could do it easily for this image, though I'm not sure it would work for other images. For example you could use
binaryImage = labeledImage> 0;
binaryImage = bwareafilt(binaryImage, 2);
Or you could try asking for solidity and Euler number.
Attach your labeled image in a .mat file if you need more help.

4 Comments

is this what you meant with the labeledImage or it was something else? because this code over here doesnt work :(
segment = watershed(dist_map);
labeledImage8 = bwlabel(segment, 8);
binaryImage = labeledImage8> 0;
binaryImage = bwareafilt(binaryImage, 2)
%last functions takes the two bottom regions (black and white) as the 2 largest regionswrong tooth.jpg
Just attach your labeled image in a .mat file and I'll do it for you.
save('labeledImage8.mat', 'labeledImage8');
See attached.
0000 Screenshot.png
Note that your labeled image does seem to connect to another region so you might try to improve your segmentation algorithm.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!