我在matlab中有一个双矩阵,我想把它转换为HSV图像,据说相似的双值会出现相同的颜色。我已经用mat2gray转换为RGB,但我想直接从双矩阵转换为hsv图像。有可能吗?
由于
答案 0 :(得分: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
将是(row x col x 3)矩阵,您可以直接使用image
查看,或者从那里做任何您需要的其他内容。