Assigning word to different colour

Asked by kash on 31 Aug 2012
Latest activity Commented on by kash on 1 Sep 2012

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

kash on 31 Aug 2012

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 on 31 Aug 2012

The output of idx is not colors, it is cluster numbers.

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?

kash

1 Answer

Answer by Walter Roberson on 31 Aug 2012
cluster_letter = char('A' + idx - 1);

1 Comment

kash 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

Walter Roberson

Contact us