MATLAB Answers

Removing unwanted components in a binary image?

1 view (last 30 days)
Srinidhi Gorityala
Srinidhi Gorityala on 16 Feb 2020
Commented: KALYAN ACHARJYA on 17 Feb 2020
Heloo... am working on pothole images. Below is the binary image of pothole attached and i wanted to remove the unwanted components sorrounding the pothole and i want only the pothole image as the output without any unwanted areas, could anyone help me?
thanks in advance...:)

  2 Comments

KALYAN ACHARJYA
KALYAN ACHARJYA on 16 Feb 2020
Can you point out pothole in the image? Use paint or any
Srinidhi Gorityala
Srinidhi Gorityala on 16 Feb 2020
Thanks for responding @KALYAN ACHARJYA.. The highlighted one is the pothole image and remaining are the cracks on the road.

Sign in to comment.

Answers (2)

KALYAN ACHARJYA
KALYAN ACHARJYA on 16 Feb 2020
Edited: KALYAN ACHARJYA on 16 Feb 2020
BW=bwareafilt(bw_im,1);
result=bw_im-BW;
imshow(result);
If you are more interested to control the small area objects use this function

  2 Comments

Srinidhi Gorityala
Srinidhi Gorityala on 16 Feb 2020
@KALYAN ACHARJYA... i have used the below code by using bwareopen and my output seems to be the attached image but i wanted to remove the highlighted ones because those are cracks on the road. The below color image is the original pothole image.
thankyou...
original image
KALYAN ACHARJYA
KALYAN ACHARJYA on 17 Feb 2020
Apply imclose on the resultant binary image with proper structuring element objects

Sign in to comment.


Image Analyst
Image Analyst on 16 Feb 2020
You need to define what you want. For example, do you want just the largest blob with bwareafilt(bw, 1)? Or blobs larger than a certain area with bwareaopen(bw, someArea)? Do you want to fill holes with imfill(bw, 'holes')? Also you should make sure your initial segmentation gives the pothole(s) as white, not black, since binary operations are done on true/white/1 valued pixels, not false/black/0 valued objects.

  0 Comments

Sign in to comment.

Sign in to answer this question.