2012-03-28 7 views
0

У меня есть двойная матрица в matlab, и я хочу преобразовать ее в изображение HSV, где предположительно похожие двойные значения будут отображаться с одним и тем же цветом. Я уже конвертировал в RGB с mat2gray, но хочу преобразовать непосредственно из двойной матрицы в hsv-образ. Является ли это возможным?Преобразование двойной матрицы в HSV в Matlab

Благодаря

ответ

2

Вы спрашиваете, если вы можете делать то, что image и imagesc делать. Да, ты можешь. Вам просто нужно сделать интерполяцию в цветовой карте «hsv». Следующий фрагмент кода демонстрирует, как это сделать. Он предполагает, что ваши значения масштабируются между 0 и 1; вы можете легко изменить это.

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 будет (строка х цв х 3) матрицы, вы можете использовать image непосредственно видеть, или делать все, что еще нужно, чтобы оттуда.

Смежные вопросы