MATLAB: How can i understand the meaning of “colors(rgb_label ~= k) = 0;” code meaning

image processing for leaf disease feauture extractionMATLAB

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
————————————————————

Best Answer

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;
Related Question