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

2 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;

More Answers (1)

Image Analyst
Image Analyst on 3 Jan 2021
If you want to see my kmeans demo for RGB images, see attached.

Categories

Find more on Agriculture in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!