How to apply a function (some processing steps) only on a specific part of an image in MATLAB?

StackOverflow https://stackoverflow.com/questions/20665722

Pergunta

I have an image X(m by n) and it is sent to a segmentation process. The new image, Y(m by n), contains 9 segments. However, the segments are some random shapes (I mean, they are not square or rectangular).

Now I need to apply other algorithms separately on each segment. Noting that the segments are non-square or non-rectangular, I cannot use techniques such as BlockProc.

How can I read each segment separately and then apply a specific process only on that segment? Thank you very much.

Foi útil?

Solução

You can use

Props=regionprops(YourBinaryImage, 'Image');

Then retrieve a cell of the individual objects with Props.Image Then apply the function of your choice to each object using cellfun, for example.

Hope it helps.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top