How to remove small portion in an image?

2 views (last 30 days)
I am segmenting liver from CT data. Its 2d segmentation on multiple imaging. I trained my system using deep learning method. Now the results of segmentation are as follows...
I want to remove the circle parts from my image. I already tried bwareaopen() function from matlab. Using bwareaopen() function I got the whole image white. please help me.
Thanks
  2 Comments
KSSV
KSSV on 5 Jun 2017
If you have the locations of those highlighted images, cant you replace those pixel values with black?
Ahmad
Ahmad on 6 Jun 2017
I want to do automatically. sunkara manoj code working perfectly but now I need to smoothen the boundaries.

Sign in to comment.

Accepted Answer

sunkara manoj
sunkara manoj on 5 Jun 2017
the result is a binary image but the part is extracted.
if true
I=imread('liver.png');
im = imclearborder(im2bw(I));
im_fill = imfill(im, 'holes');
s = regionprops(im_fill, 'Area', 'PixelList');
[~,ind] = max([s.Area]);
pix = sub2ind(size(im), s(ind).PixelList(:,2), s(ind).PixelList(:,1));
out = zeros(size(im));
out(pix) = im(pix);
imshow(out); end
  3 Comments
KSSV
KSSV on 6 Jun 2017
How about using convexhull?
Ahmad
Ahmad on 10 Jun 2017
I never tried. I dont know the purpose of convex hull.

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!