Fill the lines in the images

2 visualizaciones (últimos 30 días)
mustafa alnasser
mustafa alnasser el 1 de Oct. de 2015
Comentada: mustafa alnasser el 1 de Oct. de 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)

Respuestas (1)

Image Analyst
Image Analyst el 1 de Oct. de 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 comentario
mustafa alnasser
mustafa alnasser el 1 de Oct. de 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

Iniciar sesión para comentar.

Categorías

Más información sobre Image Processing and Computer Vision en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by