2012-03-28 3 views
0

Ich habe eine Doppel-Matrix in Matlab und ich möchte es in ein HSV-Bild konvertieren, wo angeblich ähnliche Doppelwerte mit der gleichen Farbe angezeigt werden. Ich habe bereits mit mat2gray in RGB konvertiert, möchte aber direkt von der Doppelmatrix in das HSV-Bild konvertieren. Ist es möglich?Konvertieren von Doppel-Matrix zu HSV in Matlab

Dank

Antwort

2

Sie fragen, ob Sie tun können, was image und imagesc tun. Ja, du kannst. Sie müssen nur in die 'hsv' Colormap interpolieren. Das folgende Code-Snippet veranschaulicht, wie das getan wird. Es nimmt an, dass Ihre Werte zwischen 0 und 1 skaliert sind; das kannst du aber leicht ändern.

im = [0 .5 1; .7 .6 .2; .9 .3 .4]; 
cm = colormap('hsv'); 
cdata = interp1(linspace(0,1,length(cm)),cm,im); 
figure;image(cdata) 

cdata wird eine (Zeile x col x 3) Matrix, die Sie image direkt um es zu sehen, benutzen können, oder tun, was Sie sonst noch von dort zu müssen.