how to remove pixels =0 and apply it to segmentation

Hi everyone,
I want to segment images into objects, then remove pixels with values of 0, making sure the pixels=0 is not involved in the segmentation. I tried to remove pixels=0 before the segmentation, but it turns out not working. Is there any way to remove pixels=0 after segmentation and not show them in objects? Thank you for your help.

3 comentarios

To confirm: in the places that the pixels are "removed", you want whatever graphics object is underneath to show through?
Attach your image and tell us what you want to find or measure in it. And explain better exactly what "remove" means, keeping in mind that images must remain rectangular. Explain exactly what segmentation algorithm you're using to segment the image. Is it just simple thresholding or something more complicated?
Tian Tian
Tian Tian el 27 de En. de 2018
Editada: Walter Roberson el 28 de En. de 2018
Thank you for reminding me. "remove" here means to make pixels with grayscale values 0 to NaN, to make sure they are not involved in the segmented objects.
The segmentation algorithm that I am using is marker-based watershed segmentation. What I am confused is the code is only applicable for 8-bit images, not 32-bit which has NaN values. Here is the code for first step segmentation, and the figure of imsubtract(imadd(Itop, afm), Ibot) somehow doesn't work.
se = strel('disk', 20);
Itop = imtophat(afm, se);
Ibot = imbothat(afm, se);
figure, imshow(Itop, []), title('top-hat image');
figure, imshow(Ibot, []), title('bottom-hat image');
Ienhance = imsubtract(imadd(Itop, afm), Ibot);
figure, imshow(Ienhance), title('original + top-hat - bottom-hat');
Highly appreciated for any helps.

Iniciar sesión para comentar.

Respuestas (0)

Categorías

Preguntada:

el 25 de En. de 2018

Editada:

el 28 de En. de 2018

Community Treasure Hunt

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

Start Hunting!

Translated by