MATLAB Answers

How can i understand the meaning of "colors(rgb_label ~= k) = 0;" code meaning?

4 views (last 30 days)
In this code, nColor =3;
"I" is a 768x1024x3 matrix.
rgb_label is a 768x1024x3 matrix that containt just "1","2","3" values of k means applied of "I" matrix. But i never understand what does
colors(rgb_label ~= k) = 0; code do?
------------------------------------------------------------
for k = 1:nColors
colors = I;
colors(rgb_label ~= k) = 0; %%%meaning???
segmented_images{k} = colors;
end
------------------------------------------------------------

Accepted Answer

Mario Malic
Mario Malic on 3 Jan 2021
Edited: Mario Malic on 3 Jan 2021
Hi,
Line below returns the logical array for the condition: rgb_label is not equal to k
rgb_label ~= k
Line below takes that same logical array and assigns 0 to those elements of colors for which above condition is true.
colors(rgb_label ~= k) = 0;

Community Treasure Hunt

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

Start Hunting!