Info

This question is closed. Reopen it to edit or answer.

Assigning word to different colour

1 view (last 30 days)
kash
kash on 31 Aug 2012
Closed: MATLAB Answer Bot on 20 Aug 2021
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 Comments
Walter Roberson
Walter Roberson on 31 Aug 2012
The output of idx is not colors, it is cluster numbers.
Image Analyst
Image Analyst on 31 Aug 2012
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?

Answers (1)

Walter Roberson
Walter Roberson on 31 Aug 2012
cluster_letter = char('A' + idx - 1);
  1 Comment
kash
kash on 1 Sep 2012
Edited: Walter Roberson on 1 Sep 2012
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

This question is closed.

Community Treasure Hunt

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

Start Hunting!