How do we fill this kind of gap with Matlab (without changing the size of the object)?

4 vues (au cours des 30 derniers jours)
I need your help!
I have an image A (see below - left). Can you help me with a matlab function that can produce the image B (see below - right)
(A) (B)
Note that the below Matlab code does not work (since it works on holes inside a closed boundary of an object - which is not the case with image A where the boundary is open):
I = imread('');
B = imbinarize(I);
F = imfill(B,'holes');
figure, imshow(I), title('input')
figure, imshow(F), title('output')

Réponse acceptée

Matt J
Matt J le 25 Avr 2022
Modifié(e) : Matt J le 25 Avr 2022
We don't know thickness of the Image A veins in pixels (it's always good to attach your example images as .mat files), but whatever it is it would go in the appropriate place below.
B=imopen(B,strel('disk',vein_thickness))
  1 commentaire
Gobert
Gobert le 25 Avr 2022
Modifié(e) : Gobert le 25 Avr 2022
I have attached the images A and B. Thank you! It worked (when I used the thickness equals to 10 approx.)

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Images dans Help Center et File Exchange

Produits


Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by