how we can imfill a thing that it is very similar to a hole but in fact it is not a hole?

1 Ansicht (letzte 30 Tage)
how we can imfill a thing in an binary image that it is very similar to a hole but in fact it is not a hole?
I attached a simple image that in the left side there is a thing that looks like a hole but it is not a hole
  4 Kommentare
Sean de Wolski
Sean de Wolski am 25 Sep. 2014
Well there might be a better method than otsu; post the pre-otsu image
Image Analyst
Image Analyst am 25 Sep. 2014
Sean, it's been posted before. Unfortunately she's carrying on this discussion in 4 or 5 different discussions. Last I left it, I showed her how to use activecontour: http://www.mathworks.com/matlabcentral/answers/155374#comment_238290

Melden Sie sich an, um zu kommentieren.

Antworten (2)

Matt J
Matt J am 14 Sep. 2014
Bearbeitet: Matt J am 14 Sep. 2014
Use imclose either to seal it, or to turn it into a hole which can then be treated with imfill.
  3 Kommentare
sara
sara am 25 Sep. 2014
yes Matt
I tried this before but my result was not good ... thanks a lot
Matt J
Matt J am 25 Sep. 2014
You could also use regionprops or bwconncomp to separate the lungs in two separate images. Then you could imclose with the original strel that was working well. Then you recombine the images.
It would also be worth attaching the challenging black and white lung image in a .mat file, so that other people can play with it.

Melden Sie sich an, um zu kommentieren.


Image Analyst
Image Analyst am 14 Sep. 2014
Like I said in the discussion that was this first part of this question before you started this one, you can use activecontour(). See attached demo. If you can't figure how to adapt the demo, let me know. Either way, with imclose() or activecontour(), it will smooth out the perimeter and snip off that bay/incursion.
  11 Kommentare
Image Analyst
Image Analyst am 17 Sep. 2014
You can use imfreehand() to manually draw a line across it. Any other way will end up filling in or smoothing other little nooks and crannies at other places along the perimeter.
sara
sara am 24 Sep. 2014
thanks Image Analyst I cant do it manually... you said :"Any other way will end up filling in or smoothing other little nooks and crannies at other places along the perimeter" do you mean using imclose() or smoothing filter?? can you explain it more??
thanks a lot

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by