我在matlab中有一个双矩阵,我想将它转换为HSV图像,在那里假设相似的双值将以相同的颜色出现。我已经用mat2gray转换成RGB了,但我想直接从双矩阵转换成hsv图像。有可能吗?
谢谢
发布于 2012-03-29 00:26:59
你是在问你是否可以做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将是一个(行x列x 3)矩阵,你可以直接使用image来查看它,或者从那里做任何你需要做的事情。
https://stackoverflow.com/questions/9910953
复制相似问题