2016-07-24 1 views
0

동일한 플롯 (그림)에 일부 데이터를 플롯하기 위해 imagesc을 여러 번 사용하고 있습니다.imagesc를 사용하여 커서 정보 가져 오기

이러한 반복이 끝나면 나는 원하는 음모를 얻습니다. 나는 커서로 사용할 수있는 전체 정보를 얻을하려면 :

(see image here: plot and cursor info)

을하지만 특정 위치 (x,y)에 대한 정보를 얻을 싶지는 않지만 모든 정보를 포함하는 행렬을 얻을 : X, Y를 , 인덱스, r, g, b - 각 x, y에 대해. 즉, 전체 데이터를 포함하는 size(x) * size(y) * 4 행렬입니다.

그럴 수 있습니까?

+0

'size (x) * size (y) * 6'이 아닐까요? (x, y, 색인, 빨강, 초록, 파랑)? – Suever

+0

이 정보는 * multiple *'imagesc' 개체에서 왔습니까? – Suever

답변

0

저는 아주 가깝지만, 여전히 색상의 스케일링에 문제가 있습니다 ... 오늘 밤에 또 한번 살펴 보겠습니다.

% Create random image 
m=rand(180); 
im=imagesc(m); 

% Extract indices 
Index=im.CData'; 

% Get RGB colors 
cm=colormap; 
a = floor(Index'*length(cm)); 
RGB=permute(ind2rgb(uint16(a),cm),[2 1 3]); 

이것은 실제 RGB 값보다 약간 벗어나지 만 인덱스 값은 그림의 값과 일치합니다. CData를 ij 모드에서 xy 모드로 전환하기 위해 CData를 전 환했습니다.