MATLAB: Less connected pixels should be removed from image

less connected pixel removal

here is a image having an object disk and a text so check the connectivty of pixels if the area having less connectivity should be removed like in this image text has less connecctivity so i have to remove the text

Best Answer

Your definition of 'less connected' is not clear to me. However, if you want just the big round component, you can use regionprops to find the largest component and remove the smaller components using bwareaopen.
Here's an example:
% read image and convert to binary.
im = imread('http://www.mathworks.com/matlabcentral/answers/uploaded_files/7873/fake.png');
bw = logical(rgb2gray(im));
% use regionprops to find area of all components.
cc = regionprops(bw,'Area');
% find area of largest component.
maxarea = max([cc.Area]);
% use bwareaopen to remove smaller components.
out = bwareaopen(bw,maxarea);
Hope this helps!
Related Question