How do I go about generating a colormap from a matlab file containing RGB values
    조회 수: 5 (최근 30일)
  
       이전 댓글 표시
    
Hi all !
I'm really stuck on a problem I would appreciate help with :
I have a matlab file containing 359 variables where each variable consists of a 360 x 3 matrix of double RGB values . For example , variable 1 looks like this :
1 1    1
1 1    1
1 1    1
1 1    1
1 0.73 1
1 0.76 1 
.
.
.
.
.
and so on until row 360 .
My question is how can I go about loading these values into a matrix from which I can generate a colormap?
I have loaded values from a structure into a matrix and represented it as a colormap pretty easily before but my issue here is that I have three RGB values for each row and I don't know how to 'combine' them to get a number which represents a color (if it is even necessary for me to do that).
Many thanks in advance !
Saba
댓글 수: 0
채택된 답변
  Walter Roberson
      
      
 2016년 5월 13일
        cmap = unique(YourArray, 'rows');
or, better,
cmap = uniquetol(YourArray, 1, 'ByRows', true, 'DataScale', 0.004);
cmap is now your colormap.
댓글 수: 3
  Walter Roberson
      
      
 2016년 5월 16일
				0.004 is slightly less than 1/255. I was aiming to have a change of less than 1/255 be recognized as being the same color.
추가 답변 (1개)
  Image Analyst
      
      
 2016년 5월 13일
        Use the colormap() function after you've displayed your grayscale or indexed image
imshow(grayImage);
colormap(variable1); % variable1 is a 360 by 1 colormap matrix.
colorbar; % Show a colored ramp showing what intensities map to what RGB color.
댓글 수: 2
  Image Analyst
      
      
 2016년 5월 14일
				You said you have "a 360 x 3 matrix of double RGB values" - well, that is the exact format that a colormap would take. Is the matrix not a colormap? If no, then what is it?
참고 항목
카테고리
				Help Center 및 File Exchange에서 Color and Styling에 대해 자세히 알아보기
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


