Assigning word to different colour

I have a code using k means
for k = 1:(length(dirlist))
img = imread([pathname, dirlist(k).name]);
flatImg = double(reshape(img,size(img,1)*size(img,2),size(img,3)));
idx = kmeans(flatImg,3);
end
I have around 20 images ,I have specified k=3,so for each colour i need to specify a word such as A,B,C
please tell how toprocess

5 件のコメント

Walter Roberson
Walter Roberson 2012 年 8 月 31 日
What "word" are you referring to in your question, that is to be assigned a different color?
kash
kash 2012 年 8 月 31 日
words aor letters such as
A for one colour
B for another colour
C for another colour
kash
kash 2012 年 8 月 31 日
for example the output of idx will consists of 1's,2's,3's
so want to assign A for 1
B for 2
C for 3
Walter Roberson
Walter Roberson 2012 年 8 月 31 日
The output of idx is not colors, it is cluster numbers.
Image Analyst
Image Analyst 2012 年 8 月 31 日
Why do you want to do this? Why not just turn it back into an image? What are you going to do with a character array?

回答 (1 件)

Walter Roberson
Walter Roberson 2012 年 8 月 31 日

0 投票

cluster_letter = char('A' + idx - 1);

1 件のコメント

kash
kash 2012 年 9 月 1 日
編集済み: Walter Roberson 2012 年 9 月 1 日
i did the following
for k = 1:(length(dirlist))
img = imread([pathname, dirlist(k).name]);
flatImg = double(reshape(img,size(img,1)*size(img,2),size(img,3)));
idx = kmeans(flatImg,3);
N{k}=(reshape(idx,size(img,1),size(img,2)))
cluster_letter = char('A' + idx - 1)
Ncluster{k}=(reshape(cluster_letter,size(img,1),size(img,2)))
end
i get the answer, but in variable editor i get all values in same cell ,i need each letter in each cell

この質問は閉じられています。

質問済み:

2012 年 8 月 31 日

閉鎖済み:

2021 年 8 月 20 日

Community Treasure Hunt

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

Start Hunting!

Translated by