Fill the lines in the images

1 vue (au cours des 30 derniers jours)
mustafa alnasser
mustafa alnasser le 1 Oct 2015
Dear All;
I have a line among the image and i have tried to fill using imfill but I could not do it , any idea to fill this image (attached)

Réponses (1)

Image Analyst
Image Analyst le 1 Oct 2015
Draw lines down the edges then call imfill, then erase the lines
row1 = find(binaryImage(:, 1), 1, 'first');
row2 = find(binaryImage(:, 1), 1, 'end');
row3 = find(binaryImage(:, end), 1, 'first');
row4 = find(binaryImage(:, end), 1, 'end');
% Seal edges
binaryImage(:, 1) = true;
binaryImage(:, end) = true;
% Fill in the line.
binaryImage = imfill(binaryImage, 'holes');
% Erase temporary lines on edges that we made.
binaryImage(:, 1) = false;
binaryImage(:, end) = false;
% Fill in left and right edges.
binaryImage(row1:row2, 1) = true;
binaryImage(row3:row4, end) = true;
  1 commentaire
mustafa alnasser
mustafa alnasser le 1 Oct 2015
Thank your for help . However, The image becomes completely white with method.
I have tried bwareaopen , it works but if the the area sized that needs to be filled is very large

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by