how to fill the cells?

i want to fill the cells so i used the function "imfill" but because the borders of the cells not completed 100%, not all the cells filled.
A = imread("ניסוי1 חתוך.tif","tif");
A=rgb2gray(A);
t = 0.64;
BW1 = imbinarize(A,t);
BW2 = bwareaopen(BW1,50);
BW3 = medfilt2(BW2);
BW4 = imfill(BW3,'holes');
figure; imshow(BW4); title("after");
in the file there a pic that summrize what i mean.

Answers (1)

Hi Sarah. You can try using the "morphological close" operation to close the cells before filling. You may need to experiment with the size of the structuring element for your use case.
A = imread("ניסוי1 חתוך.tif","tif");
A=rgb2gray(A);
t = 0.64;
BW1 = imbinarize(A,t);
BW2 = bwareaopen(BW1,50);
BW3 = medfilt2(BW2);
se = strel('disk',20);
BW4 = imclose(BW3,se);
BW5 = imfill(BW4,'holes');
figure; imshow(BW5); title("after");

Categories

Tags

Asked:

on 5 Nov 2021

Answered:

on 17 Nov 2021

Community Treasure Hunt

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

Start Hunting!