Segmentation of grayscale image for object with intensity overlapping with that of background

I have a grayscale image, in which I am to separate out the objects whose intensity range overlaps with background and other objects in an image. Can you please help me out?
Which commands should I use and which approach should I adopt to get binary image which required objects marked as 1s and rest as 0s?

1 个评论

Could you post the image online so folks here can have a look? Can you say more about the nature of these 'object', maybe you can exploit some specific feature of these objects to segment them.

请先登录,再进行评论。

回答(2 个)

If the intensity overlaps but the sizes of the high-intensity blobs is different between the part that is wanted or not wanted, then you have a couple of possibilities. Possibly the easier of them would be to threshold the image, imlabel, regionprops, then go through the region statistics and discard the blobs that are too small to be of interest. put the remaining labels in a vector, and ismember(LabeledImage, WantedRegions) to get the binary image with wanted places as l's.
for example if u have .ima file the process is..
I1=dicomread('filename');
I2=imadjust(I1);
I3=im2bw(I2,0.7);
imshow(I3,[])
the 0.7 is the threshold which can be varied from 0:0.1:1 .try this out..if u have .jpg image use imread.

类别

帮助中心File Exchange 中查找有关 Image Processing Toolbox 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by